📄 bsedev.mh
字号:
#define KBD_READ_WAIT 0x0000
#define KBD_READ_NOWAIT 0x8000
#define SHIFT_REPORT_MODE 1
#ifndef INCL_MOU
#define MOUSE_MOTION 0x0001
#define MOUSE_MOTION_WITH_BN1_DOWN 0x0002
#define MOUSE_BN1_DOWN 0x0004
#define MOUSE_MOTION_WITH_BN2_DOWN 0x0008
#define MOUSE_BN2_DOWN 0x0010
#define MOUSE_MOTION_WITH_BN3_DOWN 0x0020
#define MOUSE_BN3_DOWN 0x0040
#define MHK_BUTTON1 1
#define MHK_BUTTON2 2
#define MHK_BUTTON3 4
#define MOU_NOWAIT 0
#define MOU_WAIT 1
#endif
#define MHK_NO_HOTKEY 0
#define MOUSE_QUEUEBUSY 0x0001
#define MOUSE_BLOCKREAD 0x0002
#define MOUSE_FLUSH 0x0004
#define MOUSE_UNSUPPORTED_MODE 0x0008
#define MOUSE_DISABLED 0x0100
#define MOUSE_MICKEYS 0x0200
#define PRINTER_TIMEOUT 0x0001
#define PRINTER_IO_ERROR 0x0008
#define PRINTER_SELECTED 0x0010
#define PRINTER_OUT_OF_PAPER 0x0020
#define PRINTER_ACKNOWLEDGED 0x0040
#define PRINTER_NOT_BUSY 0x0080
#define READ_BANK 0
#define WRITE_BANK 1
#define MODE_TEXT 0
#define MODE_PLANAR 1
#define MODE_LINEAR 2
#define RIGHTSHIFT 0x0001
#define LEFTSHIFT 0x0002
#define CONTROL 0x0004
#define ALT 0x0008
#define SCROLLLOCK_ON 0x0010
#define NUMLOCK_ON 0x0020
#define CAPSLOCK_ON 0x0040
#define INSERT_ON 0x0080
#define LEFTCONTROL 0x0100
#define LEFTALT 0x0200
#define RIGHTCONTROL 0x0400
#define RIGHTALT 0x0800
#define SCROLLLOCK 0x1000
#define NUMLOCK 0x2000
#define CAPSLOCK 0x4000
#define SYSREQ 0x8000
#define DEVTYPE_48TPI 0
#define DEVTYPE_96TPI 1
#define DEVTYPE_35 2
#define DEVTYPE_8SD 3
#define DEVTYPE_8DD 4
#define DEVTYPE_FIXED 5
#define DEVTYPE_TAPE 6
#define DEVTYPE_UNKNOWN 7
#define SCREENDD_GETCURRENTBANK 0x00
#define SCREENDD_SETCURRENTBANK 0x01
#define SCREENDD_SVGA_ID 0x08
#define SCREENDD_SVGA_OEM 0x09
#define SCREENDD_UPDATEMEMORY 0x0A
#define SCREENDD_GETLINEARACCESS 0x0B
#define SCREENDD_GETGLOBALACCESS 0x0C
#define SCREENDD_FREEGLOBALACCESS 0x0D
#define SCREENDD_REGISTER_RING0_CALLER 0x0E
#define SCREENDD_WAIT_ON_RING0_CALLER 0x0F
#define SCREENDD_SVGA_APM 0x10
#define SCREENDD_GET_CS_ALIAS 0x11
#define APM_RESUME 1
#define APM_SUSPEND 2
#define APM_DISABLED 4
#define SCREENDD_CATEGORY 0x80
#define SCREENDD_NAME "SCREEN$"
#define GETLINEAR_FLAG_MAPPHYSICAL 0x00000010
#define GETLINEAR_FLAG_MAPPROCESS 0x00000020
#define GETLINEAR_FLAG_MAPSHARED 0x00000400
#define GETLINEAR_FLAG_MAPVERIFY 0x40000000
#define GETLINEAR_FLAG_MAPATTACH 0x80000000
#define EGA_BIT 4
#define VGA_BIT 8
#define EGAVGA_BIT (EGA_BIT+VGA_BIT)
typedef struct _DCBINFO {
USHORT usWriteTimeout;
USHORT usReadTimeout;
BYTE fbCtlHndShake;
BYTE fbFlowReplace;
BYTE fbTimeout;
BYTE bErrorReplacementChar;
BYTE bBreakReplacementChar;
BYTE bXONChar;
BYTE bXOFFChar;
} DCBINFO, *PDCBINFO;
typedef _Packed struct _TRACKLAYOUT {
BYTE bCommand;
USHORT usHead;
USHORT usCylinder;
USHORT usFirstSector;
USHORT cSectors;
struct {
USHORT usSectorNumber;
USHORT usSectorSize;
} TrackTable[1];
} TRACKLAYOUT, *PTRACKLAYOUT;
typedef _Packed struct _BIOSPARAMETERBLOCK {
USHORT usBytesPerSector;
BYTE bSectorsPerCluster;
USHORT usReservedSectors;
BYTE cFATs;
USHORT cRootEntries;
USHORT cSectors;
BYTE bMedia;
USHORT usSectorsPerFAT;
USHORT usSectorsPerTrack;
USHORT cHeads;
ULONG cHiddenSectors;
ULONG cLargeSectors;
BYTE abReserved[6];
USHORT cCylinders;
BYTE bDeviceType;
USHORT fsDeviceAttr;
} BIOSPARAMETERBLOCK, *PBIOSPARAMETERBLOCK;
typedef struct _SCREENGROUP {
USHORT idScreenGrp;
USHORT fTerminate;
} SCREENGROUP, *PSCREENGROUP;
typedef struct _FRAME {
BYTE bCharsPerLine;
BYTE bLinesPerInch;
} FRAME, *PFRAME;
typedef struct _KBDTYPE {
USHORT usType;
USHORT reserved1;
USHORT reserved2;
} KBDTYPE, *PKBDTYPE;
typedef struct _LINECONTROL {
BYTE bDataBits;
BYTE bParity;
BYTE bStopBits;
BYTE fTransBreak;
} LINECONTROL, *PLINECONTROL;
typedef struct _MODEMSTATUS {
BYTE fbModemOn;
BYTE fbModemOff;
} MODEMSTATUS, *PMODEMSTATUS;
/* NOINC */
#pragma pack(1)
/* INC */
typedef _Packed struct _TRACKFORMAT {
BYTE bCommand;
USHORT usHead;
USHORT usCylinder;
USHORT usReserved;
USHORT cSectors;
struct {
BYTE bCylinder;
BYTE bHead;
BYTE idSector;
BYTE bBytesSector;
} FormatTable[1];
} TRACKFORMAT, *PTRACKFORMAT;
typedef struct _RXQUEUE {
USHORT cch;
USHORT cb;
} RXQUEUE, *PRXQUEUE;
typedef struct _DEVICEPARAMETERBLOCK {
USHORT reserved1;
USHORT cCylinders;
USHORT cHeads;
USHORT cSectorsPerTrack;
USHORT reserved2;
USHORT reserved3;
USHORT reserved4;
USHORT reserved5;
} DEVICEPARAMETERBLOCK, *PDEVICEPARAMETERBLOCK;
typedef _Packed struct _PTRDRAWFUNCTION {
USHORT usReturnCode;
PFN pfnDraw;
PCH pchDataSeg;
} PTRDRAWFUNCTION, *PPTRDRAWFUNCTION;
typedef struct _PTRDRAWADDRESS {
USHORT reserved;
PTRDRAWFUNCTION ptrdfnc;
} PTRDRAWADDRESS, *PPTRDRAWADDRESS;
typedef struct _SHIFTSTATE {
USHORT fsState;
BYTE fNLS;
} SHIFTSTATE, *PSHIFTSTATE;
typedef struct _HOTKEY {
USHORT fsHotKey;
UCHAR uchScancodeMake;
UCHAR uchScancodeBreak;
USHORT idHotKey;
} HOTKEY, *PHOTKEY;
typedef struct _MONITORPOSITION {
USHORT fPosition;
USHORT index;
ULONG pbInBuf;
USHORT offOutBuf;
} MONITORPOSITION, *PMONITORPOSITION;
typedef struct _RATEDELAY {
USHORT usDelay;
USHORT usRate;
} RATEDELAY, *PRATEDELAY;
typedef struct _CODEPAGEINFO {
PBYTE pbTransTable;
USHORT idCodePage;
USHORT idTable;
} CODEPAGEINFO, *PCODEPAGEINFO;
typedef struct _CPID {
USHORT idCodePage;
USHORT Reserved;
} CPID, *PCPID;
typedef struct _LDTADDRINFO {
PULONG pulPhysAddr;
USHORT cb;
} LDTADDRINFO, *PLDTADDRINFO;
typedef struct _PTRDRAWDATA {
USHORT cb;
USHORT usConfig;
USHORT usFlag;
} PTRDRAWDATA, *PPTRDRAWDATA;
typedef struct _GETLINIOCTLDATA {
ULONG PacketLength;
ULONG PhysicalAddress;
ULONG ApertureSize;
PBYTE LinearAddress;
ULONG LinearFlags;
} GETLINIOCTLDATA, *PGETLINIOCTLDATA;
typedef struct _BANKINFO {
ULONG ulBankLength;
USHORT usBank;
USHORT usVideoModeType;
USHORT usReadWriteMode;
} BANKINFO;
typedef struct _GLOBALIOCTLDATA {
ULONG ProcessAddress;
ULONG AddressLength;
ULONG GlobalAddress;
} GLOBALIOCTLDATA;
typedef struct _OEMSVGAINFO {
USHORT AdapterType;
USHORT ChipType;
ULONG Memory;
ULONG aulPCIRangeSize [6];
BYTE abPCIConfiguration [256];
} OEMSVGAINFO;
typedef struct _OEMINFO {
ULONG OEMLength;
USHORT Manufacturer;
ULONG ManufacturerData;
USHORT ManufacturerModel;
} OEMINFO;
typedef struct _GETGLOBALPACKET {
ULONG GlobalPktLength;
GLOBALIOCTLDATA GlobalPktData[1];
} GETGLOBALPACKET;
typedef _Packed struct _OEMHLPDISKINFO {
USHORT ODI_Reserved;
USHORT ODI_Flags;
ULONG ODI_Cylinders;
ULONG ODI_Heads;
ULONG ODI_SectorsPerTrack;
ULONG ODI_PhysSectors_low;
ULONG ODI_PhysSectors_high;
USHORT ODI_SectorSize;
ULONG ODI_Reserved2;
USHORT ODI_IOPort;
USHORT ODI_ControlPort;
UCHAR ODI_HeadRegisterUN;
UCHAR ODI_Reserved3;
UCHAR ODI_IRQ;
UCHAR ODI_RWMult_BlkCnt;
UCHAR ODI_DMAInfo;
UCHAR ODI_PIOInfo;
USHORT ODI_HWFlags;
USHORT ODI_Reserved4;
UCHAR ODI_Revision;
UCHAR ODI_Reserved5;
} OEMHLPDISKINFO;
:include cplusepi.sp
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -