shared.h
来自「Linux下的类似softice的调试工具」· C头文件 代码 · 共 201 行
H
201 行
/****************************************************************************** * * PROJECT: pICE * $Source: /cvsroot/pice/pice/shared/shared.h,v $ * $Revision: 1.4 $ * $Date: 2003/06/18 21:58:16 $ * $Author: lightweave $ * $Name: $ * * $Log: shared.h,v $ * Revision 1.4 2003/06/18 21:58:16 lightweave * DEBUG and DEBUG_SERIAL added * * *****************************************************************************//*++Copyright (c) 1998-2001 Klaus P. GerlicherModule Name: shared.hAbstract: shared stuff between module and loaderEnvironment: LINUX 2.2.X Kernel mode onlyAuthor: Klaus P. GerlicherRevision History: 13-Nov-1999: created 15-Nov-2000: general cleanup of source filesCopyright notice: This file may be distributed under the terms of the GNU Public License.--*/#ifndef _SHARED_H#define _SHARED_H#ifdef LINUX#define PICE_IOCTL_MAGIC 'p'#define PICE_IOCTL_LOAD _IO(PICE_IOCTL_MAGIC,0)#define PICE_IOCTL_UNLOAD _IO(PICE_IOCTL_MAGIC,1)#define PICE_IOCTL_RELOAD _IO(PICE_IOCTL_MAGIC,2)#define PICE_IOCTL_BREAK _IO(PICE_IOCTL_MAGIC,3)#define PICE_IOCTL_STATUS _IO(PICE_IOCTL_MAGIC,4)typedef struct _DEBUGGER_STATUS_BLOCK{ ULONG Test;}DEBUGGER_STATUS_BLOCK,*PDEBUGGER_STATUS_BLOCK;#define MAGIC_ULONG( ch0, ch1, ch2, ch3 ) \ ( (ULONG)(UCHAR)(ch0) | \ ( (ULONG)(UCHAR)(ch1) << 8 ) | \ ( (ULONG)(UCHAR)(ch2) << 16 ) | \ ( (ULONG)(UCHAR)(ch3) << 24 ) )#define PICE_MAGIC MAGIC_ULONG('P','I','C','E')typedef struct _PICE_SYMBOLFILE_HEADER{ ULONG magic; char name[32]; ULONG ulOffsetToHeaders,ulSizeOfHeader; ULONG ulOffsetToGlobals,ulSizeOfGlobals; ULONG ulOffsetToGlobalsStrings,ulSizeOfGlobalsStrings; ULONG ulOffsetToStabs,ulSizeOfStabs; ULONG ulOffsetToStabsStrings,ulSizeOfStabsStrings; ULONG ulOffsetToSrcFiles,ulNumberOfSrcFiles;}PICE_SYMBOLFILE_HEADER;typedef struct _STAB_ENTRY{ unsigned long n_strx; unsigned char n_type; unsigned char n_other; unsigned short n_desc; unsigned long n_value;}STAB_ENTRY,*PSTAB_ENTRY;typedef struct _PICE_SYMBOLFILE_SOURCE{ char filename[256]; ULONG ulOffsetToNext;}PICE_SYMBOLFILE_SOURCE;#endif // LINUX///////////////////////////////////////////////////////////////////////////////////// serial stufftypedef struct _SERIAL_PACKET_HEADER{ ULONG packet_size; ULONG packet_header_chksum; ULONG packet_chksum;}SERIAL_PACKET_HEADER,*PSERIAL_PACKET_HEADER;typedef struct _SERIAL_PACKET{ SERIAL_PACKET_HEADER header; UCHAR data[1];}SERIAL_PACKET,*PSERIAL_PACKET;#define ACK (0)typedef enum _ECOLORS{ BLACK = 0, BLUE, GREEN, TURK, RED, VIOLET, BROWN, LTGRAY, GRAY, LTBLUE, LT_GREEN, LTTURK, LTRED, LTVIOLET, YELLOW, WHITE}ECOLORS;typedef struct _SERIAL_DATA_PACKET{ UCHAR type; UCHAR data[1];}SERIAL_DATA_PACKET,*PSERIAL_DATA_PACKET;#define PACKET_TYPE_CLRLINE (0)typedef struct _SERIAL_DATA_PACKET_CLRLINE{ UCHAR type; ECOLORS fgcol,bkcol; UCHAR line; UCHAR count;}SERIAL_DATA_PACKET_CLRLINE,*PSERIAL_DATA_PACKET_CLRLINE;#define PACKET_TYPE_PRINT (1)typedef struct _SERIAL_DATA_PACKET_PRINT{ UCHAR type; UCHAR x; UCHAR y; ECOLORS fgcol,bkcol; UCHAR string[1];}SERIAL_DATA_PACKET_PRINT,*PSERIAL_DATA_PACKET_PRINT;#define PACKET_TYPE_CONNECT (2)typedef struct _SERIAL_DATA_PACKET_CONNECT{ UCHAR type; UCHAR xsize,ysize;}SERIAL_DATA_PACKET_CONNECT,*PSERIAL_DATA_PACKET_CONNECT;#define PACKET_TYPE_CURSOR (3)typedef struct _SERIAL_DATA_PACKET_CURSOR{ UCHAR type; UCHAR state,x,y;}SERIAL_DATA_PACKET_CURSOR,*PSERIAL_DATA_PACKET_CURSOR;#define PACKET_TYPE_INVERTLINE (4)typedef struct _SERIAL_DATA_PACKET_INVERTLINE{ UCHAR type; UCHAR line;}SERIAL_DATA_PACKET_INVERTLINE,*PSERIAL_DATA_PACKET_INVERTLINE;#define PACKET_TYPE_POLL (5)typedef struct _SERIAL_DATA_PACKET_POLL{ UCHAR type; USHORT major_version,minor_version,build_number;}SERIAL_DATA_PACKET_POLL,*PSERIAL_DATA_PACKET_POLL;// END of serial stuff///////////////////////////////////////////////////////////////////////////////////#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?