Home | History | Annotate | Download | only in gatt

Lines Matching full:p_db

39 static BOOLEAN allocate_svc_db_buf(tGATT_SVC_DB *p_db);
40 static void *allocate_attr_in_db(tGATT_SVC_DB *p_db, UINT16 uuid16, UINT8 *p_uuid128, tGATT_PERM perm);
41 static BOOLEAN deallocate_attr_in_db(tGATT_SVC_DB *p_db, void *p_attr);
42 static BOOLEAN copy_extra_byte_in_db(tGATT_SVC_DB *p_db, void **p_dst, UINT16 len);
44 static void gatts_db_add_service_declaration(tGATT_SVC_DB *p_db, tBT_UUID service, BOOLEAN is_pri);
54 ** Parameter p_db: database pointer.
60 BOOLEAN gatts_init_service_db (tGATT_SVC_DB *p_db, tBT_UUID service, BOOLEAN is_pri,
63 if (!allocate_svc_db_buf(p_db))
73 p_db->next_handle = s_hdl;
74 p_db->end_handle = s_hdl + num_handle;
76 gatts_db_add_service_declaration(p_db, service, is_pri);
87 ** Parameter p_db: database pointer.
93 tBT_UUID * gatts_get_service_uuid (tGATT_SVC_DB *p_db)
95 if (!p_db || !p_db->p_attr_list)
103 return &((tGATT_ATTR16 *)p_db->p_attr_list)->p_value->uuid;
303 ** Parameter p_db: pointer to the attribute database.
316 tGATT_SVC_DB *p_db,
334 if (p_db && p_db->p_attr_list)
336 p_attr = (tGATT_ATTR16 *)p_db->p_attr_list;
406 ** Parameter p_db: database pointer.
412 UINT16 gatts_add_included_service (tGATT_SVC_DB *p_db, UINT16 s_handle, UINT16 e_handle,
426 if ((p_attr = (tGATT_ATTR16 *) allocate_attr_in_db(p_db, GATT_UUID_INCLUDE_SERVICE, NULL, GATT_PERM_READ)) != NULL)
428 if (copy_extra_byte_in_db(p_db, (void **)&p_attr->p_value, sizeof(tGATT_INCL_SRVC)))
438 deallocate_attr_in_db(p_db, p_attr);
452 ** Parameter p_db: database pointer.
460 UINT16 gatts_add_characteristic (tGATT_SVC_DB *p_db, tGATT_PERM perm,
469 if ((p_char_decl = (tGATT_ATTR16 *)allocate_attr_in_db(p_db, GATT_UUID_CHAR_DECLARE, NULL, GATT_PERM_READ)) != NULL)
471 if (!copy_extra_byte_in_db(p_db, (void **)&p_char_decl->p_value, sizeof(tGATT_CHAR_DECL)))
473 deallocate_attr_in_db(p_db, p_char_decl);
477 p_char_val = (tGATT_ATTR16 *)allocate_attr_in_db(p_db, uuid16, p_char_uuid->uu.uuid128, perm);
481 deallocate_attr_in_db(p_db, p_char_decl);
546 ** Parameter p_db: database pointer.
554 UINT16 gatts_add_char_descr (tGATT_SVC_DB *p_db, tGATT_PERM perm,
563 if ((p_char_dscptr = (tGATT_ATTR16 *)allocate_attr_in_db(p_db,
587 ** Parameter p_db: pointer to the attribute database.
601 tGATT_SVC_DB *p_db,
614 if (p_db && p_db->p_attr_list)
616 p_attr = (tGATT_ATTR16 *)p_db->p_attr_list;
645 ** Parameter p_db: pointer to the attribute database.
658 tGATT_STATUS gatts_read_attr_perm_check(tGATT_SVC_DB *p_db,
667 if (p_db && p_db->p_attr_list)
669 p_attr = (tGATT_ATTR16 *)p_db->p_attr_list;
692 ** Parameter p_db: pointer to the attribute database.
704 tGATT_STATUS gatts_write_attr_perm_check (tGATT_SVC_DB *p_db, UINT8 op_code,
717 if (p_db != NULL)
719 p_attr = (tGATT_ATTR16 *) p_db->p_attr_list;
876 ** Parameter p_db : database pointer.
882 static void *allocate_attr_in_db(tGATT_SVC_DB *p_db, UINT16 uuid16, UINT8 *uuid128, tGATT_PERM perm)
896 if (p_db->end_handle <= p_db->next_handle)
899 p_db->end_handle, p_db->next_handle);
903 if (p_db->mem_free < len)
905 if (!allocate_svc_db_buf(p_db))
912 p_attr16 = (tGATT_ATTR16 *) p_db->p_free_mem;
913 p_attr128 = (tGATT_ATTR128 *) p_db->p_free_mem;
928 p_db->p_free_mem += len;
929 p_db->mem_free -= len;
931 p_attr16->handle = p_db->next_handle++;
936 if (p_db->p_attr_list == NULL)
937 p_db->p_attr_list = p_attr16;
940 p_last = (tGATT_ATTR16 *)p_db->p_attr_list;
968 ** Parameter p_db: database pointer.
974 static BOOLEAN deallocate_attr_in_db(tGATT_SVC_DB *p_db, void *p_attr)
979 if (p_db->p_attr_list == NULL)
982 p_cur = (tGATT_ATTR16 *) p_db->p_attr_list;
994 if (p_cur == p_attr && p_cur == p_db->p_attr_list)
996 p_db->p_attr_list = p_cur->p_next;
1001 p_db->next_handle --;
1014 ** Parameter p_db: database pointer.
1022 static BOOLEAN copy_extra_byte_in_db(tGATT_SVC_DB *p_db, void **p_dst, UINT16 len)
1026 if (p_db->mem_free < len)
1028 if (!allocate_svc_db_buf(p_db))
1035 p = p_db->p_free_mem;
1036 p_db->p_free_mem += len;
1037 p_db->mem_free -= len;
1053 static BOOLEAN allocate_svc_db_buf(tGATT_SVC_DB *p_db)
1066 p_db->p_free_mem = (UINT8 *) p_buf;
1067 p_db->mem_free = GKI_get_buf_size(p_buf);
1069 GKI_enqueue(&p_db->svc_buffer, p_buf);
1125 ** Parameter p_db: database pointer.
1131 static void gatts_db_add_service_declaration(tGATT_SVC_DB *p_db, tBT_UUID service, BOOLEAN is_pri)
1139 if ((p_attr = (tGATT_ATTR16 *)(allocate_attr_in_db(p_db, service_type, NULL, GATT_PERM_READ))) != NULL)
1141 if (copy_extra_byte_in_db (p_db, (void **)&p_attr->p_value, sizeof(tBT_UUID)))