| /** | |
| * 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 |