3 Copyright (c) 1998-2001 Klaus P. Gerlicher
11 shared stuff between module and loader
28 15-Nov-2000: general cleanup of source files
30 10/20/2001: porting to reactos begins
34 This file may be distributed under the terms of the GNU Public License.
38 //#include <ddk/ntddk.h>
43 #define CTL_CODE(Dev, Func, Meth, Acc) ( ((Dev)<<16) | ((Acc)<<14) | ((Func)<<2) | (Meth))
44 // IOCTL Parameter buffering methods
45 #define METHOD_BUFFERED 0
46 #define METHOD_IN_DIRECT 1
47 #define METHOD_OUT_DIRECT 2
48 #define METHOD_NEITHER 3
50 // IOCTL File access type
51 #define FILE_ANY_ACCESS 0
52 #define FILE_READ_ACCESS 1
53 #define FILE_WRITE_ACCESS 2
56 // define custom device type
57 #define PICE_DEVICE_DEBUGGER 64787
59 #define PICE_IOCTL_LOAD CTL_CODE(PICE_DEVICE_DEBUGGER, 2049, METHOD_BUFFERED, FILE_ANY_ACCESS)
60 #define PICE_IOCTL_UNLOAD CTL_CODE(PICE_DEVICE_DEBUGGER, 2050, METHOD_BUFFERED, FILE_ANY_ACCESS)
61 #define PICE_IOCTL_RELOAD CTL_CODE(PICE_DEVICE_DEBUGGER, 2051, METHOD_BUFFERED, FILE_ANY_ACCESS)
62 #define PICE_IOCTL_BREAK CTL_CODE(PICE_DEVICE_DEBUGGER, 2052, METHOD_BUFFERED, FILE_ANY_ACCESS)
63 #define PICE_IOCTL_STATUS CTL_CODE(PICE_DEVICE_DEBUGGER, 2053, METHOD_BUFFERED, FILE_ANY_ACCESS)
66 typedef struct _DEBUGGER_STATUS_BLOCK
69 }DEBUGGER_STATUS_BLOCK,*PDEBUGGER_STATUS_BLOCK;
71 #define MAGIC_ULONG( ch0, ch1, ch2, ch3 ) \
72 ( (ULONG)(UCHAR)(ch0) | \
73 ( (ULONG)(UCHAR)(ch1) << 8 ) | \
74 ( (ULONG)(UCHAR)(ch2) << 16 ) | \
75 ( (ULONG)(UCHAR)(ch3) << 24 ) )
77 #define PICE_MAGIC MAGIC_ULONG('P','I','C','E')
79 #define DEBUG_MODULE_NAME_LEN 32
80 typedef struct _PICE_SYMBOLFILE_HEADER
83 WCHAR name[DEBUG_MODULE_NAME_LEN];
84 ULONG ulOffsetToHeaders,ulSizeOfHeader;
85 ULONG ulOffsetToGlobals,ulSizeOfGlobals;
86 ULONG ulOffsetToGlobalsStrings,ulSizeOfGlobalsStrings;
87 ULONG ulOffsetToStabs,ulSizeOfStabs;
88 ULONG ulOffsetToStabsStrings,ulSizeOfStabsStrings;
89 ULONG ulOffsetToSrcFiles,ulNumberOfSrcFiles;
90 }PICE_SYMBOLFILE_HEADER;
92 typedef struct _STAB_ENTRY
96 unsigned char n_other;
97 unsigned short n_desc;
98 unsigned long n_value;
99 }STAB_ENTRY,*PSTAB_ENTRY;
101 typedef struct _PICE_SYMBOLFILE_SOURCE
104 ULONG ulOffsetToNext;
105 }PICE_SYMBOLFILE_SOURCE;
111 ///////////////////////////////////////////////////////////////////////////////////
113 typedef struct _SERIAL_PACKET_HEADER
116 ULONG packet_header_chksum;
118 }SERIAL_PACKET_HEADER,*PSERIAL_PACKET_HEADER;
120 typedef struct _SERIAL_PACKET
122 SERIAL_PACKET_HEADER header;
124 }SERIAL_PACKET,*PSERIAL_PACKET;
128 typedef enum _ECOLORS
148 typedef struct _SERIAL_DATA_PACKET
152 }SERIAL_DATA_PACKET,*PSERIAL_DATA_PACKET;
154 #define PACKET_TYPE_CLRLINE (0)
155 typedef struct _SERIAL_DATA_PACKET_CLRLINE
160 }SERIAL_DATA_PACKET_CLRLINE,*PSERIAL_DATA_PACKET_CLRLINE;
162 #define PACKET_TYPE_PRINT (1)
163 typedef struct _SERIAL_DATA_PACKET_PRINT
170 }SERIAL_DATA_PACKET_PRINT,*PSERIAL_DATA_PACKET_PRINT;
172 #define PACKET_TYPE_CONNECT (2)
173 typedef struct _SERIAL_DATA_PACKET_CONNECT
177 }SERIAL_DATA_PACKET_CONNECT,*PSERIAL_DATA_PACKET_CONNECT;
179 #define PACKET_TYPE_CURSOR (3)
180 typedef struct _SERIAL_DATA_PACKET_CURSOR
184 }SERIAL_DATA_PACKET_CURSOR,*PSERIAL_DATA_PACKET_CURSOR;
186 #define PACKET_TYPE_INVERTLINE (4)
187 typedef struct _SERIAL_DATA_PACKET_INVERTLINE
191 }SERIAL_DATA_PACKET_INVERTLINE,*PSERIAL_DATA_PACKET_INVERTLINE;
193 #define PACKET_TYPE_POLL (5)
194 typedef struct _SERIAL_DATA_PACKET_POLL
197 USHORT major_version,minor_version,build_number;
198 }SERIAL_DATA_PACKET_POLL,*PSERIAL_DATA_PACKET_POLL;
200 // END of serial stuff
201 ///////////////////////////////////////////////////////////////////////////////////