ble_gatt_client
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
gatt-db.c File Reference

manage the services / characteristics data model More...

#include <stdbool.h>
#include <errno.h>
#include "bluetooth.h"
#include "uuid.h"
#include "util.h"
#include "queue.h"
#include "timeout.h"
#include "att.h"
#include "gatt-db.h"

Go to the source code of this file.

Data Structures

struct  gatt_db
 
struct  notify
 
struct  pending_read
 
struct  pending_write
 
struct  gatt_db_attribute
 
struct  gatt_db_service
 
struct  notify_data
 
struct  clear_range
 
struct  find_by_type_value_data
 
struct  read_by_type_data
 
struct  find_information_data
 
struct  foreach_data
 

Macros

#define MAX(a, b)   ((a) > (b) ? (a) : (b))
 
#define MAX_CHAR_DECL_VALUE_LEN   19
 
#define MAX_INCLUDED_VALUE_LEN   6
 
#define ATTRIBUTE_TIMEOUT   5000
 

Functions

static void pending_read_result (struct pending_read *p, int err, const uint8_t *data, size_t length)
 
static void pending_read_free (void *data)
 
static void pending_write_result (struct pending_write *p, int err)
 
static void pending_write_free (void *data)
 
static void attribute_destroy (struct gatt_db_attribute *attribute)
 
static struct gatt_db_attributenew_attribute (struct gatt_db_service *service, uint16_t handle, const bt_uuid_t *type, const uint8_t *val, uint16_t len)
 
struct gatt_dbgatt_db_ref (struct gatt_db *db)
 
struct gatt_dbgatt_db_new (void)
 
static void notify_destroy (void *data)
 
static bool match_notify_id (const void *a, const void *b)
 
static void handle_notify (void *data, void *user_data)
 
static void notify_service_changed (struct gatt_db *db, struct gatt_db_service *service, bool added)
 
static void gatt_db_service_destroy (void *data)
 
static void gatt_db_destroy (struct gatt_db *db)
 
void gatt_db_unref (struct gatt_db *db)
 
bool gatt_db_isempty (struct gatt_db *db)
 
static int uuid_to_le (const bt_uuid_t *uuid, uint8_t *dst)
 
static bool le_to_uuid (const uint8_t *src, size_t len, bt_uuid_t *uuid)
 
static struct gatt_db_servicegatt_db_service_create (const bt_uuid_t *uuid, uint16_t handle, bool primary, uint16_t num_handles)
 
bool gatt_db_remove_service (struct gatt_db *db, struct gatt_db_attribute *attrib)
 
bool gatt_db_clear (struct gatt_db *db)
 
static void gatt_db_service_get_handles (const struct gatt_db_service *service, uint16_t *start_handle, uint16_t *end_handle)
 
static bool match_range (const void *a, const void *b)
 
bool gatt_db_clear_range (struct gatt_db *db, uint16_t start_handle, uint16_t end_handle)
 
static struct gatt_db_servicefind_insert_loc (struct gatt_db *db, uint16_t start, uint16_t end, struct gatt_db_service **after)
 
struct gatt_db_attributegatt_db_insert_service (struct gatt_db *db, uint16_t handle, const bt_uuid_t *uuid, bool primary, uint16_t num_handles)
 
struct gatt_db_attributegatt_db_add_service (struct gatt_db *db, const bt_uuid_t *uuid, bool primary, uint16_t num_handles)
 
unsigned int gatt_db_register (struct gatt_db *db, gatt_db_attribute_cb_t service_added, gatt_db_attribute_cb_t service_removed, void *user_data, gatt_db_destroy_func_t destroy)
 
bool gatt_db_unregister (struct gatt_db *db, unsigned int id)
 
static uint16_t get_attribute_index (struct gatt_db_service *service, int end_offset)
 
static uint16_t get_handle_at_index (struct gatt_db_service *service, int index)
 
static struct gatt_db_attributeattribute_update (struct gatt_db_service *service, int index)
 
static void set_attribute_data (struct gatt_db_attribute *attribute, gatt_db_read_t read_func, gatt_db_write_t write_func, uint32_t permissions, void *user_data)
 
static struct gatt_db_attributeservice_insert_characteristic (struct gatt_db_service *service, uint16_t handle, const bt_uuid_t *uuid, uint32_t permissions, uint8_t properties, gatt_db_read_t read_func, gatt_db_write_t write_func, void *user_data)
 
struct gatt_db_attributegatt_db_service_insert_characteristic (struct gatt_db_attribute *attrib, uint16_t handle, const bt_uuid_t *uuid, uint32_t permissions, uint8_t properties, gatt_db_read_t read_func, gatt_db_write_t write_func, void *user_data)
 
struct gatt_db_attributegatt_db_service_add_characteristic (struct gatt_db_attribute *attrib, const bt_uuid_t *uuid, uint32_t permissions, uint8_t properties, gatt_db_read_t read_func, gatt_db_write_t write_func, void *user_data)
 
static struct gatt_db_attributeservice_insert_descriptor (struct gatt_db_service *service, uint16_t handle, const bt_uuid_t *uuid, uint32_t permissions, gatt_db_read_t read_func, gatt_db_write_t write_func, void *user_data)
 
struct gatt_db_attributegatt_db_service_insert_descriptor (struct gatt_db_attribute *attrib, uint16_t handle, const bt_uuid_t *uuid, uint32_t permissions, gatt_db_read_t read_func, gatt_db_write_t write_func, void *user_data)
 
struct gatt_db_attributegatt_db_service_add_descriptor (struct gatt_db_attribute *attrib, const bt_uuid_t *uuid, uint32_t permissions, gatt_db_read_t read_func, gatt_db_write_t write_func, void *user_data)
 
struct gatt_db_attributegatt_db_service_add_included (struct gatt_db_attribute *attrib, struct gatt_db_attribute *include)
 
bool gatt_db_service_set_active (struct gatt_db_attribute *attrib, bool active)
 
bool gatt_db_service_get_active (struct gatt_db_attribute *attrib)
 
bool gatt_db_service_set_claimed (struct gatt_db_attribute *attrib, bool claimed)
 
bool gatt_db_service_get_claimed (struct gatt_db_attribute *attrib)
 
void gatt_db_read_by_group_type (struct gatt_db *db, uint16_t start_handle, uint16_t end_handle, const bt_uuid_t type, struct queue *queue)
 
static void find_by_type (void *data, void *user_data)
 
unsigned int gatt_db_find_by_type (struct gatt_db *db, uint16_t start_handle, uint16_t end_handle, const bt_uuid_t *type, gatt_db_attribute_cb_t func, void *user_data)
 
unsigned int gatt_db_find_by_type_value (struct gatt_db *db, uint16_t start_handle, uint16_t end_handle, const bt_uuid_t *type, const void *value, size_t value_len, gatt_db_attribute_cb_t func, void *user_data)
 
static void read_by_type (void *data, void *user_data)
 
void gatt_db_read_by_type (struct gatt_db *db, uint16_t start_handle, uint16_t end_handle, const bt_uuid_t type, struct queue *queue)
 
static void find_information (void *data, void *user_data)
 
void gatt_db_find_information (struct gatt_db *db, uint16_t start_handle, uint16_t end_handle, struct queue *queue)
 
void gatt_db_foreach_service (struct gatt_db *db, const bt_uuid_t *uuid, gatt_db_attribute_cb_t func, void *user_data)
 
static void foreach_service_in_range (void *data, void *user_data)
 
void gatt_db_foreach_service_in_range (struct gatt_db *db, const bt_uuid_t *uuid, gatt_db_attribute_cb_t func, void *user_data, uint16_t start_handle, uint16_t end_handle)
 
void gatt_db_service_foreach (struct gatt_db_attribute *attrib, const bt_uuid_t *uuid, gatt_db_attribute_cb_t func, void *user_data)
 
void gatt_db_service_foreach_char (struct gatt_db_attribute *attrib, gatt_db_attribute_cb_t func, void *user_data)
 
void gatt_db_service_foreach_desc (struct gatt_db_attribute *attrib, gatt_db_attribute_cb_t func, void *user_data)
 
void gatt_db_service_foreach_incl (struct gatt_db_attribute *attrib, gatt_db_attribute_cb_t func, void *user_data)
 
static bool find_service_for_handle (const void *data, const void *user_data)
 
struct gatt_db_attributegatt_db_get_attribute (struct gatt_db *db, uint16_t handle)
 
static bool find_service_with_uuid (const void *data, const void *user_data)
 
