Mistake on this page? Email us
Data Structures | Typedefs

Data Structures

struct  attCfg_t
 ATT run-time configurable parameters. More...
struct  attEvt_t
 ATT callback event. More...


typedef void(* attCback_t) (attEvt_t *pEvt)
 ATT event callback type. More...

ATT Callback Events

Events related to ATT transactions.

enum  {
 ATT client callback events. More...
#define ATT_CBACK_START   0x02
 ATT callback event starting value.
 ATT callback events. More...

ATT Client Awareness of Database Change

Status of a client's awareness of a database change.

 client's awareness to database change. More...

ATT Setup Functions

void AttRegister (attCback_t cback)
 Register a callback with ATT. This callback will be used for messages from both ATTC and ATTS. More...
void AttConnRegister (dmCback_t cback)
 Register a connection callback with ATT. The callback is typically used to manage the attribute server database. More...

ATT Parameter Functions

Functions specific to a connection between 2 devices. Functions may be called by either Client or server.

uint16_t AttGetMtu (dmConnId_t connId)
 Get the attribute protocol MTU of a connection. More...

ATT Message Passing Functions

void * AttMsgAlloc (uint16_t len, uint8_t opcode)
 Allocate an ATT message buffer to be sent with the ATT attribute protocol zero-copy APIs. More...
void AttMsgFree (void *pMsg, uint8_t opcode)
 Free an ATT message buffer allocated with AttMsgAlloc(). More...

ATT PDU Format

ATT PDU defaults and constants

#define ATT_HDR_LEN   1
 Attribute PDU header length.
#define ATT_AUTH_SIG_LEN   12
 Authentication signature length.
#define ATT_DEFAULT_MTU   23
 Default value of ATT_MTU.
#define ATT_MAX_MTU   517
 Maximum value of ATT_MTU.
 Default maximum payload length for most PDUs.

ATT Maximum Value Parameters

maximum values for ATT attribute length and offset

#define ATT_VALUE_MAX_LEN   512
 Maximum attribute value length.
#define ATT_VALUE_MAX_OFFSET   511
 Maximum attribute value offset.

ATT Transaction Timeout

Maximum time allowed between transaction request and response.

