ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/Daodan/MSYS2/mingw32/i686-w64-mingw32/include/ws2bth.h
Revision: 1166
Committed: Tue Oct 26 14:22:36 2021 UTC (4 years ago) by rossy
Content type: text/x-chdr
File size: 5661 byte(s)
Log Message:
Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File Contents

# Content
1 /**
2 * This file is part of the mingw-w64 runtime package.
3 * No warranty is given; refer to the file DISCLAIMER within this package.
4 */
5
6 #include <winapifamily.h>
7
8 #ifndef __WS2BTH__H
9 #define __WS2BTH__H
10
11 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
12
13 #include <bthdef.h>
14 #include <bthsdpdef.h>
15 #include <pshpack1.h>
16
17 #define BT_PORT_ANY ((ULONG)-1)
18 #define BT_PORT_MIN 0x1
19 #define BT_PORT_MAX 0xffff
20 #define BT_PORT_DYN_FIRST 0x1001
21
22 #ifndef AF_BTH
23 #define AF_BTH 32
24 #endif
25
26 #ifndef PF_BTH
27 #define PF_BTH AF_BTH
28 #endif
29
30 #ifndef NS_BTH
31 #define NS_BTH 16
32 #endif
33
34 typedef struct _SOCKADDR_BTH {
35 USHORT addressFamily;
36 BTH_ADDR btAddr;
37 GUID serviceClassId;
38 ULONG port;
39 } SOCKADDR_BTH,*PSOCKADDR_BTH;
40
41 DEFINE_GUID (SVCID_BTH_PROVIDER, 0x6aa63e0, 0x7d60, 0x41ff, 0xaf, 0xb2, 0x3e, 0xe6, 0xd2, 0xd9, 0x39, 0x2d);
42
43 #define BTH_ADDR_STRING_SIZE 12
44
45 #define BTHPROTO_RFCOMM 0x0003
46 #define BTHPROTO_L2CAP 0x0100
47
48 #define SOL_RFCOMM BTHPROTO_RFCOMM
49 #define SOL_L2CAP BTHPROTO_L2CAP
50 #define SOL_SDP 0x0101
51
52 #define SO_BTH_AUTHENTICATE 0x80000001
53 #define SO_BTH_ENCRYPT 0x00000002
54 #define SO_BTH_MTU 0x80000007
55 #define SO_BTH_MTU_MAX 0x80000008
56 #define SO_BTH_MTU_MIN 0x8000000a
57
58 #define RFCOMM_MAX_MTU 0x000003f3
59 #define RFCOMM_MIN_MTU 0x00000017
60
61 #define BTH_SDP_VERSION 1
62
63 typedef struct _BTH_SET_SERVICE {
64 PULONG pSdpVersion;
65 HANDLE *pRecordHandle;
66 ULONG fCodService;
67 ULONG Reserved[5];
68 ULONG ulRecordLength;
69 UCHAR pRecord[1];
70 } BTH_SET_SERVICE,*PBTH_SET_SERVICE;
71
72 #define SDP_DEFAULT_INQUIRY_SECONDS 6
73 #define SDP_MAX_INQUIRY_SECONDS 60
74
75 #define SDP_DEFAULT_INQUIRY_MAX_RESPONSES 255
76
77 #define SDP_SERVICE_SEARCH_REQUEST 1
78 #define SDP_SERVICE_ATTRIBUTE_REQUEST 2
79 #define SDP_SERVICE_SEARCH_ATTRIBUTE_REQUEST 3
80
81 typedef struct _BTH_QUERY_DEVICE {
82 ULONG LAP;
83 UCHAR length;
84 } BTH_QUERY_DEVICE,*PBTH_QUERY_DEVICE;
85 typedef struct _BTH_QUERY_SERVICE {
86 ULONG type;
87 ULONG serviceHandle;
88 SdpQueryUuid uuids[MAX_UUIDS_IN_QUERY];
89 ULONG numRange;
90 SdpAttributeRange pRange[1];
91 } BTH_QUERY_SERVICE,*PBTH_QUERY_SERVICE;
92
93 #define BTHNS_RESULT_DEVICE_CONNECTED 0x00010000
94 #define BTHNS_RESULT_DEVICE_REMEMBERED 0x00020000
95 #define BTHNS_RESULT_DEVICE_AUTHENTICATED 0x00040000
96
97 #define SIO_RFCOMM_SEND_COMMAND _WSAIORW (IOC_VENDOR, 101)
98 #define SIO_RFCOMM_WAIT_COMMAND _WSAIORW (IOC_VENDOR, 102)
99
100 #define SIO_BTH_PING _WSAIORW (IOC_VENDOR, 8)
101 #define SIO_BTH_INFO _WSAIORW (IOC_VENDOR, 9)
102 #define SIO_RFCOMM_SESSION_FLOW_OFF _WSAIORW (IOC_VENDOR, 103)
103 #define SIO_RFCOMM_TEST _WSAIORW (IOC_VENDOR, 104)
104 #define SIO_RFCOMM_USECFC _WSAIORW (IOC_VENDOR, 105)
105
106 #ifndef BIT
107 #define BIT(b) (1 << (b))
108 #endif
109
110 #define MSC_EA_BIT EA_BIT
111 #define MSC_FC_BIT BIT (1)
112 #define MSC_RTC_BIT BIT (2)
113 #define MSC_RTR_BIT BIT (3)
114 #define MSC_RESERVED (BIT (4)|BIT (5))
115 #define MSC_IC_BIT BIT (6)
116 #define MSC_DV_BIT BIT (7)
117
118 #define MSC_BREAK_BIT BIT (1)
119 #define MSC_SET_BREAK_LENGTH (b, l) ((b) = ((b) &0x3) | (((l) &0xf) << 4))
120
121 #define RLS_ERROR 0x01
122 #define RLS_OVERRUN 0x02
123 #define RLS_PARITY 0x04
124 #define RLS_FRAMING 0x08
125
126 #define RPN_BAUD_2400 0
127 #define RPN_BAUD_4800 1
128 #define RPN_BAUD_7200 2
129 #define RPN_BAUD_9600 3
130 #define RPN_BAUD_19200 4
131 #define RPN_BAUD_38400 5
132 #define RPN_BAUD_57600 6
133 #define RPN_BAUD_115200 7
134 #define RPN_BAUD_230400 8
135
136 #define RPN_DATA_5 0x0
137 #define RPN_DATA_6 0x1
138 #define RPN_DATA_7 0x2
139 #define RPN_DATA_8 0x3
140
141 #define RPN_STOP_1 0x0
142 #define RPN_STOP_1_5 0x4
143
144 #define RPN_PARITY_NONE 0x00
145 #define RPN_PARITY_ODD 0x08
146 #define RPN_PARITY_EVEN 0x18
147 #define RPN_PARITY_MARK 0x28
148 #define RPN_PARITY_SPACE 0x38
149
150 #define RPN_FLOW_X_IN 0x01
151 #define RPN_FLOW_X_OUT 0x02
152 #define RPN_FLOW_RTR_IN 0x04
153 #define RPN_FLOW_RTR_OUT 0x08
154 #define RPN_FLOW_RTC_IN 0x10
155 #define RPN_FLOW_RTC_OUT 0x20
156
157 #define RPN_PARAM_BAUD 0x01
158 #define RPN_PARAM_DATA 0x02
159 #define RPN_PARAM_STOP 0x04
160 #define RPN_PARAM_PARITY 0x08
161 #define RPN_PARAM_P_TYPE 0x10
162 #define RPN_PARAM_XON 0x20
163 #define RPN_PARAM_XOFF 0x40
164
165 #define RPN_PARAM_X_IN 0x01
166 #define RPN_PARAM_X_OUT 0x02
167 #define RPN_PARAM_RTR_IN 0x04
168 #define RPN_PARAM_RTR_OUT 0x08
169 #define RPN_PARAM_RTC_IN 0x10
170 #define RPN_PARAM_RTC_OUT 0x20
171
172 #define RFCOMM_CMD_NONE 0
173 #define RFCOMM_CMD_MSC 1
174 #define RFCOMM_CMD_RLS 2
175 #define RFCOMM_CMD_RPN 3
176 #define RFCOMM_CMD_RPN_REQUEST 4
177 #define RFCOMM_CMD_RPN_RESPONSE 5
178
179 typedef struct _RFCOMM_MSC_DATA {
180 UCHAR Signals;
181 UCHAR Break;
182 } RFCOMM_MSC_DATA,*PRFCOMM_MSC_DATA;
183
184 typedef struct _RFCOMM_RLS_DATA {
185 UCHAR LineStatus;
186 } RFCOMM_RLS_DATA,*PRFCOMM_RLS_DATA;
187
188 typedef struct _RFCOMM_RPN_DATA {
189 UCHAR Baud;
190 UCHAR Data;
191 UCHAR FlowControl;
192 UCHAR XonChar;
193 UCHAR XoffChar;
194 UCHAR ParameterMask1;
195 UCHAR ParameterMask2;
196 } RFCOMM_RPN_DATA,*PRFCOMM_RPN_DATA;
197
198 typedef struct _RFCOMM_COMMAND {
199 ULONG CmdType;
200 union {
201 RFCOMM_MSC_DATA MSC;
202 RFCOMM_RLS_DATA RLS;
203 RFCOMM_RPN_DATA RPN;
204 } Data;
205 } RFCOMM_COMMAND,*PRFCOMM_COMMAND;
206
207 typedef struct _BTH_PING_REQ {
208 BTH_ADDR btAddr;
209 UCHAR dataLen;
210 UCHAR data[MAX_L2CAP_PING_DATA_LENGTH];
211 } BTH_PING_REQ,*PBTH_PING_REQ;
212
213 typedef struct _BTH_PING_RSP {
214 UCHAR dataLen;
215 UCHAR data[MAX_L2CAP_PING_DATA_LENGTH];
216 } BTH_PING_RSP,*PBTH_PING_RSP;
217
218 typedef struct _BTH_INFO_REQ {
219 BTH_ADDR btAddr;
220 USHORT infoType;
221 } BTH_INFO_REQ,*PBTH_INFO_REQ;
222
223 typedef struct _BTH_INFO_RSP {
224 USHORT result;
225 UCHAR dataLen;
226 __C89_NAMELESS union {
227 USHORT connectionlessMTU;
228 UCHAR data[MAX_L2CAP_INFO_DATA_LENGTH];
229 };
230 } BTH_INFO_RSP,*PBTH_INFO_RSP;
231
232 typedef struct _BTH_SET_SERVICE BTHNS_SETBLOB,*PBTHNS_SETBLOB;
233 typedef struct _BTH_QUERY_DEVICE BTHNS_INQUIRYBLOB,*PBTHNS_INQUIRYBLOB;
234 typedef struct _BTH_QUERY_SERVICE BTHNS_RESTRICTIONBLOB,*PBTHNS_RESTRICTIONBLOB;
235
236 #include <poppack.h>
237
238 #endif
239
240 #endif