WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
bts_gatt_server.h
浏览该文件的文档.
1/*
2 * Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2022. All rights reserved.
3 * Description: BTS GATT SERVER module.
4 */
5
12#ifndef BTS_GATT_SERVER_H
13#define BTS_GATT_SERVER_H
14
15#include <stdbool.h>
16#include <stdint.h>
17#include "errcode.h"
18#include "bts_def.h"
19#include "bts_gatt_stru.h"
20
21#ifdef __cplusplus
22extern "C" {
23#endif
24
32typedef struct {
35 uint8_t permissions;
37 uint8_t properties;
39 uint16_t value_len;
41 uint8_t *value;
44
52typedef struct {
55 uint8_t permissions;
57 uint16_t value_len;
59 uint8_t *value;
62
70typedef struct {
71 uint16_t request_id;
73 uint16_t handle;
75 uint16_t offset;
77 bool need_rsp;
81 bool is_long;
84
92typedef struct {
93 uint16_t request_id;
95 uint16_t handle;
97 uint16_t offset;
99 bool need_rsp;
103 bool is_prep;
105 uint16_t length;
107 uint8_t *value;
110
118typedef struct {
119 uint16_t request_id;
121 uint8_t status;
123 uint16_t offset;
125 uint16_t value_len;
127 uint8_t *value;
130
138typedef struct {
139 uint16_t attr_handle;
141 uint16_t value_len;
143 uint8_t *value;
146
154typedef struct {
157 uint16_t start_handle;
159 uint16_t end_handle;
161 uint16_t value_len;
163 uint8_t *value;
166
174typedef struct {
175 uint16_t handle;
177 uint16_t value_handle;
180
208typedef void (*gatts_add_service_callback)(uint8_t server_id, bt_uuid_t *uuid, uint16_t handle, errcode_t status);
209
239typedef void (*gatts_add_characteristic_callback)(uint8_t server_id, bt_uuid_t *uuid, uint16_t service_handle,
241
271typedef void (*gatts_add_descriptor_callback)(uint8_t server_id, bt_uuid_t *uuid, uint16_t service_handle,
272 uint16_t handle, errcode_t status);
273
299typedef void (*gatts_start_service_callback)(uint8_t server_id, uint16_t handle, errcode_t status);
300
326typedef void (*gatts_stop_service_callback)(uint8_t server_id, uint16_t handle, errcode_t status);
327
353typedef void (*gatts_delete_service_callback)(uint8_t server_id, errcode_t status);
354
382typedef void (*gatts_read_request_callback)(uint8_t server_id, uint16_t conn_id, gatts_req_read_cb_t *read_cb_para,
383 errcode_t status);
384
412typedef void (*gatts_write_request_callback)(uint8_t server_id, uint16_t conn_id, gatts_req_write_cb_t *write_cb_para,
413 errcode_t status);
414
442typedef void (*gatts_mtu_changed_callback)(uint8_t server_id, uint16_t conn_id, uint16_t mtu_size, errcode_t status);
443
471
493errcode_t gatts_register_server(bt_uuid_t *app_uuid, uint8_t *server_id);
494
515
537errcode_t gatts_add_service(uint8_t server_id, bt_uuid_t *service_uuid, bool is_primary);
538
560errcode_t gatts_add_characteristic(uint8_t server_id, uint16_t service_handle, gatts_add_chara_info_t *character);
561
583errcode_t gatts_add_descriptor(uint8_t server_id, uint16_t service_handle, gatts_add_desc_info_t *descriptor);
584
610errcode_t gatts_add_service_sync(uint8_t server_id, bt_uuid_t *service_uuid, bool is_primary, uint16_t *handle);
611
637errcode_t gatts_add_characteristic_sync(uint8_t server_id, uint16_t service_handle, gatts_add_chara_info_t *character,
639
665errcode_t gatts_add_descriptor_sync(uint8_t server_id, uint16_t service_handle, gatts_add_desc_info_t *descriptor,
666 uint16_t *handle);
667
687errcode_t gatts_start_service(uint8_t server_id, uint16_t service_handle);
688
708errcode_t gatts_stop_service(uint8_t server_id, uint16_t service_handle);
709
729errcode_t gatts_delete_service(uint8_t server_id, uint16_t service_handle);
730
749
775errcode_t gatts_send_response(uint8_t server_id, uint16_t conn_id, gatts_send_rsp_t *param);
776
801errcode_t gatts_notify_indicate(uint8_t server_id, uint16_t conn_id, gatts_ntf_ind_t *param);
802
833errcode_t gatts_notify_indicate_by_uuid(uint8_t server_id, uint16_t conn_id, gatts_ntf_ind_by_uuid_t *param);
834
856errcode_t gatts_set_mtu_size(uint8_t server_id, uint16_t mtu_size);
857
879
880
885#ifdef __cplusplus
886}
887#endif
888#endif
889
errcode_t gatts_delete_service(uint8_t server_id, uint16_t service_handle)
删除一个GATT服务。
void(* gatts_write_request_callback)(uint8_t server_id, uint16_t conn_id, gatts_req_write_cb_t *write_cb_para, errcode_t status)
收到写请求的回调函数。
Definition bts_gatt_server.h:412
void(* gatts_stop_service_callback)(uint8_t server_id, uint16_t handle, errcode_t status)
停止服务的回调函数。
Definition bts_gatt_server.h:326
errcode_t gatts_register_server(bt_uuid_t *app_uuid, uint8_t *server_id)
注册gatt服务端。
errcode_t gatts_notify_indicate_by_uuid(uint8_t server_id, uint16_t conn_id, gatts_ntf_ind_by_uuid_t *param)
向对端发送通知或指示。
errcode_t gatts_delete_all_services(uint8_t server_id)
删除所有GATT服务。
void(* gatts_mtu_changed_callback)(uint8_t server_id, uint16_t conn_id, uint16_t mtu_size, errcode_t status)
mtu大小改变的回调函数。
Definition bts_gatt_server.h:442
errcode_t gatts_send_response(uint8_t server_id, uint16_t conn_id, gatts_send_rsp_t *param)
当收到需要用户回复响应的请求时发送响应。
errcode_t gatts_add_descriptor_sync(uint8_t server_id, uint16_t service_handle, gatts_add_desc_info_t *descriptor, uint16_t *handle)
添加一个gatt特征描述符。
errcode_t gatts_stop_service(uint8_t server_id, uint16_t service_handle)
停止一个GATT服务。
void(* gatts_add_characteristic_callback)(uint8_t server_id, bt_uuid_t *uuid, uint16_t service_handle, gatts_add_character_result_t *result, errcode_t status)
特征注册的回调函数。
Definition bts_gatt_server.h:239
void(* gatts_read_request_callback)(uint8_t server_id, uint16_t conn_id, gatts_req_read_cb_t *read_cb_para, errcode_t status)
收到读请求的回调函数。
Definition bts_gatt_server.h:382
errcode_t gatts_notify_indicate(uint8_t server_id, uint16_t conn_id, gatts_ntf_ind_t *param)
向对端发送通知或指示。
errcode_t gatts_add_service(uint8_t server_id, bt_uuid_t *service_uuid, bool is_primary)
添加一个gatt服务。
errcode_t gatts_add_characteristic(uint8_t server_id, uint16_t service_handle, gatts_add_chara_info_t *character)
添加一个gatt特征。
errcode_t gatts_set_mtu_size(uint8_t server_id, uint16_t mtu_size)
在连接之前设置服务端接收mtu。
void(* gatts_add_service_callback)(uint8_t server_id, bt_uuid_t *uuid, uint16_t handle, errcode_t status)
服务注册的回调函数。
Definition bts_gatt_server.h:208
void(* gatts_add_descriptor_callback)(uint8_t server_id, bt_uuid_t *uuid, uint16_t service_handle, uint16_t handle, errcode_t status)
特征描述符注册的回调函数。
Definition bts_gatt_server.h:271
errcode_t gatts_unregister_server(uint8_t server_id)
注销gatt服务端。
errcode_t gatts_add_characteristic_sync(uint8_t server_id, uint16_t service_handle, gatts_add_chara_info_t *character, gatts_add_character_result_t *result)
添加一个gatt特征。
errcode_t gatts_add_service_sync(uint8_t server_id, bt_uuid_t *service_uuid, bool is_primary, uint16_t *handle)
添加一个gatt服务。
void(* gatts_start_service_callback)(uint8_t server_id, uint16_t handle, errcode_t status)
开始服务的回调函数。
Definition bts_gatt_server.h:299
void(* gatts_delete_service_callback)(uint8_t server_id, errcode_t status)
删除服务的回调函数。
Definition bts_gatt_server.h:353
errcode_t gatts_start_service(uint8_t server_id, uint16_t service_handle)
开始一个GATT服务。
errcode_t gatts_register_callbacks(gatts_callbacks_t *func)
注册回调函数。
errcode_t gatts_add_descriptor(uint8_t server_id, uint16_t service_handle, gatts_add_desc_info_t *descriptor)
添加一个gatt特征描述符。
uint32_t errcode_t
Definition of error code.
Definition errcode.h:30
定义UUID结构。
Definition bts_def.h:154
添加特征信息。
Definition bts_gatt_server.h:32
uint8_t permissions
Definition bts_gatt_server.h:35
uint8_t * value
Definition bts_gatt_server.h:41
uint8_t properties
Definition bts_gatt_server.h:37
uint16_t value_len
Definition bts_gatt_server.h:39
bt_uuid_t chara_uuid
Definition bts_gatt_server.h:33
添加特征回调信息。
Definition bts_gatt_server.h:174
uint16_t handle
Definition bts_gatt_server.h:175
uint16_t value_handle
Definition bts_gatt_server.h:177
添加特征描述符信息。
Definition bts_gatt_server.h:52
bt_uuid_t desc_uuid
Definition bts_gatt_server.h:53
uint8_t permissions
Definition bts_gatt_server.h:55
uint16_t value_len
Definition bts_gatt_server.h:57
uint8_t * value
Definition bts_gatt_server.h:59
GATT server回调函数接口定义。
Definition bts_gatt_server.h:451
gatts_mtu_changed_callback mtu_changed_cb
Definition bts_gatt_server.h:468
gatts_add_service_callback add_service_cb
Definition bts_gatt_server.h:452
gatts_add_characteristic_callback add_characteristic_cb
Definition bts_gatt_server.h:454
gatts_start_service_callback start_service_cb
Definition bts_gatt_server.h:458
gatts_delete_service_callback delete_service_cb
Definition bts_gatt_server.h:462
gatts_read_request_callback read_request_cb
Definition bts_gatt_server.h:464
gatts_add_descriptor_callback add_descriptor_cb
Definition bts_gatt_server.h:456
gatts_write_request_callback write_request_cb
Definition bts_gatt_server.h:466
gatts_stop_service_callback stop_service_cb
Definition bts_gatt_server.h:460
通过uuid发送通知/指示信息。
Definition bts_gatt_server.h:154
uint16_t start_handle
Definition bts_gatt_server.h:157
uint16_t value_len
Definition bts_gatt_server.h:161
uint16_t end_handle
Definition bts_gatt_server.h:159
bt_uuid_t chara_uuid
Definition bts_gatt_server.h:155
uint8_t * value
Definition bts_gatt_server.h:163
发送通知/指示信息。
Definition bts_gatt_server.h:138
uint16_t attr_handle
Definition bts_gatt_server.h:139
uint8_t * value
Definition bts_gatt_server.h:143
uint16_t value_len
Definition bts_gatt_server.h:141
读请求信息。
Definition bts_gatt_server.h:70
bool need_rsp
Definition bts_gatt_server.h:77
uint16_t offset
Definition bts_gatt_server.h:75
bool is_long
Definition bts_gatt_server.h:81
uint16_t request_id
Definition bts_gatt_server.h:71
uint16_t handle
Definition bts_gatt_server.h:73
bool need_authorize
Definition bts_gatt_server.h:79
写请求信息。
Definition bts_gatt_server.h:92
bool need_authorize
Definition bts_gatt_server.h:101
uint16_t offset
Definition bts_gatt_server.h:97
uint8_t * value
Definition bts_gatt_server.h:107
uint16_t handle
Definition bts_gatt_server.h:95
uint16_t request_id
Definition bts_gatt_server.h:93
bool is_prep
Definition bts_gatt_server.h:103
bool need_rsp
Definition bts_gatt_server.h:99
uint16_t length
Definition bts_gatt_server.h:105
发送响应信息。
Definition bts_gatt_server.h:118
uint16_t value_len
Definition bts_gatt_server.h:125
uint8_t status
Definition bts_gatt_server.h:121
uint8_t * value
Definition bts_gatt_server.h:127
uint16_t offset
Definition bts_gatt_server.h:123
uint16_t request_id
Definition bts_gatt_server.h:119