struct gatt_db_attributegatt_db_get_service_with_uuid (struct gatt_db *db, const bt_uuid_t *uuid)
 
const bt_uuid_tgatt_db_attribute_get_type (const struct gatt_db_attribute *attrib)
 
uint16_t gatt_db_attribute_get_handle (const struct gatt_db_attribute *attrib)
 
bool gatt_db_attribute_get_service_uuid (const struct gatt_db_attribute *attrib, bt_uuid_t *uuid)
 
bool gatt_db_attribute_get_service_handles (const struct gatt_db_attribute *attrib, uint16_t *start_handle, uint16_t *end_handle)
 
bool gatt_db_attribute_get_service_data (const struct gatt_db_attribute *attrib, uint16_t *start_handle, uint16_t *end_handle, bool *primary, bt_uuid_t *uuid)
 
bool gatt_db_attribute_get_char_data (const struct gatt_db_attribute *attrib, uint16_t *handle, uint16_t *value_handle, uint8_t *properties, bt_uuid_t *uuid)
 
bool gatt_db_attribute_get_incl_data (const struct gatt_db_attribute *attrib, uint16_t *handle, uint16_t *start_handle, uint16_t *end_handle)
 
uint32_t gatt_db_attribute_get_permissions (const struct gatt_db_attribute *attrib)
 
static bool read_timeout (void *user_data)
 
bool gatt_db_attribute_read (struct gatt_db_attribute *attrib, uint16_t offset, uint8_t opcode, struct bt_att *att, gatt_db_attribute_read_t func, void *user_data)
 
static bool find_pending (const void *a, const void *b)
 
bool gatt_db_attribute_read_result (struct gatt_db_attribute *attrib, unsigned int id, int err, const uint8_t *value, size_t length)
 
static bool write_timeout (void *user_data)
 
bool gatt_db_attribute_write (struct gatt_db_attribute *attrib, uint16_t offset, const uint8_t *value, size_t len, uint8_t opcode, struct bt_att *att, gatt_db_attribute_write_t func, void *user_data)
 
bool gatt_db_attribute_write_result (struct gatt_db_attribute *attrib, unsigned int id, int err)
 
bool gatt_db_attribute_reset (struct gatt_db_attribute *attrib)
 

Variables

static const bt_uuid_t primary_service_uuid
 
static const bt_uuid_t secondary_service_uuid
 
static const bt_uuid_t characteristic_uuid
 
static const bt_uuid_t included_service_uuid
 

Detailed Description

manage the services / characteristics data model

Author
Gilbert Brault

Definition in file gatt-db.c.

Macro Definition Documentation

#define ATTRIBUTE_TIMEOUT   5000

Definition at line 50 of file gatt-db.c.

Referenced by gatt_db_attribute_read(), and gatt_db_attribute_write().

#define MAX (   a,
 
)    ((a) > (b) ? (a) : (b))

Definition at line 45 of file gatt-db.c.

Referenced by gatt_db_insert_service().

#define MAX_CHAR_DECL_VALUE_LEN   19

Definition at line 48 of file gatt-db.c.

Referenced by service_insert_characteristic().

#define MAX_INCLUDED_VALUE_LEN   6

Definition at line 49 of file gatt-db.c.

Referenced by gatt_db_service_add_included().

Function Documentation

static void attribute_destroy ( struct gatt_db_attribute attribute)
static
static struct gatt_db_attribute* attribute_update ( struct gatt_db_service service,
int  index 
)
static

Definition at line 675 of file gatt-db.c.

References gatt_db_service::attributes, and gatt_db_attribute::handle.

Referenced by gatt_db_service_add_included().

static struct gatt_db_service* find_insert_loc ( struct gatt_db db,
uint16_t  start,
uint16_t  end,
struct gatt_db_service **  after 
)
static
static bool find_pending ( const void *  a,
const void *  b 
)
static

Definition at line 1634 of file gatt-db.c.

References pending_read::id, and PTR_TO_UINT.

Referenced by gatt_db_attribute_read_result(), and gatt_db_attribute_write_result().

static bool find_service_for_handle ( const void *  data,
const void *  user_data 
)
static

Definition at line 1338 of file gatt-db.c.

References gatt_db_service_get_handles(), and PTR_TO_UINT.

Referenced by gatt_db_get_attribute().

