|  | /** | 
|  | * This file has no copyright assigned and is placed in the Public Domain. | 
|  | * This file is part of the mingw-w64 runtime package. | 
|  | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | 
|  | */ | 
|  | #ifndef __AFIRDA__ | 
|  | #define __AFIRDA__ | 
|  |  | 
|  | #ifdef __LP64__ | 
|  | #pragma push_macro("u_long") | 
|  | #undef u_long | 
|  | #define u_long __ms_u_long | 
|  | #endif | 
|  |  | 
|  | #include <_bsd_types.h> | 
|  |  | 
|  | #define WINDOWS_AF_IRDA 26 | 
|  | #define WINDOWS_PF_IRDA WINDOWS_AF_IRDA | 
|  |  | 
|  | #define WCE_AF_IRDA 22 | 
|  | #define WCE_PF_IRDA WCE_AF_IRDA | 
|  |  | 
|  | #ifndef AF_IRDA | 
|  | #define AF_IRDA WINDOWS_AF_IRDA | 
|  | #endif | 
|  | #define IRDA_PROTO_SOCK_STREAM 1 | 
|  |  | 
|  | #define PF_IRDA AF_IRDA | 
|  |  | 
|  | #define SOL_IRLMP 0x00FF | 
|  |  | 
|  | #define IRLMP_ENUMDEVICES 0x00000010 | 
|  | #define IRLMP_IAS_SET 0x00000011 | 
|  | #define IRLMP_IAS_QUERY 0x00000012 | 
|  |  | 
|  | #define IRLMP_SEND_PDU_LEN 0x00000013 | 
|  | #define IRLMP_EXCLUSIVE_MODE 0x00000014 | 
|  | #define IRLMP_IRLPT_MODE 0x00000015 | 
|  | #define IRLMP_9WIRE_MODE 0x00000016 | 
|  |  | 
|  | #define IRLMP_TINYTP_MODE 0x00000017 | 
|  | #define IRLMP_PARAMETERS 0x00000018 | 
|  | #define IRLMP_DISCOVERY_MODE 0x00000019 | 
|  |  | 
|  | #define IRLMP_SHARP_MODE 0x00000020 | 
|  |  | 
|  | #define SIO_LAZY_DISCOVERY _IOR('t',127,u_long) | 
|  |  | 
|  | #define IAS_ATTRIB_NO_CLASS 0x00000010 | 
|  | #define IAS_ATTRIB_NO_ATTRIB 0x00000000 | 
|  | #define IAS_ATTRIB_INT 0x00000001 | 
|  | #define IAS_ATTRIB_OCTETSEQ 0x00000002 | 
|  | #define IAS_ATTRIB_STR 0x00000003 | 
|  |  | 
|  | #define IAS_MAX_USER_STRING 256 | 
|  | #define IAS_MAX_OCTET_STRING 1024 | 
|  | #define IAS_MAX_CLASSNAME 64 | 
|  | #define IAS_MAX_ATTRIBNAME 256 | 
|  |  | 
|  | enum { | 
|  | LM_HB_Extension = 128,LM_HB1_PnP = 1,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,LM_HB2_FileServer = 2, | 
|  | }; | 
|  |  | 
|  | #define LmCharSetASCII 0 | 
|  | #define LmCharSetISO_8859_1 1 | 
|  | #define LmCharSetISO_8859_2 2 | 
|  | #define LmCharSetISO_8859_3 3 | 
|  | #define LmCharSetISO_8859_4 4 | 
|  | #define LmCharSetISO_8859_5 5 | 
|  | #define LmCharSetISO_8859_6 6 | 
|  | #define LmCharSetISO_8859_7 7 | 
|  | #define LmCharSetISO_8859_8 8 | 
|  | #define LmCharSetISO_8859_9 9 | 
|  | #define LmCharSetUNICODE 0xff | 
|  |  | 
|  | typedef u_long LM_BAUD_RATE; | 
|  |  | 
|  | #define LM_BAUD_1200 1200 | 
|  | #define LM_BAUD_2400 2400 | 
|  | #define LM_BAUD_9600 9600 | 
|  | #define LM_BAUD_19200 19200 | 
|  | #define LM_BAUD_38400 38400 | 
|  | #define LM_BAUD_57600 57600 | 
|  | #define LM_BAUD_115200 115200 | 
|  | #define LM_BAUD_576K 576000 | 
|  | #define LM_BAUD_1152K 1152000 | 
|  | #define LM_BAUD_4M 4000000 | 
|  |  | 
|  | typedef struct { | 
|  | u_long nTXDataBytes; | 
|  | u_long nRXDataBytes; | 
|  | LM_BAUD_RATE nBaudRate; | 
|  | u_long thresholdTime; | 
|  | u_long discTime; | 
|  | u_short nMSLinkTurn; | 
|  | u_char nTXPackets; | 
|  | u_char nRXPackets; | 
|  | } LM_IRPARMS,*PLM_IRPARMS; | 
|  |  | 
|  | typedef struct _SOCKADDR_IRDA { | 
|  | u_short irdaAddressFamily; | 
|  | u_char irdaDeviceID[4]; | 
|  | char irdaServiceName[25]; | 
|  | } SOCKADDR_IRDA,*PSOCKADDR_IRDA,*LPSOCKADDR_IRDA; | 
|  |  | 
|  | typedef struct _WINDOWS_IRDA_DEVICE_INFO { | 
|  | u_char irdaDeviceID[4]; | 
|  | char irdaDeviceName[22]; | 
|  | u_char irdaDeviceHints1; | 
|  | u_char irdaDeviceHints2; | 
|  | u_char irdaCharSet; | 
|  | } WINDOWS_IRDA_DEVICE_INFO,*PWINDOWS_IRDA_DEVICE_INFO,*LPWINDOWS_IRDA_DEVICE_INFO; | 
|  |  | 
|  | typedef struct _WCE_IRDA_DEVICE_INFO { | 
|  | u_char irdaDeviceID[4]; | 
|  | char irdaDeviceName[22]; | 
|  | u_char Reserved[2]; | 
|  | } WCE_IRDA_DEVICE_INFO,*PWCE_IRDA_DEVICE_INFO; | 
|  |  | 
|  | typedef WINDOWS_IRDA_DEVICE_INFO IRDA_DEVICE_INFO,*PIRDA_DEVICE_INFO,*LPIRDA_DEVICE_INFO; | 
|  |  | 
|  | typedef struct _WINDOWS_DEVICELIST { | 
|  | ULONG numDevice; | 
|  | WINDOWS_IRDA_DEVICE_INFO Device[1]; | 
|  | } WINDOWS_DEVICELIST,*PWINDOWS_DEVICELIST,*LPWINDOWS_DEVICELIST; | 
|  |  | 
|  | typedef struct _WCE_DEVICELIST { | 
|  | ULONG numDevice; | 
|  | WCE_IRDA_DEVICE_INFO Device[1]; | 
|  | } WCE_DEVICELIST,*PWCE_DEVICELIST; | 
|  |  | 
|  | typedef WINDOWS_DEVICELIST DEVICELIST,*PDEVICELIST,*LPDEVICELIST; | 
|  |  | 
|  | typedef struct _WINDOWS_IAS_SET { | 
|  | char irdaClassName[IAS_MAX_CLASSNAME]; | 
|  | char irdaAttribName[IAS_MAX_ATTRIBNAME]; | 
|  | u_long irdaAttribType; | 
|  | union { | 
|  | LONG irdaAttribInt; | 
|  | struct { | 
|  | u_short Len; | 
|  | u_char OctetSeq[IAS_MAX_OCTET_STRING]; | 
|  | } irdaAttribOctetSeq; | 
|  | struct { | 
|  | u_char Len; | 
|  | u_char CharSet; | 
|  | u_char UsrStr[IAS_MAX_USER_STRING]; | 
|  | } irdaAttribUsrStr; | 
|  | } irdaAttribute; | 
|  | } WINDOWS_IAS_SET,*PWINDOWS_IAS_SET,*LPWINDOWS_IAS_SET; | 
|  |  | 
|  | typedef struct _WINDOWS_IAS_QUERY { | 
|  | u_char irdaDeviceID[4]; | 
|  | char irdaClassName[IAS_MAX_CLASSNAME]; | 
|  | char irdaAttribName[IAS_MAX_ATTRIBNAME]; | 
|  | u_long irdaAttribType; | 
|  | union { | 
|  | LONG irdaAttribInt; | 
|  | struct { | 
|  | u_long Len; | 
|  | u_char OctetSeq[IAS_MAX_OCTET_STRING]; | 
|  | } irdaAttribOctetSeq; | 
|  | struct { | 
|  | u_long Len; | 
|  | u_long CharSet; | 
|  | u_char UsrStr[IAS_MAX_USER_STRING]; | 
|  | } irdaAttribUsrStr; | 
|  | } irdaAttribute; | 
|  | } WINDOWS_IAS_QUERY,*PWINDOWS_IAS_QUERY,*LPWINDOWS_IAS_QUERY; | 
|  |  | 
|  | typedef struct _WCE_IAS_SET { | 
|  | char irdaClassName[61]; | 
|  | char irdaAttribName[61]; | 
|  | u_short irdaAttribType; | 
|  | union { | 
|  | int irdaAttribInt; | 
|  | struct { | 
|  | int Len; | 
|  | u_char OctetSeq[1]; | 
|  | u_char Reserved[3]; | 
|  | } irdaAttribOctetSeq; | 
|  | struct { | 
|  | int Len; | 
|  | u_char CharSet; | 
|  | u_char UsrStr[1]; | 
|  | u_char Reserved[2]; | 
|  | } irdaAttribUsrStr; | 
|  | } irdaAttribute; | 
|  | } WCE_IAS_SET,*PWCE_IAS_SET; | 
|  |  | 
|  | typedef struct _WCE_IAS_QUERY { | 
|  | u_char irdaDeviceID[4]; | 
|  | char irdaClassName[61]; | 
|  | char irdaAttribName[61]; | 
|  | u_short irdaAttribType; | 
|  | union { | 
|  | int irdaAttribInt; | 
|  | struct { | 
|  | int Len; | 
|  | u_char OctetSeq[1]; | 
|  | u_char Reserved[3]; | 
|  | } irdaAttribOctetSeq; | 
|  | struct { | 
|  | int Len; | 
|  | u_char CharSet; | 
|  | u_char UsrStr[1]; | 
|  | u_char Reserved[2]; | 
|  | } irdaAttribUsrStr; | 
|  | } irdaAttribute; | 
|  | } WCE_IAS_QUERY,*PWCE_IAS_QUERY; | 
|  |  | 
|  | typedef WINDOWS_IAS_SET IAS_SET,*PIAS_SET,*LPIASSET; | 
|  | typedef WINDOWS_IAS_QUERY IAS_QUERY,*PIAS_QUERY,*LPIASQUERY; | 
|  |  | 
|  | #ifdef __LP64__ | 
|  | #pragma pop_macro("u_long") | 
|  | #endif | 
|  |  | 
|  | #endif |