Lines Matching defs:pdu

113 							uint8_t *pdu, int len)
115 const uint16_t min_len = sizeof(pdu[0]) + sizeof(start) + sizeof(end);
131 pdu[0] = ATT_OP_READ_BY_GROUP_REQ;
132 att_put_u16(start, &pdu[1]);
133 att_put_u16(end, &pdu[3]);
135 att_put_uuid(*uuid, &pdu[5]);
140 uint16_t dec_read_by_grp_req(const uint8_t *pdu, int len, uint16_t *start,
143 const uint16_t min_len = sizeof(pdu[0]) + sizeof(*start) + sizeof(*end);
145 if (pdu == NULL)
151 if (pdu[0] != ATT_OP_READ_BY_GROUP_REQ)
157 *start = att_get_u16(&pdu[1]);
158 *end = att_get_u16(&pdu[3]);
160 *uuid = att_get_uuid16(&pdu[5]);
162 *uuid = att_get_uuid128(&pdu[5]);
167 uint16_t enc_read_by_grp_resp(struct att_data_list *list, uint8_t *pdu,
180 pdu[0] = ATT_OP_READ_BY_GROUP_RESP;
181 pdu[1] = list->len;
183 ptr = &pdu[2];
194 struct att_data_list *dec_read_by_grp_resp(const uint8_t *pdu, int len)
201 if (pdu[0] != ATT_OP_READ_BY_GROUP_RESP)
204 elen = pdu[1];
208 ptr = &pdu[2];
219 const uint8_t *value, int vlen, uint8_t *pdu, int len)
221 uint16_t min_len = sizeof(pdu[0]) + sizeof(start) + sizeof(end) +
224 if (pdu == NULL)
239 pdu[0] = ATT_OP_FIND_BY_TYPE_REQ;
240 att_put_u16(start, &pdu[1]);
241 att_put_u16(end, &pdu[3]);
242 att_put_uuid16(*uuid, &pdu[5]);
245 memcpy(&pdu[7], value, vlen);
252 uint16_t dec_find_by_type_req(const uint8_t *pdu, int len, uint16_t *start,
256 uint16_t min_len = sizeof(pdu[0]) + sizeof(*start) +
259 if (pdu == NULL)
265 if (pdu[0] != ATT_OP_FIND_BY_TYPE_REQ)
270 *start = att_get_u16(&pdu[1]);
274 *end = att_get_u16(&pdu[3]);
278 *uuid = att_get_uuid16(&pdu[5]);
284 memcpy(value, pdu + min_len, valuelen);
292 uint16_t enc_find_by_type_resp(GSList *matches, uint8_t *pdu, int len)
297 if (pdu == NULL || len < 5)
300 pdu[0] = ATT_OP_FIND_BY_TYPE_RESP;
306 att_put_u16(range->start, &pdu[offset]);
307 att_put_u16(range->end, &pdu[offset + 2]);
313 GSList *dec_find_by_type_resp(const uint8_t *pdu, int len)
319 if (pdu == NULL || len < 5)
322 if (pdu[0] != ATT_OP_FIND_BY_TYPE_RESP)
327 range->start = att_get_u16(&pdu[offset]);
328 range->end = att_get_u16(&pdu[offset + 2]);
337 uint8_t *pdu, int len)
339 const uint16_t min_len = sizeof(pdu[0]) + sizeof(start) + sizeof(end);
355 pdu[0] = ATT_OP_READ_BY_TYPE_REQ;
356 att_put_u16(start, &pdu[1]);
357 att_put_u16(end, &pdu[3]);
359 att_put_uuid(*uuid, &pdu[5]);
364 uint16_t dec_read_by_type_req(const uint8_t *pdu, int len, uint16_t *start,
367 const uint16_t min_len = sizeof(pdu[0]) + sizeof(*start) + sizeof(*end);
369 if (pdu == NULL)
378 if (pdu[0] != ATT_OP_READ_BY_TYPE_REQ)
381 *start = att_get_u16(&pdu[1]);
382 *end = att_get_u16(&pdu[3]);
385 *uuid = att_get_uuid16(&pdu[5]);
387 *uuid = att_get_uuid128(&pdu[5]);
392 uint16_t enc_read_by_type_resp(struct att_data_list *list, uint8_t *pdu, int len)
400 if (pdu == NULL)
405 pdu[0] = ATT_OP_READ_BY_TYPE_RESP;
406 pdu[1] = l;
407 ptr = &pdu[2];
418 struct att_data_list *dec_read_by_type_resp(const uint8_t *pdu, int len)
425 if (pdu[0] != ATT_OP_READ_BY_TYPE_RESP)
428 elen = pdu[1];
432 ptr = &pdu[2];
443 uint8_t *pdu, int len)
445 const uint16_t min_len = sizeof(pdu[0]) + sizeof(handle);
447 if (pdu == NULL)
456 pdu[0] = ATT_OP_WRITE_CMD;
457 att_put_u16(handle, &pdu[1]);
460 memcpy(&pdu[3], value, vlen);
467 uint16_t dec_write_cmd(const uint8_t *pdu, int len, uint16_t *handle,
470 const uint16_t min_len = sizeof(pdu[0]) + sizeof(*handle);
472 if (pdu == NULL)
481 if (pdu[0] != ATT_OP_WRITE_CMD)
484 *handle = att_get_u16(&pdu[1]);
485 memcpy(value, pdu + min_len, len - min_len);
492 uint8_t *pdu, int len)
494 const uint16_t min_len = sizeof(pdu[0]) + sizeof(handle);
496 if (pdu == NULL)
505 pdu[0] = ATT_OP_WRITE_REQ;
506 att_put_u16(handle, &pdu[1]);
509 memcpy(&pdu[3], value, vlen);
516 uint16_t dec_write_req(const uint8_t *pdu, int len, uint16_t *handle,
519 const uint16_t min_len = sizeof(pdu[0]) + sizeof(*handle);
521 if (pdu == NULL)
530 if (pdu[0] != ATT_OP_WRITE_REQ)
533 *handle = att_get_u16(&pdu[1]);
536 memcpy(value, pdu + min_len, *vlen);
541 uint16_t enc_write_resp(uint8_t *pdu, int len)
543 if (pdu == NULL)
546 pdu[0] = ATT_OP_WRITE_RESP;
548 return sizeof(pdu[0]);
551 uint16_t dec_write_resp(const uint8_t *pdu, int len)
553 if (pdu == NULL)
556 if (pdu[0] != ATT_OP_WRITE_RESP)
562 uint16_t enc_read_req(uint16_t handle, uint8_t *pdu, int len)
564 const uint16_t min_len = sizeof(pdu[0]) + sizeof(handle);
566 if (pdu == NULL)
572 pdu[0] = ATT_OP_READ_REQ;
573 att_put_u16(handle, &pdu[1]);
578 uint16_t enc_read_blob_req(uint16_t handle, uint16_t offset, uint8_t *pdu,
581 const uint16_t min_len = sizeof(pdu[0]) + sizeof(handle) +
584 if (pdu == NULL)
590 pdu[0] = ATT_OP_READ_BLOB_REQ;
591 att_put_u16(handle, &pdu[1]);
592 att_put_u16(offset, &pdu[3]);
597 uint16_t dec_read_req(const uint8_t *pdu, int len, uint16_t *handle)
599 const uint16_t min_len = sizeof(pdu[0]) + sizeof(*handle);
601 if (pdu == NULL)
610 if (pdu[0] != ATT_OP_READ_REQ)
613 *handle = att_get_u16(&pdu[1]);
618 uint16_t dec_read_blob_req(const uint8_t *pdu, int len, uint16_t *handle,
621 const uint16_t min_len = sizeof(pdu[0]) + sizeof(*handle) +
624 if (pdu == NULL)
636 if (pdu[0] != ATT_OP_READ_BLOB_REQ)
639 *handle = att_get_u16(&pdu[1]);
640 *offset = att_get_u16(&pdu[3]);
645 uint16_t enc_read_resp(uint8_t *value, int vlen, uint8_t *pdu, int len)
647 if (pdu == NULL)
656 pdu[0] = ATT_OP_READ_RESP;
658 memcpy(pdu + 1, value, vlen);
664 uint8_t *pdu, int len)
666 if (pdu == NULL)
673 pdu[0] = ATT_OP_READ_BLOB_RESP;
675 memcpy(pdu + 1, &value[offset], vlen);
680 uint16_t dec_read_resp(const uint8_t *pdu, int len, uint8_t *value, int *vlen)
682 if (pdu == NULL)
688 if (pdu[0] != ATT_OP_READ_RESP)
691 memcpy(value, pdu + 1, len - 1);
699 uint8_t *pdu, int len)
701 const uint16_t min_len = sizeof(pdu[0]) + sizeof(opcode) +
709 pdu[0] = ATT_OP_ERROR;
710 pdu[1] = opcode;
711 memcpy(&pdu[2], &u16, sizeof(u16));
712 pdu[4] = status;
717 uint16_t enc_find_info_req(uint16_t start, uint16_t end, uint8_t *pdu, int len)
719 const uint16_t min_len = sizeof(pdu[0]) + sizeof(start) + sizeof(end);
721 if (pdu == NULL)
727 pdu[0] = ATT_OP_FIND_INFO_REQ;
728 att_put_u16(start, &pdu[1]);
729 att_put_u16(end, &pdu[3]);
734 uint16_t dec_find_info_req(const uint8_t *pdu, int len, uint16_t *start,
737 const uint16_t min_len = sizeof(pdu[0]) + sizeof(*start) + sizeof(*end);
739 if (pdu == NULL)
748 if (pdu[0] != ATT_OP_FIND_INFO_REQ)
751 *start = att_get_u16(&pdu[1]);
752 *end = att_get_u16(&pdu[3]);
758 uint8_t *pdu, int len)
763 if (pdu == NULL)
772 pdu[0] = ATT_OP_FIND_INFO_RESP;
773 pdu[1] = format;
774 ptr = (void *) &pdu[2];
785 struct att_data_list *dec_find_info_resp(const uint8_t *pdu, int len,
793 if (pdu == NULL)
799 if (pdu[0] != ATT_OP_FIND_INFO_RESP)
802 *format = pdu[1];
803 elen = sizeof(pdu[0]) + sizeof(*format);
811 ptr = (void *) &pdu[2];
823 uint16_t enc_notification(struct attribute *a, uint8_t *pdu, int len)
825 const uint16_t min_len = sizeof(pdu[0]) + sizeof(uint16_t);
827 if (pdu == NULL)
833 pdu[0] = ATT_OP_HANDLE_NOTIFY;
834 att_put_u16(a->handle, &pdu[1]);
835 memcpy(&pdu[3], a->data, a->len);
840 uint16_t enc_indication(struct attribute *a, uint8_t *pdu, int len)
842 const uint16_t min_len = sizeof(pdu[0]) + sizeof(uint16_t);
844 if (pdu == NULL)
850 pdu[0] = ATT_OP_HANDLE_IND;
851 att_put_u16(a->handle, &pdu[1]);
852 memcpy(&pdu[3], a->data, a->len);
857 struct attribute *dec_indication(const uint8_t *pdu, int len)
859 const uint16_t min_len = sizeof(pdu[0]) + sizeof(uint16_t);
863 if (pdu == NULL)
866 if (pdu[0] != ATT_OP_HANDLE_IND)
875 a->handle = att_get_u16(&pdu[1]);
876 memcpy(a->data, &pdu[3], a->len);
881 uint16_t enc_confirmation(uint8_t *pdu, int len)
883 const uint16_t min_len = sizeof(pdu[0]);
885 if (pdu == NULL)
891 pdu[0] = ATT_OP_HANDLE_CNF;
896 uint16_t enc_mtu_req(uint16_t mtu, uint8_t *pdu, int len)
898 const uint16_t min_len = sizeof(pdu[0]) + sizeof(mtu);
900 if (pdu == NULL)
906 pdu[0] = ATT_OP_MTU_REQ;
907 att_put_u16(mtu, &pdu[1]);
912 uint16_t dec_mtu_req(const uint8_t *pdu, int len, uint16_t *mtu)
914 const uint16_t min_len = sizeof(pdu[0]) + sizeof(*mtu);
916 if (pdu == NULL)
925 if (pdu[0] != ATT_OP_MTU_REQ)
928 *mtu = att_get_u16(&pdu[1]);
933 uint16_t enc_mtu_resp(uint16_t mtu, uint8_t *pdu, int len)
935 const uint16_t min_len = sizeof(pdu[0]) + sizeof(mtu);
937 if (pdu == NULL)
943 pdu[0] = ATT_OP_MTU_RESP;
944 att_put_u16(mtu, &pdu[1]);
949 uint16_t dec_mtu_resp(const uint8_t *pdu, int len, uint16_t *mtu)
951 const uint16_t min_len = sizeof(pdu[0]) + sizeof(*mtu);
953 if (pdu == NULL)
962 if (pdu[0] != ATT_OP_MTU_RESP)
965 *mtu = att_get_u16(&pdu[1]);