aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-btsdp.h
blob: 381d1d24f6539e937a96708fb9868c59eada93b9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
/* packet-btsdp.h
 *
 * $Id: $
 *
 * Wireshark - Network traffic analyzer
 * By Gerald Combs <gerald@wireshark.org>
 * Copyright 1998 Gerald Combs
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 */

#ifndef __PACKET_BTSDP_H__
#define __PACKET_BTSDP_H__

/* protocol UUIDs */
#define BTSDP_SDP_PROTOCOL_UUID				0x0001
#define BTSDP_RFCOMM_PROTOCOL_UUID			0x0003
#define BTSDP_BNEP_PROTOCOL_UUID				0x000f
#define BTSDP_HIDP_PROTOCOL_UUID				0x0011
#define BTSDP_AVCTP_PROTOCOL_UUID				0x0017
#define BTSDP_AVDTP_PROTOCOL_UUID				0x0019
#define BTSDP_L2CAP_PROTOCOL_UUID				0x0100
/* service UUIDs */
#define BTSDP_SPP_SERVICE_UUID					0x1101
#define BTSDP_DUN_SERVICE_UUID					0x1103
#define BTSDP_OPP_SERVICE_UUID					0x1105
#define BTSDP_FTP_SERVICE_UUID					0x1106
#define BTSDP_HSP_SERVICE_UUID					0x1108
#define BTSDP_PAN_PANU_SERVICE_UUID				0x1115
#define BTSDP_PAN_NAP_SERVICE_UUID				0x1116
#define BTSDP_PAN_GN_SERVICE_UUID				0x1117
#define BTSDP_BIP_SERVICE_UUID					0x111a
#define BTSDP_BIP_RESPONDER_SERVICE_UUID		0x111b
#define BTSDP_BIP_AUTO_ARCH_SERVICE_UUID		0x111c
#define BTSDP_BIP_REF_OBJ_SERVICE_UUID			0x111d
#define BTSDP_HFP_SERVICE_UUID					0x111e
#define BTSDP_HFP_GW_SERVICE_UUID				0x111f
#define BTSDP_BPP_SERVICE_UUID					0x1122
#define BTSDP_BPP_STATUS_SERVICE_UUID			0x1123
#define BTSDP_SAP_SERVICE_UUID					0x112d
#define BTSDP_PBAP_PCE_SERVICE_UUID				0x112e
#define BTSDP_PBAP_PSE_SERVICE_UUID				0x112f
#define BTSDP_PBAP_SERVICE_UUID					0x1130
#define BTSDP_MAP_ACCESS_SRV_SERVICE_UUID		0x1132
#define BTSDP_MAP_NOIYFY_SRV_SERVICE_UUID		0x1133
#define BTSDP_MAP_SERVICE_UUID					0x1134
#define BTSDP_HDP_SERVICE_UUID					0x1400

#define BTSDP_LOCAL_SERVICE_FLAG_MASK			0x0001
#define BTSDP_SECONDARY_CHANNEL_FLAG_MASK		0x0002

/* This structure is passed to other dissectors through the tap interface 
 * and contains information about the relation between service, PSM/server
 * channel, local/remote service. The btrfcomm and btl2cap dissectors
 * need this information to determine the kind of data transfered on
 * dynamically assigned server channels and PSM's, respectively.  
 */
typedef struct _btsdp_data_t {
	guint32			service;	/* service UUID, see below */
	guint32			channel;	/* rfcomm server channel or PSM */
	guint16			protocol;	/* either rfcomm or l2cap UUID */
	guint16			flags;	/* indicate if the service is local or remote
							(peer device) and/or a secondary PSM */
} btsdp_data_t;

