📄 irda.inc
字号:
const
DEVICE_LIST_LEN=10;
AF_IRDA = 26;
SOL_IRLMP = $00FF;
IRLMP_ENUMDEVICES = $00000010;
IRLMP_IAS_SET = $00000011;
IRLMP_IAS_QUERY = $00000012;
// WINNT, WINCE
IRLMP_SEND_PDU_LEN = $00000013;
IRLMP_EXCLUSIVE_MODE = $00000014;
IRLMP_IRLPT_MODE = $00000015;
IRLMP_9WIRE_MODE = $00000016;
// WIN98
IRLMP_TINYTP_MODE = $00000017;
IRLMP_PARAMETERS = $00000018;
IRLMP_DISCOVERY_MODE = $00000019;
// WINCE
IRLMP_SHARP_MODE = $00000020;
//#if defined(_WIN32_WINNT) // WSAIoctl for lazy discovery
//{$define SIO_LAZY_DISCOVERY _IOR('t', 127, u_long)
//#endif
IAS_ATTRIB_NO_CLASS = $00000010;
IAS_ATTRIB_NO_ATTRIB = $00000000;
IAS_ATTRIB_INT = $00000001;
IAS_ATTRIB_OCTETSEQ = $00000002;
IAS_ATTRIB_STR = $00000003;
IAS_MAX_USER_STRING = 256;
IAS_MAX_OCTET_STRING = 1024;
IAS_MAX_CLASSNAME = 64;
IAS_MAX_ATTRIBNAME = 256;
// WINNT, WIN98
LM_HB_Extension = 128; // Any hint byte
LM_HB1_PnP = 1; // First hint byte
LM_HB1_PDA_Palmtop = 2;
LM_HB1_Computer = 4;
LM_HB1_Printer = 8;
LM_HB1_Modem = 16;
LM_HB1_Fax = 32;
LM_HB1_LANAccess = 64;
LM_HB2_Telephony = 1; // Second hint byte
LM_HB2_FileServer = 2;
LmCharSetASCII =0;
LmCharSetISO_8859_1 =1;
LmCharSetISO_8859_2 =2;
LmCharSetISO_8859_3 =3;
LmCharSetISO_8859_4 =4;
LmCharSetISO_8859_5 =5;
LmCharSetISO_8859_6 =6;
LmCharSetISO_8859_7 =7;
LmCharSetISO_8859_8 =8;
LmCharSetISO_8859_9 =9;
LmCharSetUNICODE =$ff;
// WIN98
LM_BAUD_1200 =1200;
LM_BAUD_2400 =2400;
LM_BAUD_9600 =9600;
LM_BAUD_19200 =19200;
LM_BAUD_38400 =38400;
LM_BAUD_57600 =57600;
LM_BAUD_115200 =115200;
LM_BAUD_576K =576000;
LM_BAUD_1152K =1152000;
LM_BAUD_4M =4000000;
type
LM_IRPARMS=record
nTXDataBytes:DWORD; // Max tx data bytes per packet
nRXDataBytes:DWORD; // Max rx data bytes per packet
nBaudRate:DWORD; // Negotiated baud rate
thresholdTime:DWORD; // Threshold (ms)
discTime:DWORD; // Disconnect (ms)
nMSLinkTurn:Smallint; // Link turn around (ms)
nTXPackets:Byte; // Number packets in transmit window
nRXPackets:Byte; // Number packets in receive window
end;
PLM_IRPARMS=^LM_IRPARMS;
SOCKADDR_IRDA=record
irdaAddressFamily:SmallInt;
irdaDeviceID:array[0..3] of Byte;
irdaServiceName:array[0..24] of char;
end;
PSOCKADDR_IRDA=^SOCKADDR_IRDA;//, FAR *LPSOCKADDR_IRDA;
IRDA_DEVICE_INFO=record
irdaDeviceID:array[0..3] of Byte;
irdaDeviceName:array[0..21] of char;
irdaDeviceHints1:Byte;
irdaDeviceHints2:Byte;
irdaCharSet:Byte;
end;
PIRDA_DEVICE_INFO=^IRDA_DEVICE_INFO; //, FAR *LPWINDOWS_IRDA_DEVICE_INFO;
DEVICELIST=record
numDevice:DWORD;
Device:array[0..0] of IRDA_DEVICE_INFO;
end;
PDEVICELIST=^DEVICELIST; //, FAR *LPWINDOWS_DEVICELIST;
irdaAttribOctetSeq=record
Len:Smallint;
OctetSeq:array[0..IAS_MAX_OCTET_STRING-1] of Byte;
end;
irdaAttribUsrStr=record
Len:Byte;
CharSet:Byte;
UsrStr:array[0..IAS_MAX_USER_STRING-1] of Byte;
end;
IAS_SET=record
irdaClassName:array[0..IAS_MAX_CLASSNAME-1] of char;
irdaAttribName:array[0..IAS_MAX_ATTRIBNAME-1] of char;
irdaAttribType:DWORD;
irdaAttribInt:Longint;
end;
PIAS_SET=^IAS_SET; //, FAR *LPWINDOWS_IAS_SET;
IAS_QUERY=record
irdaDeviceID:array[0..3] of Byte;
irdaClassName:array[0..IAS_MAX_CLASSNAME-1] of char;
irdaAttribName:array[0..IAS_MAX_ATTRIBNAME-1] of char;
irdaAttribType:DWORD;
irdaAttribInt:Longint;
end;
PIAS_QUERY=^IAS_QUERY; //, FAR *LPWINDOWS_IAS_QUERY;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -