ReactOS  0.4.15-dev-2703-g05fb0f1
af_irda.h
Go to the documentation of this file.
1 /*
2  * af_irda.h
3  *
4  * IrDa ports interface
5  *
6  * This file is part of the MinGW package.
7  *
8  * Contributors:
9  * Created by Robert Dickenson <robd@users.sourceforge.net>
10  *
11  * THIS SOFTWARE IS NOT COPYRIGHTED
12  *
13  * This source code is offered for use in the public domain. You may
14  * use, modify or distribute it freely.
15  *
16  * This code is distributed in the hope that it will be useful but
17  * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
18  * DISCLAMED. This includes but is not limited to warranties of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
20  *
21  */
22 
23 #ifndef __AF_IRDA_H
24 #define __AF_IRDA_H
25 
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29 
30 #pragma pack(push,4)
31 
32 
33 /* GUIDs */
34 
35 #ifdef DEFINE_GUID
36 DEFINE_GUID(GUID_DEVINTERFACE_IRDAPORT,
37  0x86e0d1e0L, 0x8089, 0x11d0, 0x9c, 0xe4, 0x08, 0x00, 0x3e, 0x30, 0x1f, 0x74);
38 DEFINE_GUID(GUID_DEVINTERFACE_IRDAENUM_BUS_ENUMERATOR,
39  0x4D36E978L, 0xE325, 0x11CE, 0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x19);
40 #endif /* DEFINE_GUID */
41 
42 #define WINDOWS_AF_IRDA 26
43 #define WINDOWS_PF_IRDA WINDOWS_AF_IRDA
44 
45 #ifndef AF_IRDA
46 #define AF_IRDA WINDOWS_AF_IRDA
47 #endif
48 
49 #define IRDA_PROTO_SOCK_STREAM 1
50 #define PF_IRDA AF_IRDA
51 #define SOL_IRLMP 0x00FF
52 #define SIO_LAZY_DISCOVERY _IOR('t', 127, ULONG)
53 
54 
55 #define IAS_MAX_USER_STRING 256
56 #define IAS_MAX_OCTET_STRING 1024
57 #define IAS_MAX_CLASSNAME 64
58 #define IAS_MAX_ATTRIBNAME 256
59 
60 #define IAS_ATTRIB_NO_CLASS ((ULONG)0x10)
61 #define IAS_ATTRIB_NO_ATTRIB ((ULONG)0x00)
62 #define IAS_ATTRIB_INT ((ULONG)0x01)
63 #define IAS_ATTRIB_OCTETSEQ ((ULONG)0x02)
64 #define IAS_ATTRIB_STR ((ULONG)0x03)
65 
66 #define IRLMP_ENUMDEVICES ((ULONG)0x10)
67 #define IRLMP_IAS_SET ((ULONG)0x11)
68 #define IRLMP_IAS_QUERY ((ULONG)0x12)
69 #define IRLMP_SEND_PDU_LEN ((ULONG)0x13)
70 #define IRLMP_EXCLUSIVE_MODE ((ULONG)0x14)
71 #define IRLMP_IRLPT_MODE ((ULONG)0x15)
72 #define IRLMP_9WIRE_MODE ((ULONG)0x16)
73 
74 #if 0
75 /* Available/Used on Windows 98 only ??? */
76 #define IRLMP_TINYTP_MODE ((ULONG)0x17)
77 #define IRLMP_PARAMETERS ((ULONG)0x18)
78 #define IRLMP_DISCOVERY_MODE ((ULONG)0x19)
79 /* Available/Used on Windows CE only ??? */
80 #define IRLMP_SHARP_MODE ((ULONG)0x20)
81 #endif
82 
83 enum {
84 /* First hint byte */
85  LM_HB1_PnP = 0x01,
89  LM_HB1_Modem = 0x10,
90  LM_HB1_Fax = 0x20,
92 /* Second hint byte */
95 /* Any hint byte */
97 };
98 
99 #define LmCharSetASCII 0x00
100 #define LmCharSetISO_8859_1 0x01
101 #define LmCharSetISO_8859_2 0x02
102 #define LmCharSetISO_8859_3 0x03
103 #define LmCharSetISO_8859_4 0x04
104 #define LmCharSetISO_8859_5 0x05
105 #define LmCharSetISO_8859_6 0x06
106 #define LmCharSetISO_8859_7 0x07
107 #define LmCharSetISO_8859_8 0x08
108 #define LmCharSetISO_8859_9 0x09
109 #define LmCharSetUNICODE 0xFF
110 
111 #define LM_BAUD_1200 1200
112 #define LM_BAUD_2400 2400
113 #define LM_BAUD_9600 9600
114 #define LM_BAUD_19200 19200
115 #define LM_BAUD_38400 38400
116 #define LM_BAUD_57600 57600
117 #define LM_BAUD_115200 115200
118 #define LM_BAUD_576K 576000
119 #define LM_BAUD_1152K 1152000
120 #define LM_BAUD_4M 4000000
121 
122 #if 0 /* Available/Used on Windows 98 only ??? */
123 typedef ULONG LM_BAUD_RATE;
124 typedef struct {
125  ULONG nTXDataBytes; /* packet transmit receive bytes */
126  ULONG nRXDataBytes; /* packet maximum receive bytes */
127  LM_BAUD_RATE nBaudRate; /* link negotiated baud */
128  ULONG thresholdTime; /* milliseconds for threshold time */
129  ULONG discTime; /* milliseconds for disconnect time
130  USHORT nMSLinkTurn; /* milliseconds for link turn around time */
131  UCHAR nTXPackets; /* transmit window packets */
132  UCHAR nRXPackets; /* receive window packets */
133 } LM_IRPARMS;
134 typedef LM_IRPARMS *PLM_IRPARMS;
135 #endif
136 
137 typedef struct _SOCKADDR_IRDA {
140  char irdaServiceName[25];
141 } SOCKADDR_IRDA;
142 
145  char irdaDeviceName[22];
150 
151 typedef struct _WINDOWS_IAS_SET {
155  union {
157  struct {
161  struct {
166  } irdaAttribute;
168 
169 typedef struct _WINDOWS_IAS_QUERY {
174  union {
176  struct {
180  struct {
181  ULONG Len;
185  } irdaAttribute;
187 
188 typedef struct _WINDOWS_DEVICELIST {
192 
196 
200 
204 
208 
210 
211 #pragma pack(pop)
212 
213 #ifdef __cplusplus
214 }
215 #endif
216 
217 #endif /* __AF_IRDA_H */
WINDOWS_IAS_SET * PWINDOWS_IAS_SET
Definition: af_irda.h:203
#define IAS_MAX_CLASSNAME
Definition: af_irda.h:57
UCHAR OctetSeq[IAS_MAX_OCTET_STRING]
Definition: af_irda.h:178
struct _WINDOWS_IAS_SET WINDOWS_IAS_SET
struct _WINDOWS_IAS_QUERY WINDOWS_IAS_QUERY
char irdaAttribName[IAS_MAX_ATTRIBNAME]
Definition: af_irda.h:172
struct _WINDOWS_IRDA_DEVICE_INFO WINDOWS_IRDA_DEVICE_INFO
UCHAR irdaDeviceID[4]
Definition: af_irda.h:139
char irdaServiceName[25]
Definition: af_irda.h:140
UCHAR OctetSeq[IAS_MAX_OCTET_STRING]
Definition: af_irda.h:159
struct _WINDOWS_IAS_SET::@2675::@2677 irdaAttribUsrStr
long LONG
Definition: pedump.c:60
ULONG irdaAttribType
Definition: af_irda.h:173
WINDOWS_IAS_QUERY * PIAS_QUERY
Definition: af_irda.h:206
union _WINDOWS_IAS_SET::@2675 irdaAttribute
WINDOWS_DEVICELIST * PWINDOWS_DEVICELIST
Definition: af_irda.h:195
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)
Definition: guiddef.h:68
struct _WINDOWS_IAS_SET::@2675::@2676 irdaAttribOctetSeq
UCHAR UsrStr[IAS_MAX_USER_STRING]
Definition: af_irda.h:183
WINDOWS_DEVICELIST DEVICELIST
Definition: af_irda.h:193
unsigned char UCHAR
Definition: xmlstorage.h:181
WINDOWS_IAS_SET IAS_SET
Definition: af_irda.h:201
#define IAS_MAX_ATTRIBNAME
Definition: af_irda.h:58
char irdaClassName[IAS_MAX_CLASSNAME]
Definition: af_irda.h:152
_Must_inspect_result_ _In_ WDFDEVICE Device
Definition: wdfchildlist.h:474
WINDOWS_IRDA_DEVICE_INFO * PIRDA_DEVICE_INFO
Definition: af_irda.h:198
struct _WINDOWS_IAS_QUERY::@2678::@2680 irdaAttribUsrStr
WINDOWS_IRDA_DEVICE_INFO * PWINDOWS_IRDA_DEVICE_INFO
Definition: af_irda.h:199
ULONG irdaAttribType
Definition: af_irda.h:154
WINDOWS_IAS_QUERY * PWINDOWS_IAS_QUERY
Definition: af_irda.h:207
unsigned short USHORT
Definition: pedump.c:61
#define IAS_MAX_USER_STRING
Definition: af_irda.h:55
WINDOWS_IAS_QUERY IAS_QUERY
Definition: af_irda.h:205
LONG irdaAttribInt
Definition: af_irda.h:156
#define IAS_MAX_OCTET_STRING
Definition: af_irda.h:56
union _WINDOWS_IAS_QUERY::@2678 irdaAttribute
UCHAR UsrStr[IAS_MAX_USER_STRING]
Definition: af_irda.h:164
struct _WINDOWS_DEVICELIST WINDOWS_DEVICELIST
WINDOWS_DEVICELIST * PDEVICELIST
Definition: af_irda.h:194
struct _WINDOWS_IAS_QUERY::@2678::@2679 irdaAttribOctetSeq
char irdaAttribName[IAS_MAX_ATTRIBNAME]
Definition: af_irda.h:153
unsigned int ULONG
Definition: retypes.h:1
UCHAR irdaDeviceID[4]
Definition: af_irda.h:170
USHORT irdaAddressFamily
Definition: af_irda.h:138
SOCKADDR_IRDA * PSOCKADDR_IRDA
Definition: af_irda.h:209
WINDOWS_IRDA_DEVICE_INFO IRDA_DEVICE_INFO
Definition: af_irda.h:197
WINDOWS_IAS_SET * PIAS_SET
Definition: af_irda.h:202
char irdaClassName[IAS_MAX_CLASSNAME]
Definition: af_irda.h:171
struct _SOCKADDR_IRDA SOCKADDR_IRDA