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.
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 ///////////////////////////////////////////////////////////////////////////////////