aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-btsdp.h
blob: f61dedf021ce165edbcd93b0be09f73c9edd9ed9 (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
/* 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