static bool find_service_with_uuid ( const void *  data,
const void *  user_data 
)
static
static void foreach_service_in_range ( void *  data,
void *  user_data 
)
static
struct gatt_db_attribute* gatt_db_add_service ( struct gatt_db db,
const bt_uuid_t uuid,
bool  primary,
uint16_t  num_handles 
)

Definition at line 596 of file gatt-db.c.

References gatt_db_insert_service(), and gatt_db::next_handle.

bool gatt_db_attribute_get_char_data ( const struct gatt_db_attribute attrib,
uint16_t *  handle,
uint16_t *  value_handle,
uint8_t *  properties,
bt_uuid_t uuid 
)
uint16_t gatt_db_attribute_get_handle ( const struct gatt_db_attribute attrib)
bool gatt_db_attribute_get_incl_data ( const struct gatt_db_attribute attrib,
uint16_t *  handle,
uint16_t *  start_handle,
uint16_t *  end_handle 
)
uint32_t gatt_db_attribute_get_permissions ( const struct gatt_db_attribute attrib)

Definition at line 1569 of file gatt-db.c.

References gatt_db_attribute::permissions.

bool gatt_db_attribute_get_service_data ( const struct gatt_db_attribute attrib,
uint16_t *  start_handle,
uint16_t *  end_handle,
bool *  primary,
bt_uuid_t uuid 
)
bool gatt_db_attribute_get_service_handles ( const struct gatt_db_attribute attrib,
uint16_t *  start_handle,
uint16_t *  end_handle 
)
const bt_uuid_t* gatt_db_attribute_get_type ( const struct gatt_db_attribute attrib)

Definition at line 1400 of file gatt-db.c.

References gatt_db_attribute::uuid.

Referenced by find_ccc(), notify_chrc_create(), and print_desc().

bool gatt_db_attribute_read_result ( struct gatt_db_attribute attrib,
unsigned int  id,
int  err,
const uint8_t *  value,
size_t  length 
)
bool gatt_db_attribute_reset ( struct gatt_db_attribute attrib)

Definition at line 1752 of file gatt-db.c.

References gatt_db_attribute::value, and gatt_db_attribute::value_len.

bool gatt_db_attribute_write_result ( struct gatt_db_attribute attrib,
unsigned int  id,
int  err 
)
bool gatt_db_clear ( struct gatt_db db)

Definition at line 442 of file gatt-db.c.

References gatt_db_service_destroy(), gatt_db::next_handle, queue_remove_all(), and gatt_db::services.

Referenced by init_fail().

bool gatt_db_clear_range ( struct gatt_db db,
uint16_t  start_handle,
uint16_t  end_handle 
)
static void gatt_db_destroy ( struct gatt_db db)
static
unsigned int gatt_db_find_by_type ( struct gatt_db db,
uint16_t  start_handle,
uint16_t  end_handle,
const bt_uuid_t type,
gatt_db_attribute_cb_t  func,
void *  user_data 
)
unsigned int gatt_db_find_by_type_value ( struct gatt_db db,
uint16_t  start_handle,
uint16_t  end_handle,
const bt_uuid_t type,
const void *  value,
size_t  value_len,
gatt_db_attribute_cb_t  func,
void *  user_data 
)
void gatt_db_find_information ( struct gatt_db db,
uint16_t  start_handle,
uint16_t  end_handle,
struct queue queue 
)
void gatt_db_foreach_service ( struct gatt_db db,
const bt_uuid_t uuid,
gatt_db_attribute_cb_t  func,
void *  user_data 
)
void gatt_db_foreach_service_in_range ( struct gatt_db db,
const bt_uuid_t uuid,
gatt_db_attribute_cb_t  func,
void *  user_data,
uint16_t  start_handle,
uint16_t  end_handle 
)
struct gatt_db_attribute* gatt_db_get_attribute ( struct gatt_db db,
uint16_t  handle 
)
struct gatt_db_attribute* gatt_db_get_service_with_uuid ( struct gatt_db db,
const bt_uuid_t uuid 
)
bool gatt_db_isempty ( struct gatt_db db)

Definition at line 339 of file gatt-db.c.

References queue_isempty(), and gatt_db::services.

struct gatt_db* gatt_db_new ( void  )
void gatt_db_read_by_group_type ( struct gatt_db db,
uint16_t  start_handle,
uint16_t  end_handle,
const bt_uuid_t  type,
struct queue queue 
)
void gatt_db_read_by_type ( struct gatt_db db,
uint16_t  start_handle,
uint16_t  end_handle,
const bt_uuid_t  type,
struct queue queue 
)
struct gatt_db* gatt_db_ref ( struct gatt_db db)

