Macros
Attribute Extend Permission
BLE » Generic Attribute Profile (GATT) » Generic Attribute Profile (GATT) Server » Defines

## Macros
#define | ATT_VAL_LOC_USER (1 << 15)
#define | ATT_VAL_LOC_STACK (0 << 15)
#define | ATT_UUID_TYPE_SET(uuid_len) ((uuid_len) << 13)
#define | ATT_ENC_KEY_SIZE_16 (0x1000)

## Detailed Description

Attribute extend permission

15 | 14–13 | 12 | 11–0
--- | --- | --- | ---
VL | UUID_LEN | EKS | RESERVED

Bit [0-11] : Reserved
Bit [12] : Encryption key size must be 16 bytes (0 = not need; 1 = need)
Bit [14-13]: UUID length type (0 = 16 bits; 2 = 128 bits)
Bit [15] : Value location (0 = value saved in BLE Stack; 1 = value saved in user space)

## Macro Definition Documentation

## ◆ ATT_ENC_KEY_SIZE_16

#define ATT_ENC_KEY_SIZE_16 (0x1000)

16 bytes attribute encryption key size .

## ◆ ATT_UUID_TYPE_SET

#define ATT_UUID_TYPE_SET | ( |  | uuid_len | ) | ((uuid_len) << 13)

Attribute UUID length set. See Attribute and Service UUID Type

## ◆ ATT_VAL_LOC_STACK

#define ATT_VAL_LOC_STACK (0 << 15)

Value location which means value saved in BLE Stack.

## ◆ ATT_VAL_LOC_USER

#define ATT_VAL_LOC_USER (1 << 15)

Value location which means value saved in user space, the profile's read/write callback will be called.