Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of BLE_BlueNRG by
gatt_service.h
00001 /******************** (C) COPYRIGHT 2012 STMicroelectronics ******************** 00002 * File Name : gatt_server.h 00003 * Author : AMS - HEA&RF BU 00004 * Version : V1.0.0 00005 * Date : 19-July-2012 00006 * Description : Header file for BlueNRG's GATT server layer. 00007 ******************************************************************************** 00008 * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 00009 * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 00010 * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 00011 * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 00012 * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 00013 * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 00014 *******************************************************************************/ 00015 00016 #ifndef __GATT_SERV_H__ 00017 #define __GATT_SERV_H__ 00018 00019 #include "compiler.h" 00020 #include "ble_status.h" 00021 00022 /** 00023 * UUID table 00024 */ 00025 #define PRIMARY_SERVICE_UUID (0x2800) 00026 #define SECONDARY_SERVICE_UUID (0x2801) 00027 #define INCLUDE_SERVICE_UUID (0x2802) 00028 #define CHARACTERISTIC_UUID (0x2803) 00029 #define CHAR_EXTENDED_PROP_DESC_UUID (0x2900) 00030 #define CHAR_USER_DESC_UUID (0x2901) 00031 #define CHAR_CLIENT_CONFIG_DESC_UUID (0x2902) 00032 #define CHAR_SERVER_CONFIG_DESC_UUID (0x2903) 00033 #define CHAR_FORMAT_DESC_UUID (0x2904) 00034 #define CHAR_AGGR_FMT_DESC_UUID (0x2905) 00035 #define GATT_SERVICE_UUID (0x1801) 00036 #define GAP_SERVICE_UUID (0x1800) 00037 #define SERVICE_CHANGED_UUID (0x2A05) 00038 00039 /****************************************************************************** 00040 * Types 00041 *****************************************************************************/ 00042 00043 /** 00044 * Access permissions 00045 * for an attribute 00046 */ 00047 typedef tHalUint8 tAttrAccessFlags; 00048 #define ATTR_NO_ACCESS (0x00) 00049 #define ATTR_ACCESS_READ_ONLY (0x01) 00050 #define ATTR_ACCESS_WRITE_REQ_ONLY (0x02) 00051 #define ATTR_ACCESS_READ_WRITE (0x03) 00052 #define ATTR_ACCESS_WRITE_WITHOUT_RESPONSE (0x04) 00053 #define ATTR_ACCESS_SIGNED_WRITE_ALLOWED (0x08) 00054 00055 /** 00056 * Allows all write procedures 00057 */ 00058 #define ATTR_ACCESS_WRITE_ANY (0x0E) 00059 00060 /** 00061 * Characteristic properties. 00062 */ 00063 #define CHAR_PROP_BROADCAST (0x01) 00064 #define CHAR_PROP_READ (0x02) 00065 #define CHAR_PROP_WRITE_WITHOUT_RESP (0x04) 00066 #define CHAR_PROP_WRITE (0x08) 00067 #define CHAR_PROP_NOTIFY (0x10) 00068 #define CHAR_PROP_INDICATE (0x20) 00069 #define CHAR_PROP_SIGNED_WRITE (0x40) 00070 #define CHAR_PROP_EXT (0x80) 00071 00072 /** 00073 * Security permissions 00074 * for an attribute 00075 */ 00076 typedef tHalUint8 tAttrSecurityFlags; 00077 #define ATTR_PERMISSION_NONE (0x00) 00078 #define ATTR_PERMISSION_AUTHEN_READ (0x01) 00079 #define ATTR_PERMISSION_AUTHOR_READ (0x02) 00080 #define ATTR_PERMISSION_ENCRY_READ (0x04) 00081 #define ATTR_PERMISSION_AUTHEN_WRITE (0x08) 00082 #define ATTR_PERMISSION_AUTHOR_WRITE (0x10) 00083 #define ATTR_PERMISSION_ENCRY_WRITE (0x20) 00084 00085 /** 00086 * Type of UUID 00087 * (16 bit or 128 bit) 00088 */ 00089 typedef tHalUint8 tUuidType; 00090 #define UUID_TYPE_16 (0x01) 00091 #define UUID_TYPE_128 (0x02) 00092 00093 /** 00094 * Type of service 00095 * (primary or secondary) 00096 */ 00097 typedef tHalUint8 tServiceType; 00098 #define PRIMARY_SERVICE (0x01) 00099 #define SECONDARY_SERVICE (0x02) 00100 00101 /** 00102 * Type of event generated by 00103 * Gatt server 00104 */ 00105 typedef tHalUint8 tGattServerEvent; 00106 #define GATT_SERVER_ATTR_WRITE (0x01) 00107 #define GATT_INTIMATE_AND_WAIT_FOR_APPL_AUTH (0x02) 00108 #define GATT_INTIMATE_APPL_WHEN_READ_N_WAIT (0x04) 00109 #define GATT_SERVER_ATTR_READ_WRITE GATT_SERVER_ATTR_WRITE|GATT_INTIMATE_APPL_WHEN_READ_N_WAIT 00110 00111 00112 /** 00113 * Min encryption key size 00114 */ 00115 #define MIN_ENCRY_KEY_SIZE (7) 00116 00117 /** 00118 * Max encryption key size 00119 */ 00120 #define MAX_ENCRY_KEY_SIZE (0x10) 00121 00122 00123 typedef __packed struct _charactFormat { 00124 tHalUint8 format; 00125 tHalInt8 exp; 00126 tHalUint16 unit; 00127 tHalUint8 name_space; 00128 tHalUint16 desc; 00129 } PACKED charactFormat; 00130 00131 #define FORMAT_UINT8 0x04 00132 #define FORMAT_UINT16 0x06 00133 #define FORMAT_SINT16 0x0E 00134 #define FORMAT_SINT24 0x0F 00135 00136 00137 #define UNIT_UNITLESS 0x2700 00138 #define UNIT_TEMP_CELSIUS 0x272F 00139 #define UNIT_PRESSURE_BAR 0x2780 00140 00141 00142 /* 00143 * Default MTU size 00144 */ 00145 #define ATT_DEFAULT_MTU (23) 00146 00147 00148 #endif /* __GATT_SERVER_H__ */
Generated on Tue Jul 12 2022 16:24:20 by
1.7.2