/* service UUIDs */
static const value_string vs_service_classes[] = {
	{0x0001, "SDP"},
	{0x0002, "UDP"},
	{0x0003, "RFCOMM"},
	{0x0004, "TCP"},
	{0x0005, "TCS-BIN"},
	{0x0006, "TCS-AT"},
	{0x0008, "OBEX"},
	{0x0009, "IP"},
	{0x000A, "FTP"},
	{0x000C, "HTTP"},
	{0x000E, "WSP"},
	{0x000F, "BNEP"},
	{0x0010, "UPNP"},
	{0x0011, "HIDP"},
	{0x0012, "Hardcopy Control Channel"},
	{0x0014, "Hardcopy Data Channel"},
	{0x0016, "Hardcopy Notification"},
	{0x0017, "AVCTP"},
	{0x0019, "AVDTP"},
	{0x001B, "CMPT"},
	{0x001D, "UDI C-Plane"},
	{0x001E, "MCAP Control Channel"},
	{0x001F, "MCAP Data Channel"},
	{0x0100, "L2CAP"},
	{0x1000, "Service Discovery Server Service Class ID"},
	{0x1001, "Browse Group Descriptor Service Class ID"},
	{0x1002, "Public Browse Group"},
	{0x1101, "Serial Port"},
	{0x1102, "LAN Access Using PPP"},
	{0x1103, "Dialup Networking"},
	{0x1104, "IrMC Sync"},
	{0x1105, "OBEX Object Push"},
	{0x1106, "OBEX File Transfer"},
	{0x1107, "IrMC Sync Command"},
	{0x1108, "Headset"},
	{0x1109, "Cordless Telephony"},
	{0x110A, "Audio Source"},
	{0x110B, "Audio Sink"},
	{0x110C, "A/V Remote Control Target"},
	{0x110D, "Advanced Audio Distribution"},
	{0x110E, "A/V Remote Control"},
	{0x110F, "Video Conferencing"},
	{0x1110, "Intercom"},
	{0x1111, "Fax"},
	{0x1112, "Headset Audio Gateway"},
	{0x1113, "WAP"},
	{0x1114, "WAP client"},
	{0x1115, "PANU"},
	{0x1116, "NAP"},
	{0x1117, "GN"},
	{0x1118, "Direct Printing"},
	{0x1119, "Reference Printing"},
	{0x111A, "Imaging"},
	{0x111B, "Imaging Responder"},
	{0x111C, "Imaging Automatic Archive"},
	{0x111D, "Imaging Referenced Objects"},
	{0x111E, "Handsfree"},
	{0x111F, "Handsfree Audio Gateway"},
	{0x1120, "Direct Printing Reference Objects Service"},
	{0x1121, "Reflected UI"},
	{0x1122, "Basic Printing"},
	{0x1123, "Printing Status"},
	{0x1124, "Human Interface Device Service"},
	{0x1125, "Hardcopy Cable Replacement"},
	{0x1126, "HCR Print"},
	{0x1127, "HCR Scan"},
	{0x1128, "Common ISDN Access"},
	{0x1129, "Video Conferencing GW"},
	{0x112A, "UDI MT"},
	{0x112B, "UDI TA"},
	{0x112C, "Audio/Video"},
	{0x112D, "SIM Access"},
	{0x112E, "Phonebook Access client"},
	{0x112F, "Phonebook Access server"},
	{0x1130, "Phonebook Access Profile"},
	{0x1131, "Headset - HS"},
	{0x1132, "Message Access Server"},
	{0x1133, "Message Notification Server"},
	{0x1134, "Message Access Profile"},
	{0x1200, "PnP Information"},
	{0x1201, "Generic Networking"},
	{0x1202, "Generic File Transfer"},
	{0x1203, "Generic Audio"},
	{0x1204, "Generic Telephony"},
	{0x1205, "UPNP_Service"},
	{0x1206, "UPNP_IP_Service"},
	{0x1300, "ESDP_UPNP_IP_PAN"},
	{0x1301, "ESDP_UPNP_IP_LAP"},
	{0x1302, "ESDP_UPNP_L2CAP"},
	{0x1303, "Video Source"},
	{0x1304, "Video Sink"},
	{0x1305, "Video Distribution"},
	{0x1400, "Health Device Profile"},
	{0x1401, "Health Device Source"},
	{0x1402, "Health Device Sink"},
	{0, NULL}
};