Definition at line 208 of file gatt-db.c.

References gatt_db::ref_count.

Referenced by bt_gatt_client_new(), gatt_db_new(), and notify_service_changed().

unsigned int gatt_db_register ( struct gatt_db db,
gatt_db_attribute_cb_t  service_added,
gatt_db_attribute_cb_t  service_removed,
void *  user_data,
gatt_db_destroy_func_t  destroy 
)
bool gatt_db_remove_service ( struct gatt_db db,
struct gatt_db_attribute attrib 
)
struct gatt_db_attribute* gatt_db_service_add_characteristic ( struct gatt_db_attribute attrib,
const bt_uuid_t uuid,
uint32_t  permissions,
uint8_t  properties,
gatt_db_read_t  read_func,
gatt_db_write_t  write_func,
void *  user_data 
)

Definition at line 785 of file gatt-db.c.

References gatt_db_attribute::service, and service_insert_characteristic().

struct gatt_db_attribute* gatt_db_service_add_descriptor ( struct gatt_db_attribute attrib,
const bt_uuid_t uuid,
uint32_t  permissions,
gatt_db_read_t  read_func,
gatt_db_write_t  write_func,
void *  user_data 
)

Definition at line 852 of file gatt-db.c.

References gatt_db_attribute::service, and service_insert_descriptor().

static struct gatt_db_service* gatt_db_service_create ( const bt_uuid_t uuid,
uint16_t  handle,
bool  primary,
uint16_t  num_handles 
)
static
void gatt_db_service_foreach ( struct gatt_db_attribute attrib,
const bt_uuid_t uuid,
gatt_db_attribute_cb_t  func,
void *  user_data 
)
void gatt_db_service_foreach_char ( struct gatt_db_attribute attrib,
gatt_db_attribute_cb_t  func,
void *  user_data 
)

Definition at line 1284 of file gatt-db.c.

References gatt_db_service_foreach().

Referenced by print_service().

void gatt_db_service_foreach_desc ( struct gatt_db_attribute attrib,
gatt_db_attribute_cb_t  func,
void *  user_data 
)
void gatt_db_service_foreach_incl ( struct gatt_db_attribute attrib,
gatt_db_attribute_cb_t  func,
void *  user_data 
)

Definition at line 1330 of file gatt-db.c.

References gatt_db_service_foreach().

Referenced by print_service().

bool gatt_db_service_get_active ( struct gatt_db_attribute attrib)

Definition at line 941 of file gatt-db.c.

References gatt_db_service::active, and gatt_db_attribute::service.

Referenced by discover_primary_cb(), and discover_secondary_cb().

bool gatt_db_service_get_claimed ( struct gatt_db_attribute attrib)

Definition at line 960 of file gatt-db.c.

References gatt_db_service::claimed, and gatt_db_attribute::service.

static void gatt_db_service_get_handles ( const struct gatt_db_service service,
uint16_t *  start_handle,
uint16_t *  end_handle 
)
static
struct gatt_db_attribute* gatt_db_service_insert_characteristic ( struct gatt_db_attribute attrib,
uint16_t  handle,
const bt_uuid_t uuid,
uint32_t  permissions,
uint8_t  properties,
gatt_db_read_t  read_func,
gatt_db_write_t  write_func,
void *  user_data 
)

Definition at line 766 of file gatt-db.c.

References gatt_db_attribute::service, and service_insert_characteristic().

Referenced by discover_descs().

struct gatt_db_attribute* gatt_db_service_insert_descriptor ( struct gatt_db_attribute attrib,
uint16_t  handle,
const bt_uuid_t uuid,
uint32_t  permissions,
gatt_db_read_t  read_func,
gatt_db_write_t  write_func,
void *  user_data 
)

Definition at line 835 of file gatt-db.c.

References gatt_db_attribute::service, and service_insert_descriptor().

Referenced by discover_descs_cb().

bool gatt_db_service_set_active ( struct gatt_db_attribute attrib,
bool  active 
)
bool gatt_db_service_set_claimed ( struct gatt_db_attribute attrib,
bool  claimed 
)

