www.pudn.com > otsms > 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;