#endif
/* packet-btsdp.h
 *
 * $Id: $
 *
 * Wireshark - Network traffic analyzer
 * By Gerald Combs <gerald@wireshark.org>
 * Copyright 1998 Gerald Combs
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 */

#ifndef __PACKET_BTSDP_H__
#define __PACKET_BTSDP_H__

/* protocol UUIDs */
#define BTSDP_SDP_PROTOCOL_UUID				0x0001
#define BTSDP_RFCOMM_PROTOCOL_UUID			0x0003
#define BTSDP_BNEP_PROTOCOL_UUID				0x000f
#define BTSDP_HIDP_PROTOCOL_UUID				0x0011
#define BTSDP_AVCTP_PROTOCOL_UUID				0x0017
#define BTSDP_AVDTP_PROTOCOL_UUID				0x0019
#define BTSDP_L2CAP_PROTOCOL_UUID				0x0100
/* service UUIDs */
#define BTSDP_SPP_SERVICE_UUID					0x1101
#define BTSDP_DUN_SERVICE_UUID					0x1103
#define BTSDP_OPP_SERVICE_UUID					0x1105
#define BTSDP_FTP_SERVICE_UUID					0x1106
#define BTSDP_HSP_SERVICE_UUID					0x1108
#define BTSDP_PAN_PANU_SERVICE_UUID				0x1115
#define BTSDP_PAN_NAP_SERVICE_UUID				0x1116
#define BTSDP_PAN_GN_SERVICE_UUID				0x1117
#define BTSDP_BIP_SERVICE_UUID					0x111a
#define BTSDP_BIP_RESPONDER_SERVICE_UUID		0x111b
#define BTSDP_BIP_AUTO_ARCH_SERVICE_UUID		0x111c
#define BTSDP_BIP_REF_OBJ_SERVICE_UUID			0x111d
#define BTSDP_HFP_SERVICE_UUID					0x111e
#define BTSDP_HFP_GW_SERVICE_UUID				0x111f
#define BTSDP_BPP_SERVICE_UUID					0x1122
#define BTSDP_BPP_STATUS_SERVICE_UUID			0x1123
#define BTSDP_SAP_SERVICE_UUID					0x112d
#define BTSDP_PBAP_PCE_SERVICE_UUID				0x112e
#define BTSDP_PBAP_PSE_SERVICE_UUID				0x112f
#define BTSDP_PBAP_SERVICE_UUID					0x1130
#define BTSDP_MAP_ACCESS_SRV_SERVICE_UUID		0x1132
#define BTSDP_MAP_NOIYFY_SRV_SERVICE_UUID		0x1133
#define BTSDP_MAP_SERVICE_UUID					0x1134
#define BTSDP_HDP_SERVICE_UUID					0x1400

#define BTSDP_LOCAL_SERVICE_FLAG_MASK			0x0001
#define BTSDP_SECONDARY_CHANNEL_FLAG_MASK		0x0002

/* This structure is passed to other dissectors through the tap interface 
 * and contains information about the relation between service, PSM/server
 * channel, local/remote service. The btrfcomm and btl2cap dissectors
 * need this information to determine the kind of data transfered on
 * dynamically assigned server channels and PSM's, respectively.  
 */
typedef struct _btsdp_data_t {
	guint32			service;	/* service UUID, see below */
	guint32			channel;	/* rfcomm server channel or PSM */
	guint16			protocol;	/* either rfcomm or l2cap UUID */
	guint16			flags;	/* indicate if the service is local or remote
							(peer device) and/or a secondary PSM */
} btsdp_data_t;