 Maximum transaction timeout in seconds.

ATT Error Codes

ATT Protocol operation status codes found in PDUs

#define ATT_SUCCESS   0x00
 Operation successful.
#define ATT_ERR_HANDLE   0x01
 Invalid handle.
#define ATT_ERR_READ   0x02
 Read not permitted.
#define ATT_ERR_WRITE   0x03
 Write not permitted.
#define ATT_ERR_INVALID_PDU   0x04
 Invalid pdu.
#define ATT_ERR_AUTH   0x05
 Insufficient authentication.
#define ATT_ERR_NOT_SUP   0x06
 Request not supported.
#define ATT_ERR_OFFSET   0x07
 Invalid offset.
#define ATT_ERR_AUTHOR   0x08
 Insufficient authorization.
#define ATT_ERR_QUEUE_FULL   0x09
 Prepare queue full.
#define ATT_ERR_NOT_FOUND   0x0A
 Attribute not found.
#define ATT_ERR_NOT_LONG   0x0B
 Attribute not long.
#define ATT_ERR_KEY_SIZE   0x0C
 Insufficient encryption key size.
#define ATT_ERR_LENGTH   0x0D
 Invalid attribute value length.
#define ATT_ERR_UNLIKELY   0x0E
 Other unlikely error.
#define ATT_ERR_ENC   0x0F
 Insufficient encryption.
#define ATT_ERR_GROUP_TYPE   0x10
 Unsupported group type.
#define ATT_ERR_RESOURCES   0x11
 Insufficient resources.
 Client out of synch with database.
 Value not allowed.
#define ATT_ERR_WRITE_REJ   0xFC
 Write request rejected.
#define ATT_ERR_CCCD   0xFD
 CCCD improperly configured.
 Procedure already in progress.
#define ATT_ERR_RANGE   0xFF
 Value out of range.

Proprietary Internal Error Codes

These codes may be sent to application but are not present in any ATT PDU.

#define ATT_ERR_MEMORY   0x70
 Out of memory.
#define ATT_ERR_TIMEOUT   0x71
 Transaction timeout.
#define ATT_ERR_OVERFLOW   0x72
 Transaction overflow.
#define ATT_ERR_INVALID_RSP   0x73
 Invalid response PDU.
#define ATT_ERR_CANCELLED   0x74
 Request cancelled.
#define ATT_ERR_UNDEFINED   0x75
 Other undefined error.
#define ATT_ERR_REQ_NOT_FOUND   0x76
 Required characteristic not found.
#define ATT_ERR_MTU_EXCEEDED   0x77
 Attribute PDU length exceeded MTU size.
#define ATT_CONTINUING   0x78
 Procedure continuing.
#define ATT_RSP_PENDING   0x79
 Responsed delayed pending higher layer.

ATT Application Error Codes

These codes may be sent to application but are not present in any ATT PDU.

#define ATT_ERR_VALUE_RANGE   0x80
 Value out of range.

ATT HCI Error Status

#define ATT_HCI_ERR_BASE   0x20
 Base value for HCI error status values passed through ATT. Since the values of HCI and ATT error codes overlap, the constant ATT_HCI_ERR_BASE is added to HCI error codes before being passed through ATT. See HCI_SUCCESS for HCI error code values.


PDU Types for all possible over-the-air ATT operations.

#define ATT_PDU_ERR_RSP   0x01
 Error response.
#define ATT_PDU_MTU_REQ   0x02
 Exchange mtu request.
#define ATT_PDU_MTU_RSP   0x03
 Exchange mtu response.
#define ATT_PDU_FIND_INFO_REQ   0x04
 Find information request.
#define ATT_PDU_FIND_INFO_RSP   0x05
 Find information response.
#define ATT_PDU_FIND_TYPE_REQ   0x06
 Find by type value request.
#define ATT_PDU_FIND_TYPE_RSP   0x07
 Find by type value response.
#define ATT_PDU_READ_TYPE_REQ   0x08
 Read by type request.
#define ATT_PDU_READ_TYPE_RSP   0x09
 Read by type response.
#define ATT_PDU_READ_REQ   0x0A
 Read request.
#define ATT_PDU_READ_RSP   0x0B
 Read response.
#define ATT_PDU_READ_BLOB_REQ   0x0C
 Read blob request.
#define ATT_PDU_READ_BLOB_RSP   0x0D
 Read blob response.
#define ATT_PDU_READ_MULT_REQ   0x0E
 Read multiple request.
#define ATT_PDU_READ_MULT_RSP   0x0F
 Read multiple response.
 Read by group type request.
 Read by group type response.
#define ATT_PDU_WRITE_REQ   0x12
 Write request.
#define ATT_PDU_WRITE_RSP   0x13
 Write response.
#define ATT_PDU_WRITE_CMD   0x52
 Write command.
 Signed write command.
#define ATT_PDU_PREP_WRITE_REQ   0x16
 Prepare write request.
#define ATT_PDU_PREP_WRITE_RSP   0x17
 Prepare write response.
#define ATT_PDU_EXEC_WRITE_REQ   0x18
 Execute write request.
#define ATT_PDU_EXEC_WRITE_RSP   0x19
 Execute write response.
#define ATT_PDU_VALUE_NTF   0x1B
 Handle value notification.
#define ATT_PDU_VALUE_IND   0x1D
 Handle value indication.
#define ATT_PDU_VALUE_CNF   0x1E
 Handle value confirmation.
#define ATT_PDU_MAX   0x1F
 PDU Maximum.

ATT PDU Length Fields

Length constants of PDU fixed length fields

#define ATT_ERR_RSP_LEN   5
 Error response length.
#define ATT_MTU_REQ_LEN   3
 MTU request length.
#define ATT_MTU_RSP_LEN   3
 MTU response length.
 Find information request length.
 Find information response length.
 Find type request length.
 Find type response length.
 Read type request length.
 Read type response length.
#define ATT_READ_REQ_LEN   3
 Read request length.
#define ATT_READ_RSP_LEN   1
 Read response length.
 Read blob request legnth.
 Read blob response length.
 Read multiple request length.
 Read multiple response length.
 Read group type request length.
 Read group type response length.
#define ATT_WRITE_REQ_LEN   3
 Write request length.
#define ATT_WRITE_RSP_LEN   1
 Write response length.
#define ATT_WRITE_CMD_LEN   3
 Write command length.
 Signed write command length.
 Prepared write command length.
 Prepared write response length.
 Execute write request length.
 Execute write response length.
#define ATT_VALUE_NTF_LEN   3
 Value notification length.
#define ATT_VALUE_IND_LEN   3
 Value indication length.
#define ATT_VALUE_CNF_LEN   1
 Value confirmation length.

ATT Find Information Response Format

#define ATT_FIND_HANDLE_16_UUID   0x01
 Handle and 16 bit UUID.
#define ATT_FIND_HANDLE_128_UUID   0x02
 Handle and 128 bit UUID.

ATT Execute Write Request Flags

#define ATT_EXEC_WRITE_CANCEL   0x00
 Cancel all prepared writes.
#define ATT_EXEC_WRITE_ALL   0x01
 Write all pending prepared writes.


#define ATT_PDU_MASK_SERVER   0x01
 Server bit mask.
#define ATT_PDU_MASK_COMMAND   0x40
 Command bit mask.
#define ATT_PDU_MASK_SIGNED   0x80
 Auth signature bit mask.

ATT Handle Constants

Invalid, minimum and maximum handle values.

#define ATT_HANDLE_NONE   0x0000
 Handle none.
#define ATT_HANDLE_START   0x0001
 Handle start.
 Handle max.

ATT UUID Lengths

#define ATT_NO_UUID_LEN   0
 Length when no UUID is present ;-)
#define ATT_16_UUID_LEN   2
 Length in bytes of a 16 bit UUID.
#define ATT_128_UUID_LEN   16
 Length in bytes of a 128 bit UUID.

GATT Characteristic Properties

Properties for how a characteristic may be interacted with through the ATT Protocol.

#define ATT_PROP_BROADCAST   0x01
 Permit broadcasts.
#define ATT_PROP_READ   0x02
 Permit reads.
#define ATT_PROP_WRITE_NO_RSP   0x04
 Permit writes without response.
#define ATT_PROP_WRITE   0x08
 Permit writes with response.
#define ATT_PROP_NOTIFY   0x10
 Permit notifications.
#define ATT_PROP_INDICATE   0x20
 Permit indications.
 Permit signed writes.
#define ATT_PROP_EXTENDED   0x80
 More properties defined in extended properties.

GATT Characteristic Extended Properties

 Permit reliable writes.
 Permit write to characteristic descriptor.

GATT Client Charactertic Configuration

Configures a characteristic to send notifications or indications, if applicable.

#define ATT_CLIENT_CFG_NOTIFY   0x0001
 Notify the value.
#define ATT_CLIENT_CFG_INDICATE   0x0002
 Indicate the value.

GATT Server Characteristic Configuration

 Broadcast the value.

GATT Characteristic Format

GATT Format descriptor values

#define ATT_FORMAT_BOOLEAN   0x01
#define ATT_FORMAT_2BIT   0x02
 Unsigned 2 bit integer.
#define ATT_FORMAT_NIBBLE   0x03
 Unsigned 4 bit integer.
#define ATT_FORMAT_UINT8   0x04
 Unsigned 8 bit integer.
#define ATT_FORMAT_UINT12   0x05
 Unsigned 12 bit integer.
