Lines Matching full:len
36 int len;
46 size_t len = *(*element) ++ & SDP_DSIZE_MASK;
52 if (len < SDP_DSIZE_NEXT1)
53 return 1 << len;
54 else if (len == SDP_DSIZE_NEXT1) {
60 } else if (len == SDP_DSIZE_NEXT2) {
65 len = (*(*element) ++) << 8;
66 return len | (*(*element) ++);
72 len = (*(*element) ++) << 24;
73 len |= (*(*element) ++) << 16;
74 len |= (*(*element) ++) << 8;
75 return len | (*(*element) ++);
114 const uint8_t **req, ssize_t *len)
122 datalen = sdp_datalen(req, len);
131 (*len) -= datalen;
137 uint8_t *rsp, const uint8_t *req, ssize_t len)
147 if (len < 1)
150 seqlen = sdp_datalen(&req, &len);
151 if (seqlen < 3 || len < seqlen)
153 len -= seqlen;
161 if (len < 3)
165 len -= 2;
168 if (len <= sizeof(int))
170 len -= sizeof(int);
175 if (len > 1);
179 len = 4;
184 if (count >= start && count < max && len + 4 < MAX_RSP_PARAM_SIZE) {
186 memcpy(rsp + len, &handle, 4);
187 len += 4;
200 rsp[len ++] = sizeof(int);
201 memcpy(rsp + len, &end, sizeof(int));
202 len += 4;
204 rsp[len ++] = 0;
206 return len;
210 const uint8_t **req, ssize_t *len)
216 if (*len < 3)
222 *len -= 3;
225 if (*len < 5)
232 *len -= 5;
245 uint8_t *rsp, const uint8_t *req, ssize_t len)
254 if (len < 7)
258 len -= 4;
269 len -= 2;
274 seqlen = sdp_datalen(&req, &len);
275 if (seqlen < 3 || len < seqlen)
277 len -= seqlen;
285 if (len < 1)
289 if (len <= sizeof(int))
291 len -= sizeof(int);
296 if (len > 1)
302 len = 3 - start;
306 if (len >= 0 && len + record->attribute_list[i].len < max) {
307 memcpy(lst + len, record->attribute_list[i].pair,
308 record->attribute_list[i].len);
309 end = len + record->attribute_list[i].len;
311 len += record->attribute_list[i].len;
315 lst[1] = (len + start - 3) >> 8;
316 lst[2] = (len + start - 3) & 0xff;
322 if (end < len) {
323 len = end + start;
325 memcpy(lst + end, &len, sizeof(int));
334 const uint8_t **req, ssize_t *len)
341 if (*len < 3)
347 *len -= 3;
350 if (*len < 5)
357 *len -= 5;
372 uint8_t *rsp, const uint8_t *req, ssize_t len)
386 if (len < 1)
389 seqlen = sdp_datalen(&req, &len);
390 if (seqlen < 3 || len < seqlen)
392 len -= seqlen;
400 if (len < 3)
404 len -= 2;
409 seqlen = sdp_datalen(&req, &len);
410 if (seqlen < 3 || len < seqlen)
412 len -= seqlen;
420 if (len < 1)
424 if (len <= sizeof(int))
426 len -= sizeof(int);
431 if (len > 1)
441 len = 3 - start;
445 len += 3;
446 seqlen = len;
449 if (len >= 0)
450 if (len + record->attribute_list[j].len < max) {
451 memcpy(lst + len, record->attribute_list[j].pair,
452 record->attribute_list[j].len);
453 end = len + record->attribute_list[j].len;
455 len += record->attribute_list[j].len;
457 if (seqlen == len)
458 len -= 3;
461 lst[seqlen - 2] = (len - seqlen) >> 8;
462 lst[seqlen - 1] = (len - seqlen) & 0xff;
465 if (len == 3 - start)
466 len -= 3;
469 lst[1] = (len + start - 3) >> 8;
470 lst[2] = (len + start - 3) & 0xff;
476 if (end < len) {
477 len = end + start;
479 memcpy(lst + end, &len, sizeof(int));
487 static void bt_l2cap_sdp_sdu_in(void *opaque, const uint8_t *data, int len)
496 if (len < 5) {
497 fprintf(stderr, "%s: short SDP PDU (%iB).\n", __FUNCTION__, len);
505 len -= 5;
507 if (len != plen) {
509 __FUNCTION__, plen, len);
516 rsp_len = sdp_svc_search(sdp, rsp, data, len);
521 rsp_len = sdp_attr_get(sdp, rsp, data, len);
526 rsp_len = sdp_svc_search_attr_get(sdp, rsp, data, len);
600 int len;
611 for (len = 0; element->value.str[len] |
612 element->value.str[len + 1]; len ++);
613 return len;
620 len = 2;
623 len += sdp_attr_max_size(element ++, uuids);
624 if (len > 255)
627 return len;
634 int len = 0;
637 data[len ++] = element->type;
639 data[len ++] = (element->value.uint >> 0) & 0xff;
641 data[len ++] = (element->value.uint >> 8) & 0xff;
642 data[len ++] = (element->value.uint >> 0) & 0xff;
644 data[len ++] = (element->value.uint >> 24) & 0xff;
645 data[len ++] = (element->value.uint >> 16) & 0xff;
646 data[len ++] = (element->value.uint >> 8) & 0xff;
647 data[len ++] = (element->value.uint >> 0) & 0xff;
650 return len;
656 data[len ++] = element->type;
657 data[len ++] = (element->value.uint >> 24) & 0xff;
658 data[len ++] = (element->value.uint >> 16) & 0xff;
659 data[len ++] = (element->value.uint >> 8) & 0xff;
660 data[len ++] = (element->value.uint >> 0) & 0xff;
661 memcpy(data + len, bt_base_uuid, 12);
663 return len + 12;
669 for (len = 0; element->value.str[len] |
670 element->value.str[len + 1]; len ++);
672 len = strlen(element->value.str);
673 memcpy(data + 2, element->value.str, data[1] = len);
675 return len + 2;
678 len = 2;
681 len += sdp_attr_write(data + len, element ++, uuid);
682 data[1] = len - 2;
684 return len;
701 int len = 0;
707 len += 3;
708 len += sdp_attr_max_size(&def->attributes[record->attributes ++].data,
716 data = qemu_malloc(len);
723 len = 0;
724 data[len ++] = SDP_DTYPE_UINT | SDP_DSIZE_2;
725 data[len ++] = def->attributes[record->attributes].id >> 8;
726 data[len ++] = def->attributes[record->attributes].id & 0xff;
727 len += sdp_attr_write(data + len,
736 record->attribute_list[record->attributes ++].len = len;
737 data += len;