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