#define ATT_FORMAT_UINT16   0x06
 Unsigned 16 bit integer.
#define ATT_FORMAT_UINT24   0x07
 Unsigned 24 bit integer.
#define ATT_FORMAT_UINT32   0x08
 Unsigned 32 bit integer.
#define ATT_FORMAT_UINT48   0x09
 Unsigned 48 bit integer.
#define ATT_FORMAT_UINT64   0x0A
 Unsigned 64 bit integer.
#define ATT_FORMAT_UINT128   0x0B
 Unsigned 128 bit integer.
#define ATT_FORMAT_SINT8   0x0C
 Signed 8 bit integer.
#define ATT_FORMAT_SINT12   0x0D
 Signed 12 bit integer.
#define ATT_FORMAT_SINT16   0x0E
 Signed 16 bit integer.
#define ATT_FORMAT_SINT24   0x0F
 Signed 24 bit integer.
#define ATT_FORMAT_SINT32   0x10
 Signed 32 bit integer.
#define ATT_FORMAT_SINT48   0x11
 Signed 48 bit integer.
#define ATT_FORMAT_SINT64   0x12
 Signed 64 bit integer.
#define ATT_FORMAT_SINT128   0x13
 Signed 128 bit integer.
#define ATT_FORMAT_FLOAT32   0x14
 IEEE-754 32 bit floating point.
#define ATT_FORMAT_FLOAT64   0x15
 IEEE-754 64 bit floating point.
#define ATT_FORMAT_SFLOAT   0x16
 IEEE-11073 16 bit SFLOAT.
#define ATT_FORMAT_FLOAT   0x17
 IEEE-11073 32 bit FLOAT.
#define ATT_FORMAT_DUINT16   0x18
 IEEE-20601 format.
#define ATT_FORMAT_UTF8   0x19
 UTF-8 string.
#define ATT_FORMAT_UTF16   0x1A
 UTF-16 string.
#define ATT_FORMAT_STRUCT   0x1B
 Opaque structure.

GATT Database Hash

GATT database hash values

 Database hash length.

GATT Client Supported Features

Flags of features supported by the GATT Client

 Robust caching.
 Mask of all client supported features.
#define ATT_CSF_LEN   1
 Length of client supported features array.

ATT Service UUIDs

Defined BLE Service UUID constants.

#define ATT_UUID_GAP_SERVICE   0x1800
 Generic Access Profile Service.
#define ATT_UUID_GATT_SERVICE   0x1801
 Generic Attribute Profile Service.
 Immediate Alert Service.
 Link Loss Service.
#define ATT_UUID_TX_POWER_SERVICE   0x1804
 Tx Power Service.
 Current Time Service.
 Reference Time Update Service.
 Next DST Change Service.
 Glucose Service.
 Health Thermometer Service.
 Device Information Service.
 Network Availability Service.
 Watchdog Service.
 Heart Rate Service.
 Phone Alert Status Service.
 Battery Service.
 Blood Pressure Service.
 Alert Notification Service.
#define ATT_UUID_HID_SERVICE   0x1812
 Human Interface Device Service.
 Scan Parameter Service.
 Running Speed Service.
 Cycling Speed Service.
 Cycling Power Service.
 User Data Service.
 Weight Scale Service.
 IP Support Service.
 Pulse Oximeter Service.
#define ATT_UUID_MESH_PRV_SERVICE   0x1827
 Mesh Provisioning Service.
 Mesh Proxy Service.
 Constant Tone Extension.


BLE Defined UUIDs of GATT Service components

 Primary Service.
 Secondary Service.
#define ATT_UUID_INCLUDE   0x2802

GATT Characteristic Descriptor UUIDs

BLE Defined UUIDs of Characteristic Descriptors

 Characteristic Extended Properties.
#define ATT_UUID_CHAR_USER_DESC   0x2901
 Characteristic User Description.
 Client Characteristic Configuration.
 Server Characteristic Configuration.
#define ATT_UUID_CHAR_PRES_FORMAT   0x2904
 Characteristic Presentation Format.
 Characteristic Aggregate Format.
#define ATT_UUID_VALID_RANGE   0x2906
 Valid Range.
 HID External Report ID Mapping.
 HID Report ID Mapping.

GATT Characistic UUIDs

BLE Defined UUIDs of Characeristics

#define ATT_UUID_DEVICE_NAME   0x2A00
 Device Name.
#define ATT_UUID_APPEARANCE   0x2A01
 Peripheral Privacy Flag.
#define ATT_UUID_RECONN_ADDR   0x2A03
 Reconnection Address.
 Peripheral Preferred Connection Parameters.
 Service Changed.
#define ATT_UUID_ALERT_LEVEL   0x2A06
 Alert Level.
#define ATT_UUID_TX_POWER_LEVEL   0x2A07
 Tx Power Level.
#define ATT_UUID_DATE_TIME   0x2A08
 Date Time.
#define ATT_UUID_DAY_OF_WEEK   0x2A09
 Day of Week.
 Day Date Time.
#define ATT_UUID_EXACT_TIME_100   0x2A0B
 Exact Time 100.
#define ATT_UUID_EXACT_TIME_256   0x2A0C
 Exact Time 256.
#define ATT_UUID_DST_OFFSET   0x2A0D
 DST Offset.
#define ATT_UUID_TIME_ZONE   0x2A0E
 Time Zone.
 Local Time Information.
 Secondary Time Zone.
#define ATT_UUID_TIME_WITH_DST   0x2A11
 Time with DST.
 Time Accuracy.
#define ATT_UUID_TIME_SOURCE   0x2A13
 Time Source.
 Reference Time Information.
 Time Broadcast.
#define ATT_UUID_TIME_UPDATE_CP   0x2A16
 Time Update Control Point.
 Time Update State.
#define ATT_UUID_GLUCOSE_MEAS   0x2A18
 Glucose Measurement.
 Battery Level.
 Battery Power State.
 Battery Level State.
