1 /*
2  * Copyright 2023 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #pragma once
18 
19 /* Define common 16-bit protocol UUIDs
20  */
21 #define UUID_PROTOCOL_RFCOMM 0x0003
22 #define UUID_PROTOCOL_OBEX 0x0008
23 #define UUID_PROTOCOL_BNEP 0x000F
24 #define UUID_PROTOCOL_HIDP 0x0011
25 #define UUID_PROTOCOL_AVCTP 0x0017
26 #define UUID_PROTOCOL_AVDTP 0x0019
27 #define UUID_PROTOCOL_L2CAP 0x0100
28 #define UUID_PROTOCOL_ATT 0x0007
29 
30 /* Define common 16-bit service class UUIDs
31  */
32 #define UUID_SERVCLASS_SERVICE_DISCOVERY_SERVER 0X1000
33 #define UUID_SERVCLASS_BROWSE_GROUP_DESCRIPTOR 0X1001
34 #define UUID_SERVCLASS_PUBLIC_BROWSE_GROUP 0X1002
35 #define UUID_SERVCLASS_SERIAL_PORT 0X1101
36 #define UUID_SERVCLASS_LAN_ACCESS_USING_PPP 0X1102
37 #define UUID_SERVCLASS_DIALUP_NETWORKING 0X1103
38 #define UUID_SERVCLASS_IRMC_SYNC 0X1104
39 #define UUID_SERVCLASS_OBEX_OBJECT_PUSH 0X1105
40 #define UUID_SERVCLASS_OBEX_FILE_TRANSFER 0X1106
41 #define UUID_SERVCLASS_IRMC_SYNC_COMMAND 0X1107
42 #define UUID_SERVCLASS_HEADSET 0X1108
43 #define UUID_SERVCLASS_CORDLESS_TELEPHONY 0X1109
44 #define UUID_SERVCLASS_AUDIO_SOURCE 0X110A
45 #define UUID_SERVCLASS_AUDIO_SINK 0X110B
46 /* Audio/Video Control profile */
47 #define UUID_SERVCLASS_AV_REM_CTRL_TARGET 0X110C
48 /* Advanced Audio Distribution profile */
49 #define UUID_SERVCLASS_ADV_AUDIO_DISTRIBUTION 0X110D
50 /* Audio/Video Control profile */
51 #define UUID_SERVCLASS_AV_REMOTE_CONTROL 0X110E
52 /* Audio/Video Control profile */
53 #define UUID_SERVCLASS_AV_REM_CTRL_CONTROL 0X110F
54 #define UUID_SERVCLASS_INTERCOM 0X1110
55 #define UUID_SERVCLASS_FAX 0X1111
56 #define UUID_SERVCLASS_HEADSET_AUDIO_GATEWAY 0X1112
57 #define UUID_SERVCLASS_WAP 0X1113
58 #define UUID_SERVCLASS_WAP_CLIENT 0X1114
59 #define UUID_SERVCLASS_PANU 0X1115                    /* PAN profile */
60 #define UUID_SERVCLASS_NAP 0X1116                     /* PAN profile */
61 #define UUID_SERVCLASS_GN 0X1117                      /* PAN profile */
62 #define UUID_SERVCLASS_DIRECT_PRINTING 0X1118         /* BPP profile */
63 #define UUID_SERVCLASS_REFERENCE_PRINTING 0X1119      /* BPP profile */
64 #define UUID_SERVCLASS_IMAGING 0X111A                 /* Imaging profile */
65 #define UUID_SERVCLASS_IMAGING_RESPONDER 0X111B       /* Imaging profile */
66 #define UUID_SERVCLASS_IMAGING_AUTO_ARCHIVE 0X111C    /* Imaging profile */
67 #define UUID_SERVCLASS_IMAGING_REF_OBJECTS 0X111D     /* Imaging profile */
68 #define UUID_SERVCLASS_HF_HANDSFREE 0X111E            /* Handsfree profile */
69 #define UUID_SERVCLASS_AG_HANDSFREE 0X111F            /* Handsfree profile */
70 #define UUID_SERVCLASS_DIR_PRT_REF_OBJ_SERVICE 0X1120 /* BPP profile */
71 #define UUID_SERVCLASS_REFLECTED_UI 0X1121            /* BPP profile */
72 #define UUID_SERVCLASS_BASIC_PRINTING 0X1122          /* BPP profile */
73 #define UUID_SERVCLASS_PRINTING_STATUS 0X1123         /* BPP profile */
74 #define UUID_SERVCLASS_HUMAN_INTERFACE 0X1124         /* HID profile */
75 #define UUID_SERVCLASS_CABLE_REPLACEMENT 0X1125       /* HCRP profile */
76 #define UUID_SERVCLASS_HCRP_PRINT 0X1126              /* HCRP profile */
77 #define UUID_SERVCLASS_HCRP_SCAN 0X1127               /* HCRP profile */
78 /* CAPI Message Transport Protocol*/
79 #define UUID_SERVCLASS_COMMON_ISDN_ACCESS 0X1128
80 /* Video Conferencing profile */
81 #define UUID_SERVCLASS_VIDEO_CONFERENCING_GW 0X1129
82 /* Unrestricted Digital Information profile */
83 #define UUID_SERVCLASS_UDI_MT 0X112A
84 /* Unrestricted Digital Information profile */
85 #define UUID_SERVCLASS_UDI_TA 0X112B
86 #define UUID_SERVCLASS_VCP 0X112C      /* Video Conferencing profile */
87 #define UUID_SERVCLASS_SAP 0X112D      /* SIM Access profile */
88 #define UUID_SERVCLASS_PBAP_PCE 0X112E /* Phonebook Access - PCE */
89 #define UUID_SERVCLASS_PBAP_PSE 0X112F /* Phonebook Access - PSE */
90 #define UUID_SERVCLASS_PHONE_ACCESS 0x1130
91 #define UUID_SERVCLASS_HEADSET_HS 0x1131 /* Headset - HS, from HSP v1.2 */
92 #define UUID_SERVCLASS_MPS_PROFILE \
93   0x113A /* Multi-Profile Specification - Profile */
94 #define UUID_SERVCLASS_MPS_SC \
95   0x113B /* Multi-Profile Specification - Service Class */
96 #define UUID_SERVCLASS_PNP_INFORMATION 0X1200 /* Device Identification */
97 #define UUID_SERVCLASS_GENERIC_NETWORKING 0X1201
98 #define UUID_SERVCLASS_GENERIC_FILETRANSFER 0X1202
99 #define UUID_SERVCLASS_GENERIC_AUDIO 0X1203
100 #define UUID_SERVCLASS_GENERIC_TELEPHONY 0X1204
101 #define UUID_SERVCLASS_UPNP_SERVICE 0X1205       /* UPNP_Service [ESDP] */
102 #define UUID_SERVCLASS_UPNP_IP_SERVICE 0X1206    /* UPNP_IP_Service [ESDP] */
103 #define UUID_SERVCLASS_ESDP_UPNP_IP_PAN 0X1300   /* UPNP_IP_PAN [ESDP] */
104 #define UUID_SERVCLASS_ESDP_UPNP_IP_LAP 0X1301   /* UPNP_IP_LAP [ESDP] */
105 #define UUID_SERVCLASS_ESDP_UPNP_IP_L2CAP 0X1302 /* UPNP_L2CAP [ESDP] */
106 
107 /* Video Distribution Profile (VDP) */
108 #define UUID_SERVCLASS_VIDEO_SOURCE 0X1303
109 #define UUID_SERVCLASS_VIDEO_SINK 0X1304
110 #define UUID_SERVCLASS_VIDEO_DISTRIBUTION 0X1305
111 
112 #define UUID_SERVCLASS_HDP_PROFILE 0X1400    /* Health Device profile (HDP) */
113 #define UUID_SERVCLASS_HDP_SOURCE 0X1401     /* Health Device profile (HDP) */
114 #define UUID_SERVCLASS_HDP_SINK 0X1402       /* Health Device profile (HDP) */
115 #define UUID_SERVCLASS_MAP_PROFILE 0X1134    /* MAP profile */
116 #define UUID_SERVCLASS_MESSAGE_ACCESS 0X1132 /* Message Access Service */
117 #define UUID_SERVCLASS_MESSAGE_NOTIFICATION \
118   0X1133 /* Message Notification Service */
119 
120 #define UUID_SERVCLASS_GAP_SERVER 0x1800
121 #define UUID_SERVCLASS_GATT_SERVER 0x1801
122 #define UUID_SERVCLASS_DEVICE_INFO 0x180A /* device info service */
123 #define UUID_SERVCLASS_LE_HID 0x1812      /*  HID over LE */
124 #define UUID_SERVCLASS_SCAN_PARAM 0x1813  /* Scan Parameter service */
125 
126 #define UUID_SERVCLASS_VOLUME_CONTROL_SERVER 0x1844
127 #define UUID_SERVCLASS_GMCS_SERVER 0x1849 /* Generic Media Control Service */
128 #define UUID_SERVCLASS_GTBS_SERVER   \
129   0x184c /* Generic Telephony Bearer \
130             Service*/
131 #define UUID_SERVCLASS_TMAS_SERVER \
132   0x1855 /* Telephone and Media Audio Service */
133