The Android Open Source Project | 5738f83 | 2012-12-12 16:00:35 -0800 | [diff] [blame] | 1 | /****************************************************************************** |
| 2 | * |
Jakub Pawlowski | 5b790fe | 2017-09-18 09:00:20 -0700 | [diff] [blame] | 3 | * Copyright 1999-2012 Broadcom Corporation |
The Android Open Source Project | 5738f83 | 2012-12-12 16:00:35 -0800 | [diff] [blame] | 4 | * |
| 5 | * Licensed under the Apache License, Version 2.0 (the "License"); |
| 6 | * you may not use this file except in compliance with the License. |
| 7 | * You may obtain a copy of the License at: |
| 8 | * |
| 9 | * http://www.apache.org/licenses/LICENSE-2.0 |
| 10 | * |
| 11 | * Unless required by applicable law or agreed to in writing, software |
| 12 | * distributed under the License is distributed on an "AS IS" BASIS, |
| 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 14 | * See the License for the specific language governing permissions and |
| 15 | * limitations under the License. |
| 16 | * |
| 17 | ******************************************************************************/ |
| 18 | |
| 19 | /****************************************************************************** |
| 20 | * |
| 21 | * This file contains internally used ATT definitions |
| 22 | * |
| 23 | ******************************************************************************/ |
| 24 | |
Myles Watson | 911d1ae | 2016-11-28 16:44:40 -0800 | [diff] [blame] | 25 | #ifndef _GATTDEFS_H |
| 26 | #define _GATTDEFS_H |
The Android Open Source Project | 5738f83 | 2012-12-12 16:00:35 -0800 | [diff] [blame] | 27 | |
Myles Watson | 911d1ae | 2016-11-28 16:44:40 -0800 | [diff] [blame] | 28 | #define GATT_ILLEGAL_UUID 0 |
The Android Open Source Project | 5738f83 | 2012-12-12 16:00:35 -0800 | [diff] [blame] | 29 | |
| 30 | /* GATT attribute types |
Stanley Tng | 8b9f17b | 2018-12-25 18:12:51 -0800 | [diff] [blame] | 31 | */ |
Myles Watson | 911d1ae | 2016-11-28 16:44:40 -0800 | [diff] [blame] | 32 | #define GATT_UUID_PRI_SERVICE 0x2800 |
| 33 | #define GATT_UUID_SEC_SERVICE 0x2801 |
| 34 | #define GATT_UUID_INCLUDE_SERVICE 0x2802 |
Myles Watson | 9ca0709 | 2016-11-28 16:41:53 -0800 | [diff] [blame] | 35 | /* Characteristic Declaration*/ |
Myles Watson | 911d1ae | 2016-11-28 16:44:40 -0800 | [diff] [blame] | 36 | #define GATT_UUID_CHAR_DECLARE 0x2803 |
The Android Open Source Project | 5738f83 | 2012-12-12 16:00:35 -0800 | [diff] [blame] | 37 | |
Myles Watson | 9ca0709 | 2016-11-28 16:41:53 -0800 | [diff] [blame] | 38 | /* Characteristic Extended Properties */ |
Myles Watson | 911d1ae | 2016-11-28 16:44:40 -0800 | [diff] [blame] | 39 | #define GATT_UUID_CHAR_EXT_PROP 0x2900 |
Myles Watson | 9ca0709 | 2016-11-28 16:41:53 -0800 | [diff] [blame] | 40 | /* Characteristic User Description*/ |
Myles Watson | 911d1ae | 2016-11-28 16:44:40 -0800 | [diff] [blame] | 41 | #define GATT_UUID_CHAR_DESCRIPTION 0x2901 |
Myles Watson | 9ca0709 | 2016-11-28 16:41:53 -0800 | [diff] [blame] | 42 | /* Client Characteristic Configuration */ |
Myles Watson | 911d1ae | 2016-11-28 16:44:40 -0800 | [diff] [blame] | 43 | #define GATT_UUID_CHAR_CLIENT_CONFIG 0x2902 |
Myles Watson | 9ca0709 | 2016-11-28 16:41:53 -0800 | [diff] [blame] | 44 | /* Server Characteristic Configuration */ |
Myles Watson | 911d1ae | 2016-11-28 16:44:40 -0800 | [diff] [blame] | 45 | #define GATT_UUID_CHAR_SRVR_CONFIG 0x2903 |
Myles Watson | 9ca0709 | 2016-11-28 16:41:53 -0800 | [diff] [blame] | 46 | /* Characteristic Presentation Format*/ |
Myles Watson | 911d1ae | 2016-11-28 16:44:40 -0800 | [diff] [blame] | 47 | #define GATT_UUID_CHAR_PRESENT_FORMAT 0x2904 |
Myles Watson | 9ca0709 | 2016-11-28 16:41:53 -0800 | [diff] [blame] | 48 | /* Characteristic Aggregate Format*/ |
Myles Watson | 911d1ae | 2016-11-28 16:44:40 -0800 | [diff] [blame] | 49 | #define GATT_UUID_CHAR_AGG_FORMAT 0x2905 |
Myles Watson | 9ca0709 | 2016-11-28 16:41:53 -0800 | [diff] [blame] | 50 | /* Characteristic Valid Range */ |
Myles Watson | 911d1ae | 2016-11-28 16:44:40 -0800 | [diff] [blame] | 51 | #define GATT_UUID_CHAR_VALID_RANGE 0x2906 |
| 52 | #define GATT_UUID_EXT_RPT_REF_DESCR 0x2907 |
| 53 | #define GATT_UUID_RPT_REF_DESCR 0x2908 |
The Android Open Source Project | 5738f83 | 2012-12-12 16:00:35 -0800 | [diff] [blame] | 54 | |
Stanley Tng | 8b9f17b | 2018-12-25 18:12:51 -0800 | [diff] [blame] | 55 | /* Client Characteristic Configuration bits */ |
| 56 | #define GATT_CHAR_CLIENT_CONFIG_NOTIFICATION 0x0001 |
| 57 | #define GATT_CHAR_CLIENT_CONFIG_INDICTION 0x0002 |
| 58 | |
The Android Open Source Project | 5738f83 | 2012-12-12 16:00:35 -0800 | [diff] [blame] | 59 | /* GAP Profile Attributes |
Stanley Tng | 8b9f17b | 2018-12-25 18:12:51 -0800 | [diff] [blame] | 60 | */ |
Myles Watson | 911d1ae | 2016-11-28 16:44:40 -0800 | [diff] [blame] | 61 | #define GATT_UUID_GAP_DEVICE_NAME 0x2A00 |
| 62 | #define GATT_UUID_GAP_ICON 0x2A01 |
| 63 | #define GATT_UUID_GAP_PREF_CONN_PARAM 0x2A04 |
Nitin Arora | 00ba745 | 2015-06-10 16:46:45 -0700 | [diff] [blame] | 64 | #define GATT_UUID_GAP_CENTRAL_ADDR_RESOL 0x2AA6 |
The Android Open Source Project | 5738f83 | 2012-12-12 16:00:35 -0800 | [diff] [blame] | 65 | |
| 66 | /* Attribute Profile Attribute UUID */ |
Myles Watson | 911d1ae | 2016-11-28 16:44:40 -0800 | [diff] [blame] | 67 | #define GATT_UUID_GATT_SRV_CHGD 0x2A05 |
The Android Open Source Project | 5738f83 | 2012-12-12 16:00:35 -0800 | [diff] [blame] | 68 | /* Attribute Protocol Test */ |
| 69 | |
Andre Eisenbach | 2e7fa68 | 2013-08-08 15:42:48 -0700 | [diff] [blame] | 70 | /* Link Loss Service */ |
Myles Watson | 911d1ae | 2016-11-28 16:44:40 -0800 | [diff] [blame] | 71 | #define GATT_UUID_ALERT_LEVEL 0x2A06 /* Alert Level */ |
| 72 | #define GATT_UUID_TX_POWER_LEVEL 0x2A07 /* TX power level */ |
Andre Eisenbach | 2e7fa68 | 2013-08-08 15:42:48 -0700 | [diff] [blame] | 73 | |
| 74 | /* Time Profile */ |
| 75 | /* Current Time Service */ |
Myles Watson | 911d1ae | 2016-11-28 16:44:40 -0800 | [diff] [blame] | 76 | #define GATT_UUID_CURRENT_TIME 0x2A2B /* Current Time */ |
| 77 | #define GATT_UUID_LOCAL_TIME_INFO 0x2A0F /* Local time info */ |
| 78 | #define GATT_UUID_REF_TIME_INFO 0x2A14 /* reference time information */ |
Andre Eisenbach | 2e7fa68 | 2013-08-08 15:42:48 -0700 | [diff] [blame] | 79 | |
| 80 | /* NwA Profile */ |
Myles Watson | 911d1ae | 2016-11-28 16:44:40 -0800 | [diff] [blame] | 81 | #define GATT_UUID_NW_STATUS 0x2A18 /* network availability status */ |
| 82 | #define GATT_UUID_NW_TRIGGER 0x2A1A /* Network availability trigger */ |
Andre Eisenbach | 2e7fa68 | 2013-08-08 15:42:48 -0700 | [diff] [blame] | 83 | |
| 84 | /* phone alert */ |
Myles Watson | 911d1ae | 2016-11-28 16:44:40 -0800 | [diff] [blame] | 85 | #define GATT_UUID_ALERT_STATUS 0x2A3F /* alert status */ |
| 86 | #define GATT_UUID_RINGER_CP 0x2A40 /* ringer control point */ |
| 87 | #define GATT_UUID_RINGER_SETTING 0x2A41 /* ringer setting */ |
Andre Eisenbach | 2e7fa68 | 2013-08-08 15:42:48 -0700 | [diff] [blame] | 88 | |
| 89 | /* Glucose Service */ |
Myles Watson | 911d1ae | 2016-11-28 16:44:40 -0800 | [diff] [blame] | 90 | #define GATT_UUID_GM_MEASUREMENT 0x2A18 |
| 91 | #define GATT_UUID_GM_CONTEXT 0x2A34 |
| 92 | #define GATT_UUID_GM_CONTROL_POINT 0x2A52 |
| 93 | #define GATT_UUID_GM_FEATURE 0x2A51 |
Andre Eisenbach | 2e7fa68 | 2013-08-08 15:42:48 -0700 | [diff] [blame] | 94 | |
| 95 | /* device infor characteristic */ |
Myles Watson | 911d1ae | 2016-11-28 16:44:40 -0800 | [diff] [blame] | 96 | #define GATT_UUID_SYSTEM_ID 0x2A23 |
| 97 | #define GATT_UUID_MODEL_NUMBER_STR 0x2A24 |
| 98 | #define GATT_UUID_SERIAL_NUMBER_STR 0x2A25 |
| 99 | #define GATT_UUID_FW_VERSION_STR 0x2A26 |
| 100 | #define GATT_UUID_HW_VERSION_STR 0x2A27 |
| 101 | #define GATT_UUID_SW_VERSION_STR 0x2A28 |
| 102 | #define GATT_UUID_MANU_NAME 0x2A29 |
| 103 | #define GATT_UUID_IEEE_DATA 0x2A2A |
| 104 | #define GATT_UUID_PNP_ID 0x2A50 |
Andre Eisenbach | 2e7fa68 | 2013-08-08 15:42:48 -0700 | [diff] [blame] | 105 | |
| 106 | /* HID characteristics */ |
Myles Watson | 911d1ae | 2016-11-28 16:44:40 -0800 | [diff] [blame] | 107 | #define GATT_UUID_HID_INFORMATION 0x2A4A |
| 108 | #define GATT_UUID_HID_REPORT_MAP 0x2A4B |
| 109 | #define GATT_UUID_HID_CONTROL_POINT 0x2A4C |
| 110 | #define GATT_UUID_HID_REPORT 0x2A4D |
| 111 | #define GATT_UUID_HID_PROTO_MODE 0x2A4E |
| 112 | #define GATT_UUID_HID_BT_KB_INPUT 0x2A22 |
| 113 | #define GATT_UUID_HID_BT_KB_OUTPUT 0x2A32 |
| 114 | #define GATT_UUID_HID_BT_MOUSE_INPUT 0x2A33 |
Andre Eisenbach | 2e7fa68 | 2013-08-08 15:42:48 -0700 | [diff] [blame] | 115 | |
| 116 | /* Battery Service char */ |
Myles Watson | 911d1ae | 2016-11-28 16:44:40 -0800 | [diff] [blame] | 117 | #define GATT_UUID_BATTERY_LEVEL 0x2A19 |
Andre Eisenbach | 2e7fa68 | 2013-08-08 15:42:48 -0700 | [diff] [blame] | 118 | |
Myles Watson | 911d1ae | 2016-11-28 16:44:40 -0800 | [diff] [blame] | 119 | #define GATT_UUID_SC_CONTROL_POINT 0x2A55 |
| 120 | #define GATT_UUID_SENSOR_LOCATION 0x2A5D |
Andre Eisenbach | 2e7fa68 | 2013-08-08 15:42:48 -0700 | [diff] [blame] | 121 | |
| 122 | /* RUNNERS SPEED AND CADENCE SERVICE */ |
Myles Watson | 911d1ae | 2016-11-28 16:44:40 -0800 | [diff] [blame] | 123 | #define GATT_UUID_RSC_MEASUREMENT 0x2A53 |
| 124 | #define GATT_UUID_RSC_FEATURE 0x2A54 |
Andre Eisenbach | 2e7fa68 | 2013-08-08 15:42:48 -0700 | [diff] [blame] | 125 | |
| 126 | /* CYCLING SPEED AND CADENCE SERVICE */ |
Myles Watson | 911d1ae | 2016-11-28 16:44:40 -0800 | [diff] [blame] | 127 | #define GATT_UUID_CSC_MEASUREMENT 0x2A5B |
| 128 | #define GATT_UUID_CSC_FEATURE 0x2A5C |
Andre Eisenbach | 2e7fa68 | 2013-08-08 15:42:48 -0700 | [diff] [blame] | 129 | |
| 130 | /* Scan Parameter charatceristics */ |
Myles Watson | 911d1ae | 2016-11-28 16:44:40 -0800 | [diff] [blame] | 131 | #define GATT_UUID_SCAN_INT_WINDOW 0x2A4F |
| 132 | #define GATT_UUID_SCAN_REFRESH 0x2A31 |
Andre Eisenbach | 2e7fa68 | 2013-08-08 15:42:48 -0700 | [diff] [blame] | 133 | |
The Android Open Source Project | 5738f83 | 2012-12-12 16:00:35 -0800 | [diff] [blame] | 134 | #endif |