#define ATT_UUID_TEMP_MEAS   0x2A1C
 Temperature Measurement.
#define ATT_UUID_TEMP_TYPE   0x2A1D
 Temperature Type.
 Intermediate Temperature.
#define ATT_UUID_TEMP_C   0x2A1F
 Temperature Celsius.
#define ATT_UUID_TEMP_F   0x2A20
 Temperature Fahrenheit.
 Measurement Interval.
 HID Boot Keyboard In.
#define ATT_UUID_SYSTEM_ID   0x2A23
 System ID.
#define ATT_UUID_MODEL_NUMBER   0x2A24
 Model Number String.
 Serial Number String.
#define ATT_UUID_FIRMWARE_REV   0x2A26
 Firmware Revision String.
#define ATT_UUID_HARDWARE_REV   0x2A27
 Hardware Revision String.
#define ATT_UUID_SOFTWARE_REV   0x2A28
 Software Revision String.
 Manufacturer Name String.
#define ATT_UUID_11073_CERT_DATA   0x2A2A
 IEEE 11073-20601 Regulatory Certification Data List.
 Current Time.
#define ATT_UUID_LATITUDE   0x2A2D
#define ATT_UUID_POSITION_2D   0x2A2F
 Position 2D.
#define ATT_UUID_POSITION_3D   0x2A30
 Position 3D.
#define ATT_UUID_VENDOR_ID   0x2A31
 Vendor ID.
 HID Boot Keyboard Out.
 HID Boot Mouse In.
 Glucose Measurement Context.
#define ATT_UUID_BP_MEAS   0x2A35
 Blood Pressure Measurement.
 Intermediate Cuff Pressure.
#define ATT_UUID_HR_MEAS   0x2A37
 Heart Rate Measurement.
#define ATT_UUID_HR_SENSOR_LOC   0x2A38
 Body Sensor Location.
#define ATT_UUID_HR_CP   0x2A39
 Heart Rate Control Point.
 Service Required.
#define ATT_UUID_SCI_TEMP_C   0x2A3C
 Scientific Temperature in Celsius.
#define ATT_UUID_STRING   0x2A3D
 Network Availability.
 Alert Status.
#define ATT_UUID_RINGER_CP   0x2A40
 Ringer Control Point.
 Ringer Setting.
 Alert Category ID Bit Mask.
#define ATT_UUID_ALERT_CAT_ID   0x2A43
 Alert Category ID.
#define ATT_UUID_ALERT_NOTIF_CP   0x2A44
 Alert Notification Control Point.
 Unread Alert Status.
#define ATT_UUID_NEW_ALERT   0x2A46
 New Alert.
 Supported New Alert Category.
 Supported Unread Alert Category.
#define ATT_UUID_BP_FEATURE   0x2A49
 Blood Pressure Feature.
 HID Information.
 HID Report Map.
 HID Control Point.
#define ATT_UUID_HID_REPORT   0x2A4D
 HID Report.
 HID Protocol Mode.
 Scan Interval Window.
#define ATT_UUID_PNP_ID   0x2A50
 PnP ID.
 Glucose Feature.
#define ATT_UUID_RACP   0x2A52
 Record Access Control Point.
#define ATT_UUID_CAR   0x2AA6
 Central Address Resolution.
 Running Speed Feature.
 Running Speed Measurement.
 Pulse Oximeter Features.
 Pulse Oximeter Features.
 Pulse Oximeter Features.
 Cycling Power Feature.
 Cycling Power Measurement.
 Cycling Speed Feature.
 Cycling Speed Measurement.
 Sensor Location.
 Database Change Increment.
#define ATT_UUID_USER_INDEX   0x2A9A
 User Index.
 Weight Measurement.
 Weight Scale Feature.
 User Control Point.
#define ATT_UUID_RPAO   0x2AC9
 Resolvable Prviate Address Only.
 Mesh Provisioning Data In.
 Mesh Provisioning Data Out.
 Mesh Proxy Data In.
 Mesh Proxy Data Out.
 Client Supported Features.
 Database Hash.
#define ATT_UUID_CTE_ENABLE   0x7F80
 Constant Tone Extension enable.
#define ATT_UUID_CTE_MIN_LEN   0x7F81
 Constant Tone Extension minimum length.
#define ATT_UUID_CTE_TX_CNT   0x7F82
 Constant Tone Extension transmit count.
 Constant Tone Extension transmit duration.
#define ATT_UUID_CTE_INTERVAL   0x7F84
 Constant Tone Extension interval.
#define ATT_UUID_CTE_PHY   0x7F85
 Constant Tone Extension PHY.


BLE Defined GATT Unit UUIDs.

#define ATT_UUID_UNITLESS   0x2700
#define ATT_UUID_LENGTH_M   0x2701
 length metre
#define ATT_UUID_MASS_KG   0x2702
 mass kilogram
#define ATT_UUID_TIME_SEC   0x2703
 time second
 electric current ampere
#define ATT_UUID_THERMO_TEMP_K   0x2705
 thermodynamic temperature kelvin
 amount of substance mole
 luminous intensity candela
#define ATT_UUID_AREA_SQ_M   0x2710
 area square metres
#define ATT_UUID_VOLUME_CU_M   0x2711
 volume cubic metres
#define ATT_UUID_VELOCITY_MPS   0x2712
 velocity metres per second
 acceleration metres per second squared
 wavenumber reciprocal metre
#define ATT_UUID_DENSITY_KG_PER_CU_M   0x2715
 density kilogram per cubic metre
 surface density kilogram per square metre
 specific volume cubic metre per kilogram
 current density ampere per square metre
 magnetic field strength ampere per metre
 amount concentration mole per cubic metre
 mass concentration kilogram per cubic metre
#define ATT_UUID_LUM_CAND_PER_SQ_M   0x271C
 luminance candela per square metre
 refractive index
 relative permeability