/* service UUIDs */
static const value_string vs_service_classes[] = {
	{0x0001, "SDP"},
	{0x0002, "UDP"},
	{0x0003, "RFCOMM"},
	{0x0004, "TCP"},
	{0x0005, "TCS-BIN"},
	{0x0006, "TCS-AT"},
	{0x0008, "OBEX"},
	{0x0009, "IP"},
	{0x000A, "FTP"},
	{0x000C, "HTTP"},
	{0x000E, "WSP"},
	{0x000F, "BNEP"},
	{0x0010, "UPNP"},
	{0x0011, "HIDP"},
	{0x0012, "Hardcopy Control Channel"},
	{0x0014, "Hardcopy Data Channel"},
	{0x0016, "Hardcopy Notification"},
	{0x0017, "AVCTP"},
	{0x0019, "AVDTP"},
	{0x001B, "CMPT"},
	{0x001D, "UDI C-Plane"},
	{0x001E, "MCAP Control Channel"},
	{0x001F, "MCAP Data Channel"},
	{0x0100, "L2CAP"},
	{0x1000, "Service Discovery Server Service Class ID"},
	{0x1001, "Browse Group Descriptor Service Class ID"},
	{0x1002, "Public Browse Group"},
	{0x1101, "Serial Port"},
	{0x1102, "LAN Access Using PPP"},
	{0x1103, "Dialup Networking"},
	{0x1104, "IrMC Sync"},
	{0x1105, "OBEX Object Push"},
	{0x1106, "OBEX File Transfer"},
	{0x1107, "IrMC Sync Command"},
	{0x1108, "Headset"},
	{0x1109, "Cordless Telephony"},
	{0x110A, "Audio Source"},
	{0x110B, "Audio Sink"},
	{0x110C, "A/V Remote Control Target"},
	{0x110D, "Advanced Audio Distribution"},
	{0x110E, "A/V Remote Control"},
	{0x110F, "Video Conferencing"},
	{0x1110, "Intercom"},
	{0x1111, "Fax"},
	{0x1112, "Headset Audio Gateway"},
	{0x1113, "WAP"},
	{0x1114, "WAP client"},
	{0x1115, "PANU"},
	{0x1116, "NAP"},
	{0x1117, "GN"},
	{0x1118, "Direct Printing"},
	{0x1119, "Reference Printing"},
	{0x111A, "Imaging"},
	{0x111B, "Imaging Responder"},
	{0x111C, "Imaging Automatic Archive"},
	{0x111D, "Imaging Referenced Objects"},
	{0x111E, "Handsfree"},
	{0x111F, "Handsfree Audio Gateway"},
	{0x1120, "Direct Printing Reference Objects Service"},
	{0x1121, "Reflected UI"},
	{0x1122, "Basic Printing"},
	{0x1123, "Printing Status"},
	{0x1124, "Human Interface Device Service"},
	{0x1125, "Hardcopy Cable Replacement"},
	{0x1126, "HCR Print"},
	{0x1127, "HCR Scan"},
	{0x1128, "Common ISDN Access"},
	{0x1129, "Video Conferencing GW"},
	{0x112A, "UDI MT"},
	{0x112B, "UDI TA"},
	{0x112C, "Audio/Video"},
	{0x112D, "SIM Access"},
	{0x112E, "Phonebook Access client"},
	{0x112F, "Phonebook Access server"},
	{0x1130, "Phonebook Access Profile"},
	{0x1131, "Headset - HS"},
	{0x1132, "Message Access Server"},
	{0x1133, "Message Notification Server"},
	{0x1134, "Message Access Profile"},
	{0x1200, "PnP Information"},
	{0x1201, "Generic Networking"},
	{0x1202, "Generic File Transfer"},
	{0x1203, "Generic Audio"},
	{0x1204, "Generic Telephony"},
	{0x1205, "UPNP_Service"},
	{0x1206, "UPNP_IP_Service"},
	{0x1300, "ESDP_UPNP_IP_PAN"},
	{0x1301, "ESDP_UPNP_IP_LAP"},
	{0x1302, "ESDP_UPNP_L2CAP"},
	{0x1303, "Video Source"},
	{0x1304, "Video Sink"},
	{0x1305, "Video Distribution"},
	{0x1400, "Health Device Profile"},
	{0x1401, "Health Device Source"},
	{0x1402, "Health Device Sink"},
	{0, NULL}
};

#endif