ReactOS 0.4.15-dev-7953-g1f49173
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
27extern "C" {
28#endif
29
30#pragma pack(push,4)
31
32
33/* GUIDs */
34
35#ifdef DEFINE_GUID
36DEFINE_GUID(GUID_DEVINTERFACE_IRDAPORT,
37 0x86e0d1e0L, 0x8089, 0x11d0, 0x9c, 0xe4, 0x08, 0x00, 0x3e, 0x30, 0x1f, 0x74);
38DEFINE_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
83enum {
84/* First hint byte */
85 LM_HB1_PnP = 0x01,
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 ??? */
123typedef ULONG LM_BAUD_RATE;
124typedef 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;
134typedef LM_IRPARMS *PLM_IRPARMS;
135#endif
136
137typedef struct _SOCKADDR_IRDA {
142
150
151typedef struct _WINDOWS_IAS_SET {
155 union {
157 struct {
161 struct {
168
169typedef struct _WINDOWS_IAS_QUERY {
174 union {
176 struct {
180 struct {
181 ULONG Len;
187
188typedef 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 */
#define IAS_MAX_USER_STRING
Definition: af_irda.h:55
SOCKADDR_IRDA * PSOCKADDR_IRDA
Definition: af_irda.h:209
struct _WINDOWS_IRDA_DEVICE_INFO WINDOWS_IRDA_DEVICE_INFO
@ LM_HB2_Telephony
Definition: af_irda.h:93
@ LM_HB1_LANAccess
Definition: af_irda.h:91
@ LM_HB2_FileServer
Definition: af_irda.h:94
@ LM_HB1_Fax
Definition: af_irda.h:90
@ LM_HB1_PnP
Definition: af_irda.h:85
@ LM_HB1_Modem
Definition: af_irda.h:89
@ LM_HB1_Printer
Definition: af_irda.h:88
@ LM_HB1_PDA_Palmtop
Definition: af_irda.h:86
@ LM_HB1_Computer
Definition: af_irda.h:87
@ LM_HB_Extension
Definition: af_irda.h:96
WINDOWS_IAS_QUERY IAS_QUERY
Definition: af_irda.h:205
struct _WINDOWS_IAS_QUERY WINDOWS_IAS_QUERY
WINDOWS_IRDA_DEVICE_INFO IRDA_DEVICE_INFO
Definition: af_irda.h:197
struct _WINDOWS_DEVICELIST WINDOWS_DEVICELIST
struct _WINDOWS_IAS_SET WINDOWS_IAS_SET
WINDOWS_DEVICELIST * PWINDOWS_DEVICELIST
Definition: af_irda.h:195
WINDOWS_DEVICELIST DEVICELIST
Definition: af_irda.h:193
WINDOWS_IRDA_DEVICE_INFO * PWINDOWS_IRDA_DEVICE_INFO
Definition: af_irda.h:199
struct _SOCKADDR_IRDA SOCKADDR_IRDA
#define IAS_MAX_ATTRIBNAME
Definition: af_irda.h:58
WINDOWS_IAS_QUERY * PIAS_QUERY
Definition: af_irda.h:206
WINDOWS_DEVICELIST * PDEVICELIST
Definition: af_irda.h:194
WINDOWS_IAS_QUERY * PWINDOWS_IAS_QUERY
Definition: af_irda.h:207
WINDOWS_IRDA_DEVICE_INFO * PIRDA_DEVICE_INFO
Definition: af_irda.h:198
#define IAS_MAX_CLASSNAME
Definition: af_irda.h:57
WINDOWS_IAS_SET * PWINDOWS_IAS_SET
Definition: af_irda.h:203
WINDOWS_IAS_SET IAS_SET
Definition: af_irda.h:201
#define IAS_MAX_OCTET_STRING
Definition: af_irda.h:56
WINDOWS_IAS_SET * PIAS_SET
Definition: af_irda.h:202
long LONG
Definition: pedump.c:60
unsigned short USHORT
Definition: pedump.c:61
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)
Definition: guiddef.h:68
UCHAR irdaDeviceID[4]
Definition: af_irda.h:139
USHORT irdaAddressFamily
Definition: af_irda.h:138
char irdaServiceName[25]
Definition: af_irda.h:140
struct _WINDOWS_IAS_QUERY::@2718::@2719 irdaAttribOctetSeq
UCHAR UsrStr[IAS_MAX_USER_STRING]
Definition: af_irda.h:183
UCHAR irdaDeviceID[4]
Definition: af_irda.h:170
char irdaAttribName[IAS_MAX_ATTRIBNAME]
Definition: af_irda.h:172
ULONG irdaAttribType
Definition: af_irda.h:173
UCHAR OctetSeq[IAS_MAX_OCTET_STRING]
Definition: af_irda.h:178
char irdaClassName[IAS_MAX_CLASSNAME]
Definition: af_irda.h:171
struct _WINDOWS_IAS_QUERY::@2718::@2720 irdaAttribUsrStr
union _WINDOWS_IAS_QUERY::@2718 irdaAttribute
UCHAR UsrStr[IAS_MAX_USER_STRING]
Definition: af_irda.h:164
UCHAR OctetSeq[IAS_MAX_OCTET_STRING]
Definition: af_irda.h:159
union _WINDOWS_IAS_SET::@2715 irdaAttribute
LONG irdaAttribInt
Definition: af_irda.h:156
struct _WINDOWS_IAS_SET::@2715::@2716 irdaAttribOctetSeq
struct _WINDOWS_IAS_SET::@2715::@2717 irdaAttribUsrStr
ULONG irdaAttribType
Definition: af_irda.h:154
char irdaClassName[IAS_MAX_CLASSNAME]
Definition: af_irda.h:152
char irdaAttribName[IAS_MAX_ATTRIBNAME]
Definition: af_irda.h:153
uint32_t ULONG
Definition: typedefs.h:59
_Must_inspect_result_ _In_ WDFDEVICE Device
Definition: wdfchildlist.h:474
unsigned char UCHAR
Definition: xmlstorage.h:181