#define ATT_UUID_PLANE_ANGLE_R   0x2720
 plane angle radian
#define ATT_UUID_SOLID_ANGLE_STER   0x2721
 solid angle steradian
 frequency hertz
#define ATT_UUID_FORCE_NEWT   0x2723
 force newton
 pressure pascal
#define ATT_UUID_ENERGY_J   0x2725
 energy joule
#define ATT_UUID_POWER_W   0x2726
 power watt
#define ATT_UUID_ELECTRIC_CHG_C   0x2727
 electric charge coulomb
 electric potential difference volt
#define ATT_UUID_CAPACITANCE_F   0x2729
 capacitance farad
 electric resistance ohm
 electric conductance siemens
 magnetic flex weber
 magnetic flex density tesla
#define ATT_UUID_INDUCTANCE_H   0x272E
 inductance henry
#define ATT_UUID_C_TEMP_DEG_C   0x272F
 Celsius temperature degree Celsius.
 luminous flux lumen
 illuminance lux
 activity referred to a radionuclide becquerel
 absorbed dose gray
 dose equivalent sievert
 catalytic activity katal
 dynamic viscosity pascal second
 moment of force newton metre
 surface tension newton per metre
 angular velocity radian per second
 angular acceleration radian per second squared
#define ATT_UUID_HEAT_FLUX_DEN_W_PER_SQ_M   0x2745
 heat flux density watt per square metre
#define ATT_UUID_HEAT_CAP_J_PER_K   0x2746
 heat capacity joule per kelvin
#define ATT_UUID_SPEC_HEAT_CAP_J_PER_KG_K   0x2747
 specific heat capacity joule per kilogram kelvin
#define ATT_UUID_SPEC_ENERGY_J_PER_KG   0x2748
 specific energy joule per kilogram
#define ATT_UUID_THERMAL_COND_W_PER_M_K   0x2749
 thermal conductivity watt per metre kelvin
 energy density joule per cubic metre
 electric field strength volt per metre
 electric charge density coulomb per cubic metre
 surface charge density coulomb per square metre
 electric flux density coulomb per square metre
 permittivity farad per metre
 permeability henry per metre
 molar energy joule per mole
 molar entropy joule per mole kelvin
#define ATT_UUID_EXPOSURE_C_PER_KG   0x2753
 exposure coulomb per kilogram
 absorbed dose rate gray per second
 radiant intensity watt per steradian
 radiance watt per square meter steradian
 catalytic activity concentration katal per cubic metre
#define ATT_UUID_TIME_MIN   0x2760
 time minute
#define ATT_UUID_TIME_HR   0x2761
 time hour
#define ATT_UUID_TIME_DAY   0x2762
 time day
#define ATT_UUID_PLANE_ANGLE_DEG   0x2763
 plane angle degree
#define ATT_UUID_PLANE_ANGLE_MIN   0x2764
 plane angle minute
#define ATT_UUID_PLANE_ANGLE_SEC   0x2765
 plane angle second
#define ATT_UUID_AREA_HECTARE   0x2766
 area hectare
#define ATT_UUID_VOLUME_L   0x2767
 volume litre
#define ATT_UUID_MASS_TONNE   0x2768
 mass tonne
#define ATT_UUID_PRESSURE_BAR   0x2780
 pressure bar
#define ATT_UUID_PRESSURE_MM   0x2781
 pressure millimetre of mercury
 length angstrom
 length nautical mile
#define ATT_UUID_AREA_BARN   0x2784
 area barn
#define ATT_UUID_VELOCITY_KNOT   0x2785
 velocity knot
 logarithmic radio quantity neper
 logarithmic radio quantity bel
#define ATT_UUID_LOG_RADIO_QUANT_DB   0x2788
 logarithmic radio quantity decibel
#define ATT_UUID_LENGTH_YARD   0x27A0
 length yard
 length parsec
#define ATT_UUID_LENGTH_IN   0x27A2
 length inch
#define ATT_UUID_LENGTH_FOOT   0x27A3
 length foot
#define ATT_UUID_LENGTH_MILE   0x27A4
 length mile
 pressure pound-force per square inch
#define ATT_UUID_VELOCITY_KPH   0x27A6
 velocity kilometre per hour
#define ATT_UUID_VELOCITY_MPH   0x27A7
 velocity mile per hour
 angular velocity revolution per minute
 energy gram calorie
 energy kilogram calorie
 energy kilowatt hour
#define ATT_UUID_THERM_TEMP_F   0x27AC
 thermodynamic temperature degree Fahrenheit
#define ATT_UUID_PER_MILLE   0x27AE
 per mille
 period beats per minute
 electric charge ampere hours
 mass density milligram per decilitre
 mass density millimole per litre
#define ATT_UUID_TIME_YEAR   0x27B3
 time year
#define ATT_UUID_TIME_MONTH   0x27B4
 time month

Arm Ltd. proprietary UUIDs

propertietary services defined by Arm Ltd.

 Base UUID: E0262760-08C2-11E1-9073-0E8AC72EXXXX. More...
 Macro for building Arm Ltd. UUIDs.
#define ATT_UUID_P1_SERVICE_PART   0x1001
 Partial proprietary service P1 UUID.
#define ATT_UUID_D1_DATA_PART   0x0001
 Partial proprietary characteristic data D1 UUID.
 Proprietary services.
 Proprietary characteristics.

ATT Service UUID Variables

const uint8_t attGapSvcUuid [ATT_16_UUID_LEN]
 Generic Access Profile Service.
const uint8_t attGattSvcUuid [ATT_16_UUID_LEN]
 Generic Attribute Profile Service.
const uint8_t attIasSvcUuid [ATT_16_UUID_LEN]
 Immediate Alert Service.
const uint8_t attLlsSvcUuid [ATT_16_UUID_LEN]
 Link Loss Service.