Definition at line 949 of file gatt-db.c.

References gatt_db_service::claimed, and gatt_db_attribute::service.

void gatt_db_unref ( struct gatt_db db)

Definition at line 328 of file gatt-db.c.

References gatt_db_destroy(), and gatt_db::ref_count.

Referenced by bt_gatt_client_free(), client_create(), and notify_service_changed().

bool gatt_db_unregister ( struct gatt_db db,
unsigned int  id 
)
static uint16_t get_attribute_index ( struct gatt_db_service service,
int  end_offset 
)
static
static uint16_t get_handle_at_index ( struct gatt_db_service service,
int  index 
)
static
static void handle_notify ( void *  data,
void *  user_data 
)
static
static bool le_to_uuid ( const uint8_t *  src,
size_t  len,
bt_uuid_t uuid 
)
static
static bool match_notify_id ( const void *  a,
const void *  b 
)
static

Definition at line 254 of file gatt-db.c.

References notify::id, and PTR_TO_UINT.

Referenced by gatt_db_unregister().

static bool match_range ( const void *  a,
const void *  b 
)
static

Definition at line 470 of file gatt-db.c.

References clear_range::end, gatt_db_service_get_handles(), and clear_range::start.

Referenced by gatt_db_clear_range().

static void notify_destroy ( void *  data)
static

Definition at line 244 of file gatt-db.c.

References notify::destroy, and notify::user_data.

Referenced by gatt_db_destroy(), and gatt_db_unregister().

static void notify_service_changed ( struct gatt_db db,
struct gatt_db_service service,
bool  added 
)
static
static void pending_read_free ( void *  data)
static

Definition at line 132 of file gatt-db.c.

References pending_read_result().

Referenced by attribute_destroy().

static void pending_read_result ( struct pending_read p,
int  err,
const uint8_t *  data,
size_t  length 
)
static
static void pending_write_free ( void *  data)
static

Definition at line 149 of file gatt-db.c.

References pending_write_result().

Referenced by attribute_destroy().

static void pending_write_result ( struct pending_write p,
int  err 
)
static
static bool read_timeout ( void *  user_data)
static
static struct gatt_db_attribute* service_insert_characteristic ( struct gatt_db_service service,
uint16_t  handle,
const bt_uuid_t uuid,
uint32_t  permissions,
uint8_t  properties,
gatt_db_read_t  read_func,
gatt_db_write_t  write_func,
void *  user_data 
)
static
static struct gatt_db_attribute* service_insert_descriptor ( struct gatt_db_service service,
uint16_t  handle,
const bt_uuid_t uuid,
uint32_t  permissions,
gatt_db_read_t  read_func,
gatt_db_write_t  write_func,
void *  user_data 
)
static
static void set_attribute_data ( struct gatt_db_attribute attribute,
gatt_db_read_t  read_func,
gatt_db_write_t  write_func,
uint32_t  permissions,
void *  user_data 
)
static
static int uuid_to_le ( const bt_uuid_t uuid,
uint8_t *  dst 
)
static
static bool write_timeout ( void *  user_data)
static

Variable Documentation

const bt_uuid_t characteristic_uuid
static
Initial value:
= { .type = BT_UUID16,
.value.u16 = GATT_CHARAC_UUID }
#define GATT_CHARAC_UUID
Definition: uuid.h:113

Definition at line 56 of file gatt-db.c.

const bt_uuid_t included_service_uuid
static
Initial value:
= { .type = BT_UUID16,
.value.u16 = GATT_INCLUDE_UUID }
#define GATT_INCLUDE_UUID
Definition: uuid.h:112

Definition at line 58 of file gatt-db.c.

const bt_uuid_t primary_service_uuid
static
Initial value:
= { .type = BT_UUID16,
.value.u16 = GATT_PRIM_SVC_UUID }
#define GATT_PRIM_SVC_UUID
Definition: uuid.h:110

Definition at line 52 of file gatt-db.c.

Referenced by gatt_db_insert_service(), and gatt_db_service_create().

const bt_uuid_t secondary_service_uuid
static
Initial value:
= { .type = BT_UUID16,
.value.u16 = GATT_SND_SVC_UUID }
#define GATT_SND_SVC_UUID
Definition: uuid.h:111

Definition at line 54 of file gatt-db.c.

Referenced by gatt_db_insert_service(), and gatt_db_service_create().