Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenaf_irda.h
Go to the documentation of this file.
00001 /* 00002 * af_irda.h 00003 * 00004 * IrDa ports interface 00005 * 00006 * This file is part of the MinGW package. 00007 * 00008 * Contributors: 00009 * Created by Robert Dickenson <robd@users.sourceforge.net> 00010 * 00011 * THIS SOFTWARE IS NOT COPYRIGHTED 00012 * 00013 * This source code is offered for use in the public domain. You may 00014 * use, modify or distribute it freely. 00015 * 00016 * This code is distributed in the hope that it will be useful but 00017 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY 00018 * DISCLAMED. This includes but is not limited to warranties of 00019 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00020 * 00021 */ 00022 00023 #ifndef __AF_IRDA_H 00024 #define __AF_IRDA_H 00025 00026 #ifdef __cplusplus 00027 extern "C" { 00028 #endif 00029 00030 #pragma pack(push,4) 00031 00032 00033 /* GUIDs */ 00034 00035 #ifdef DEFINE_GUID 00036 DEFINE_GUID(GUID_DEVINTERFACE_IRDAPORT, 00037 0x86e0d1e0L, 0x8089, 0x11d0, 0x9c, 0xe4, 0x08, 0x00, 0x3e, 0x30, 0x1f, 0x74); 00038 DEFINE_GUID(GUID_DEVINTERFACE_IRDAENUM_BUS_ENUMERATOR, 00039 0x4D36E978L, 0xE325, 0x11CE, 0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x19); 00040 #endif /* DEFINE_GUID */ 00041 00042 #define WINDOWS_AF_IRDA 26 00043 #define WINDOWS_PF_IRDA WINDOWS_AF_IRDA 00044 00045 #ifndef AF_IRDA 00046 #define AF_IRDA WINDOWS_AF_IRDA 00047 #endif 00048 00049 #define IRDA_PROTO_SOCK_STREAM 1 00050 #define PF_IRDA AF_IRDA 00051 #define SOL_IRLMP 0x00FF 00052 #define SIO_LAZY_DISCOVERY _IOR('t', 127, ULONG) 00053 00054 00055 #define IAS_MAX_USER_STRING 256 00056 #define IAS_MAX_OCTET_STRING 1024 00057 #define IAS_MAX_CLASSNAME 64 00058 #define IAS_MAX_ATTRIBNAME 256 00059 00060 #define IAS_ATTRIB_NO_CLASS ((ULONG)0x10) 00061 #define IAS_ATTRIB_NO_ATTRIB ((ULONG)0x00) 00062 #define IAS_ATTRIB_INT ((ULONG)0x01) 00063 #define IAS_ATTRIB_OCTETSEQ ((ULONG)0x02) 00064 #define IAS_ATTRIB_STR ((ULONG)0x03) 00065 00066 #define IRLMP_ENUMDEVICES ((ULONG)0x10) 00067 #define IRLMP_IAS_SET ((ULONG)0x11) 00068 #define IRLMP_IAS_QUERY ((ULONG)0x12) 00069 #define IRLMP_SEND_PDU_LEN ((ULONG)0x13) 00070 #define IRLMP_EXCLUSIVE_MODE ((ULONG)0x14) 00071 #define IRLMP_IRLPT_MODE ((ULONG)0x15) 00072 #define IRLMP_9WIRE_MODE ((ULONG)0x16) 00073 00074 #if 0 00075 /* Available/Used on Windows 98 only ??? */ 00076 #define IRLMP_TINYTP_MODE ((ULONG)0x17) 00077 #define IRLMP_PARAMETERS ((ULONG)0x18) 00078 #define IRLMP_DISCOVERY_MODE ((ULONG)0x19) 00079 /* Available/Used on Windows CE only ??? */ 00080 #define IRLMP_SHARP_MODE ((ULONG)0x20) 00081 #endif 00082 00083 enum { 00084 /* First hint byte */ 00085 LM_HB1_PnP = 0x01, 00086 LM_HB1_PDA_Palmtop = 0x02, 00087 LM_HB1_Computer = 0x04, 00088 LM_HB1_Printer = 0x08, 00089 LM_HB1_Modem = 0x10, 00090 LM_HB1_Fax = 0x20, 00091 LM_HB1_LANAccess = 0x40, 00092 /* Second hint byte */ 00093 LM_HB2_Telephony = 0x01, 00094 LM_HB2_FileServer = 0x02, 00095 /* Any hint byte */ 00096 LM_HB_Extension = 0x80, 00097 }; 00098 00099 #define LmCharSetASCII 0x00 00100 #define LmCharSetISO_8859_1 0x01 00101 #define LmCharSetISO_8859_2 0x02 00102 #define LmCharSetISO_8859_3 0x03 00103 #define LmCharSetISO_8859_4 0x04 00104 #define LmCharSetISO_8859_5 0x05 00105 #define LmCharSetISO_8859_6 0x06 00106 #define LmCharSetISO_8859_7 0x07 00107 #define LmCharSetISO_8859_8 0x08 00108 #define LmCharSetISO_8859_9 0x09 00109 #define LmCharSetUNICODE 0xFF 00110 00111 #define LM_BAUD_1200 1200 00112 #define LM_BAUD_2400 2400 00113 #define LM_BAUD_9600 9600 00114 #define LM_BAUD_19200 19200 00115 #define LM_BAUD_38400 38400 00116 #define LM_BAUD_57600 57600 00117 #define LM_BAUD_115200 115200 00118 #define LM_BAUD_576K 576000 00119 #define LM_BAUD_1152K 1152000 00120 #define LM_BAUD_4M 4000000 00121 00122 #if 0 /* Available/Used on Windows 98 only ??? */ 00123 typedef ULONG LM_BAUD_RATE; 00124 typedef struct { 00125 ULONG nTXDataBytes; /* packet transmit receive bytes */ 00126 ULONG nRXDataBytes; /* packet maximum receive bytes */ 00127 LM_BAUD_RATE nBaudRate; /* link negotiated baud */ 00128 ULONG thresholdTime; /* milliseconds for threshold time */ 00129 ULONG discTime; /* milliseconds for disconnect time 00130 USHORT nMSLinkTurn; /* milliseconds for link turn around time */ 00131 UCHAR nTXPackets; /* transmit window packets */ 00132 UCHAR nRXPackets; /* receive window packets */ 00133 } LM_IRPARMS; 00134 typedef LM_IRPARMS *PLM_IRPARMS; 00135 #endif 00136 00137 typedef struct _SOCKADDR_IRDA { 00138 USHORT irdaAddressFamily; 00139 UCHAR irdaDeviceID[4]; 00140 char irdaServiceName[25]; 00141 } SOCKADDR_IRDA; 00142 00143 typedef struct _WINDOWS_IRDA_DEVICE_INFO { 00144 UCHAR irdaDeviceID[4]; 00145 char irdaDeviceName[22]; 00146 UCHAR irdaDeviceHints1; 00147 UCHAR irdaDeviceHints2; 00148 UCHAR irdaCharSet; 00149 } WINDOWS_IRDA_DEVICE_INFO; 00150 00151 typedef struct _WINDOWS_IAS_SET { 00152 char irdaClassName[IAS_MAX_CLASSNAME]; 00153 char irdaAttribName[IAS_MAX_ATTRIBNAME]; 00154 ULONG irdaAttribType; 00155 union { 00156 LONG irdaAttribInt; 00157 struct { 00158 USHORT Len; 00159 UCHAR OctetSeq[IAS_MAX_OCTET_STRING]; 00160 } irdaAttribOctetSeq; 00161 struct { 00162 UCHAR Len; 00163 UCHAR CharSet; 00164 UCHAR UsrStr[IAS_MAX_USER_STRING]; 00165 } irdaAttribUsrStr; 00166 } irdaAttribute; 00167 } WINDOWS_IAS_SET; 00168 00169 typedef struct _WINDOWS_IAS_QUERY { 00170 UCHAR irdaDeviceID[4]; 00171 char irdaClassName[IAS_MAX_CLASSNAME]; 00172 char irdaAttribName[IAS_MAX_ATTRIBNAME]; 00173 ULONG irdaAttribType; 00174 union { 00175 LONG irdaAttribInt; 00176 struct { 00177 ULONG Len; 00178 UCHAR OctetSeq[IAS_MAX_OCTET_STRING]; 00179 } irdaAttribOctetSeq; 00180 struct { 00181 ULONG Len; 00182 ULONG CharSet; 00183 UCHAR UsrStr[IAS_MAX_USER_STRING]; 00184 } irdaAttribUsrStr; 00185 } irdaAttribute; 00186 } WINDOWS_IAS_QUERY; 00187 00188 typedef struct _WINDOWS_DEVICELIST { 00189 ULONG numDevice; 00190 WINDOWS_IRDA_DEVICE_INFO Device[1]; 00191 } WINDOWS_DEVICELIST; 00192 00193 typedef WINDOWS_DEVICELIST DEVICELIST; 00194 typedef WINDOWS_DEVICELIST *PDEVICELIST; 00195 typedef WINDOWS_DEVICELIST *PWINDOWS_DEVICELIST; 00196 00197 typedef WINDOWS_IRDA_DEVICE_INFO IRDA_DEVICE_INFO; 00198 typedef WINDOWS_IRDA_DEVICE_INFO *PIRDA_DEVICE_INFO; 00199 typedef WINDOWS_IRDA_DEVICE_INFO *PWINDOWS_IRDA_DEVICE_INFO; 00200 00201 typedef WINDOWS_IAS_SET IAS_SET; 00202 typedef WINDOWS_IAS_SET *PIAS_SET; 00203 typedef WINDOWS_IAS_SET *PWINDOWS_IAS_SET; 00204 00205 typedef WINDOWS_IAS_QUERY IAS_QUERY; 00206 typedef WINDOWS_IAS_QUERY *PIAS_QUERY; 00207 typedef WINDOWS_IAS_QUERY *PWINDOWS_IAS_QUERY; 00208 00209 typedef SOCKADDR_IRDA *PSOCKADDR_IRDA; 00210 00211 #pragma pack(pop) 00212 00213 #ifdef __cplusplus 00214 } 00215 #endif 00216 00217 #endif /* __AF_IRDA_H */ Generated on Sun May 27 2012 04:31:07 for ReactOS by
1.7.6.1
|