const uint8_t attTpsSvcUuid [ATT_16_UUID_LEN]
 Tx Power Service.
const uint8_t attCtsSvcUuid [ATT_16_UUID_LEN]
 Current Time Service.
const uint8_t attRtusSvcUuid [ATT_16_UUID_LEN]
 Reference Time Update Service.
const uint8_t attNdcsSvcUuid [ATT_16_UUID_LEN]
 Next DST Change Service.
const uint8_t attGlsSvcUuid [ATT_16_UUID_LEN]
 Glucose Service.
const uint8_t attHtsSvcUuid [ATT_16_UUID_LEN]
 Health Thermometer Service.
const uint8_t attDisSvcUuid [ATT_16_UUID_LEN]
 Device Information Service.
const uint8_t attNwaSvcUuid [ATT_16_UUID_LEN]
 Network Availability Service.
const uint8_t attWdsSvcUuid [ATT_16_UUID_LEN]
 Watchdog Service.
const uint8_t attHrsSvcUuid [ATT_16_UUID_LEN]
 Heart Rate Service.
const uint8_t attPassSvcUuid [ATT_16_UUID_LEN]
 Phone Alert Status Service.
const uint8_t attBasSvcUuid [ATT_16_UUID_LEN]
 Battery Service.
const uint8_t attBpsSvcUuid [ATT_16_UUID_LEN]
 Blood Pressure Service.
const uint8_t attAnsSvcUuid [ATT_16_UUID_LEN]
 Alert Notification Service.
const uint8_t attHidSvcUuid [ATT_16_UUID_LEN]
 Human Interface Device Service.
const uint8_t attSpsSvcUuid [ATT_16_UUID_LEN]
 Scan Parameter Service.
const uint8_t attPlxsSvcUuid [ATT_16_UUID_LEN]
 Pulse Oximeter Service.
const uint8_t attUdsSvcUuid [ATT_16_UUID_LEN]
 User Data Service.
const uint8_t attMprvSvcUuid [ATT_16_UUID_LEN]
 Mesh Provisioning Service.
const uint8_t attMprxSvcUuid [ATT_16_UUID_LEN]
 Mesh Proxy Service.

GATT UUID Variables

const uint8_t attPrimSvcUuid [ATT_16_UUID_LEN]
 Primary Service.
const uint8_t attSecSvcUuid [ATT_16_UUID_LEN]
 Secondary Service.
const uint8_t attIncUuid [ATT_16_UUID_LEN]
const uint8_t attChUuid [ATT_16_UUID_LEN]

GATT Characteristic Descriptor UUID Variables

const uint8_t attChExtUuid [ATT_16_UUID_LEN]
 Characteristic Extended Properties.
const uint8_t attChUserDescUuid [ATT_16_UUID_LEN]
 Characteristic User Description.
const uint8_t attCliChCfgUuid [ATT_16_UUID_LEN]
 Client Characteristic Configuration.
const uint8_t attSrvChCfgUuid [ATT_16_UUID_LEN]
 Server Characteristic Configuration.
const uint8_t attChPresFmtUuid [ATT_16_UUID_LEN]
 Characteristic Presentation Format.
const uint8_t attAggFmtUuid [ATT_16_UUID_LEN]
 Characteristic Aggregate Format.
const uint8_t attHidErmUuid [ATT_16_UUID_LEN]
 HID External Report Reference.
const uint8_t attHidRimUuid [ATT_16_UUID_LEN]
 HID Report ID Mapping.
const uint8_t attValRangeUuid [ATT_16_UUID_LEN]
 Valid Range.

GATT Characteristic UUID Variables

const uint8_t attDnChUuid [ATT_16_UUID_LEN]
 Device Name.
const uint8_t attApChUuid [ATT_16_UUID_LEN]
const uint8_t attPpfChUuid [ATT_16_UUID_LEN]
 Peripheral Privacy Flag.
const uint8_t attRaChUuid [ATT_16_UUID_LEN]
 Reconnection Address.
const uint8_t attPpcpChUuid [ATT_16_UUID_LEN]
 Peripheral Preferred Connection Parameters.
const uint8_t attScChUuid [ATT_16_UUID_LEN]
 Service Changed.
const uint8_t attAlChUuid [ATT_16_UUID_LEN]
 Alert Level.
const uint8_t attTxpChUuid [ATT_16_UUID_LEN]
 Tx Power Level.
const uint8_t attDtChUuid [ATT_16_UUID_LEN]
 Date Time.
const uint8_t attDwChUuid [ATT_16_UUID_LEN]
 Day of Week.
const uint8_t attDdtChUuid [ATT_16_UUID_LEN]
 Day Date Time.
const uint8_t attEt100ChUuid [ATT_16_UUID_LEN]
 Exact Time 100.
const uint8_t attEt256ChUuid [ATT_16_UUID_LEN]
 Exact Time 256.
const uint8_t attDstoChUuid [ATT_16_UUID_LEN]
 DST Offset.
const uint8_t attTzChUuid [ATT_16_UUID_LEN]
 Time Zone.
const uint8_t attLtiChUuid [ATT_16_UUID_LEN]
 Local Time Information.
const uint8_t attStzChUuid [ATT_16_UUID_LEN]
 Secondary Time Zone.
const uint8_t attTdstChUuid [ATT_16_UUID_LEN]
 Time with DST.
const uint8_t attTaChUuid [ATT_16_UUID_LEN]
 Time Accuracy.
const uint8_t attTsChUuid [ATT_16_UUID_LEN]
 Time Source.
const uint8_t attRtiChUuid [ATT_16_UUID_LEN]
 Reference Time Information.
const uint8_t attTbChUuid [ATT_16_UUID_LEN]
 Time Broadcast.
const uint8_t attTucpChUuid [ATT_16_UUID_LEN]
 Time Update Control Point.
const uint8_t attTusChUuid [ATT_16_UUID_LEN]
 Time Update State.
const uint8_t attGlmChUuid [ATT_16_UUID_LEN]
 Glucose Measurement.
const uint8_t attBlChUuid [ATT_16_UUID_LEN]
 Battery Level.
const uint8_t attBpsChUuid [ATT_16_UUID_LEN]
 Battery Power State.
const uint8_t attBlsChUuid [ATT_16_UUID_LEN]
 Battery Level State.
const uint8_t attTmChUuid [ATT_16_UUID_LEN]
 Temperature Measurement.
const uint8_t attTtChUuid [ATT_16_UUID_LEN]
 Temperature Type.
const uint8_t attItChUuid [ATT_16_UUID_LEN]
 Intermediate Temperature.
const uint8_t attTcelChUuid [ATT_16_UUID_LEN]
 Temperature Celsius.
const uint8_t attTfahChUuid [ATT_16_UUID_LEN]
 Temperature Fahrenheit.
const uint8_t attSidChUuid [ATT_16_UUID_LEN]
 System ID.
const uint8_t attMnsChUuid [ATT_16_UUID_LEN]
 Model Number String.
const uint8_t attSnsChUuid [ATT_16_UUID_LEN]
 Serial Number String.
const uint8_t attFrsChUuid [ATT_16_UUID_LEN]
 Firmware Revision String.
const uint8_t attHrsChUuid [ATT_16_UUID_LEN]
 Hardware Revision String.
const uint8_t attSrsChUuid [ATT_16_UUID_LEN]
 Software Revision String.
const uint8_t attMfnsChUuid [ATT_16_UUID_LEN]
 Manufacturer Name String.
const uint8_t attIeeeChUuid [ATT_16_UUID_LEN]
 IEEE 11073-20601 Regulatory Certification Data List.
const uint8_t attCtChUuid [ATT_16_UUID_LEN]
 Current Time.
const uint8_t attElChUuid [ATT_16_UUID_LEN]
const uint8_t attLatChUuid [ATT_16_UUID_LEN]
const uint8_t attLongChUuid [ATT_16_UUID_LEN]
const uint8_t attP2dChUuid [ATT_16_UUID_LEN]
 Position 2D.
const uint8_t attP3dChUuid [ATT_16_UUID_LEN]
 Position 3D.
const uint8_t attVidChUuid [ATT_16_UUID_LEN]
 Vendor ID.
const uint8_t attGlmcChUuid [ATT_16_UUID_LEN]
 Glucose Measurement Context.
const uint8_t attBpmChUuid [ATT_16_UUID_LEN]
 Blood Pressure Measurement.
const uint8_t attIcpChUuid [ATT_16_UUID_LEN]
 Intermediate Cuff Pressure.
const uint8_t attHrmChUuid [ATT_16_UUID_LEN]
 Heart Rate Measurement.
const uint8_t attBslChUuid [ATT_16_UUID_LEN]
 Body Sensor Location.
const uint8_t attHrcpChUuid [ATT_16_UUID_LEN]
 Heart Rate Control Point.
const uint8_t attRemChUuid [ATT_16_UUID_LEN]
const uint8_t attSrChUuid [ATT_16_UUID_LEN]
 Service Required.
const uint8_t attStcChUuid [ATT_16_UUID_LEN]
 Scientific Temperature in Celsius.
const uint8_t attStrChUuid [ATT_16_UUID_LEN]
const uint8_t attNwaChUuid [ATT_16_UUID_LEN]
 Network Availability.
const uint8_t attAsChUuid [ATT_16_UUID_LEN]
 Alert Status.
const uint8_t attRcpChUuid [ATT_16_UUID_LEN]
 Ringer Control Point.
const uint8_t attRsChUuid [ATT_16_UUID_LEN]
 Ringer Setting.
const uint8_t attAcbmChUuid [ATT_16_UUID_LEN]
 Alert Category ID Bit Mask.
const uint8_t attAcChUuid [ATT_16_UUID_LEN]
 Alert Category ID.
const uint8_t attAncpChUuid [ATT_16_UUID_LEN]
 Alert Notification Control Point.
const uint8_t attUasChUuid [ATT_16_UUID_LEN]
 Unread Alert Status.
const uint8_t attNaChUuid [ATT_16_UUID_LEN]
 New Alert.
const uint8_t attSnacChUuid [ATT_16_UUID_LEN]
 Supported New Alert Category.
const uint8_t attSuacChUuid [ATT_16_UUID_LEN]
 Supported Unread Alert Category.
const uint8_t attBpfChUuid [ATT_16_UUID_LEN]
 Blood Pressure Feature.
const uint8_t attHidBmiChUuid [ATT_16_UUID_LEN]
 HID Information.
const uint8_t attHidBkiChUuid [ATT_16_UUID_LEN]
 HID Information.
const uint8_t attHidBkoChUuid [ATT_16_UUID_LEN]
 HID Information.
const uint8_t attHidiChUuid [ATT_16_UUID_LEN]
 HID Information.
const uint8_t attHidRmChUuid [ATT_16_UUID_LEN]
 Report Map.
const uint8_t attHidcpChUuid [ATT_16_UUID_LEN]
 HID Control Point.
const uint8_t attHidRepChUuid [ATT_16_UUID_LEN]
const uint8_t attHidPmChUuid [ATT_16_UUID_LEN]
 Protocol Mode.
const uint8_t attSiwChUuid [ATT_16_UUID_LEN]
 Scan Interval Window.
const uint8_t attPnpChUuid [ATT_16_UUID_LEN]
 PnP ID.
const uint8_t attGlfChUuid [ATT_16_UUID_LEN]
 Glucose Feature.
const uint8_t attRacpChUuid [ATT_16_UUID_LEN]
 Record Access Control Point.
const uint8_t attCarChUuid [ATT_16_UUID_LEN]
 Central Address Resolution.
const uint8_t attRsfChUuid [ATT_16_UUID_LEN]
 Running Speed Features.
const uint8_t attRsmChUuid [ATT_16_UUID_LEN]
 Running Speed Measurement.
const uint8_t attCpfChUuid [ATT_16_UUID_LEN]
 Cycling Power Features.
const uint8_t attCpmChUuid [ATT_16_UUID_LEN]
 Cycling Power Measurement.
const uint8_t attCsfChUuid [ATT_16_UUID_LEN]
 Cycling Speed Features.
const uint8_t attCsmChUuid [ATT_16_UUID_LEN]
 Cycling Speed Measurement.
const uint8_t attSlChUuid [ATT_16_UUID_LEN]
 Sensor Location.
const uint8_t attPlxfChUuid [ATT_16_UUID_LEN]
 Pulse Oximeter Features.
const uint8_t attPlxscmChUuid [ATT_16_UUID_LEN]
 Pulse Oximeter Spot Check Measurement.
const uint8_t attPlxcmChUuid [ATT_16_UUID_LEN]
 Pulse Oximeter Continuous Measurement.
const uint8_t attRpaoChUuid [ATT_16_UUID_LEN]
 Resolvable Private Address Only.
const uint8_t attDbciChUuid [ATT_16_UUID_LEN]
 Database Change Increment.
const uint8_t attUiChUuid [ATT_16_UUID_LEN]
 User Index.
const uint8_t attUcpChUuid [ATT_16_UUID_LEN]
 User Control Point.
const uint8_t attMprvDinChUuid [ATT_16_UUID_LEN]
 Mesh Provisioning Data In.
const uint8_t attMprvDoutChUuid [ATT_16_UUID_LEN]
 Mesh Provisioning Data Out.
const uint8_t attMprxDinChUuid [ATT_16_UUID_LEN]
 Mesh Proxy Data In.
const uint8_t attMprxDoutChUuid [ATT_16_UUID_LEN]
 Mesh Proxy Data Out.
const uint8_t attWssSvcUuid [ATT_16_UUID_LEN]
 Weight scale service.
const uint8_t attWmChUuid [ATT_16_UUID_LEN]
 Weight measurement.
const uint8_t attWsfChUuid [ATT_16_UUID_LEN]
 Weight scale feature.
const uint8_t attGattCsfChUuid [ATT_16_UUID_LEN]
 Client supported features.
const uint8_t attGattDbhChUuid [ATT_16_UUID_LEN]
 Database hash.
const uint8_t attCteSvcUuid [ATT_16_UUID_LEN]
 Constant Tone Extension service.
const uint8_t attCteEnChUuid [ATT_16_UUID_LEN]
 Constant Tone Extension enable.
const uint8_t attCteMinLenChUuid [ATT_16_UUID_LEN]
 Constant Tone Extension minimum length.
const uint8_t attCteTxCntChUuid [ATT_16_UUID_LEN]
 Constant Tone Extension minimum transmit count.
const uint8_t attCteTxDurChUuid [ATT_16_UUID_LEN]
 Constant Tone Extension transmit duration.
const uint8_t attCteIntChUuid [ATT_16_UUID_LEN]
 Constant Tone Extension interval.
const uint8_t attCtePhyChUuid [ATT_16_UUID_LEN]
 Constant Tone Extension PHY.

Detailed Description

Macro Definition Documentation


ATT callback events.

ATT callback event ending value

Definition at line 120 of file att_api.h.

0x2E, 0xC7, 0x8A, 0x0E, 0x73, 0x90, \
0xE1, 0x11, 0xC2, 0x08, 0x60, 0x27, 0x26, 0xE0

Base UUID: E0262760-08C2-11E1-9073-0E8AC72EXXXX.

Definition at line 335 of file att_uuid.h.

Typedef Documentation

typedef void(* attCback_t) (attEvt_t *pEvt)

ATT event callback type.

This callback function sends ATT events to the client application. A single callback function is used for both ATTS and ATTC.

pEvtPointer to ATT event structure.

Definition at line 181 of file att_api.h.

Enumeration Type Documentation

anonymous enum

ATT client callback events.


Find information response.


Find by type value response.


Read by type value response.


Read response.


Read long response.


Read multiple response.


Read group type response.


Write response.


Write command response.


Prepare write response.


Execute write response.


Handle value notification.


Handle value indication.


Handle value confirmation.


Client chracteristic configuration state change.


Database hash calculation complete.


Negotiated MTU value.

Definition at line 96 of file att_api.h.

125 {

client's awareness to database change.


Client Aware.


Client Aware pending ATT Request. For internal stack use only.


Client Aware, Database Hash read pending hash update completion. For internal stack use only.


Client Unaware.

Definition at line 128 of file att_api.h.

139 {

Function Documentation

void AttRegister ( attCback_t  cback)

Register a callback with ATT. This callback will be used for messages from both ATTC and ATTS.

cbackClient callback function.
void AttConnRegister ( dmCback_t  cback)

Register a connection callback with ATT. The callback is typically used to manage the attribute server database.

cbackClient callback function.
uint16_t AttGetMtu ( dmConnId_t  connId)

Get the attribute protocol MTU of a connection.

connIdDM connection ID.
MTU of the connection.
void* AttMsgAlloc ( uint16_t  len,
uint8_t  opcode 

Allocate an ATT message buffer to be sent with the ATT attribute protocol zero-copy APIs.

lenMessage length in bytes.
opcodeOpcode for ATT message.
Pointer to message buffer or NULL if allocation failed.
void AttMsgFree ( void *  pMsg,
uint8_t  opcode 

Free an ATT message buffer allocated with AttMsgAlloc().

pMsgPointer to message buffer.
opcodeOpcode for ATT message.
Important Information for this Arm website

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling cookies, some features of the site will not work.