Lines Matching refs:record
82 static int sdp_uuid_match(struct sdp_service_record_s *record,
97 lo = record->uuid;
98 hi = record->uuids;
208 static int sdp_attr_match(struct sdp_service_record_s *record,
235 for (i = 0; i < record->attributes; i ++)
236 if (record->attribute_list[i].attribute_id >= start &&
237 record->attribute_list[i].attribute_id <= end)
238 record->attribute_list[i].match = 1;
249 struct sdp_service_record_s *record;
261 record = &sdp->service_list[handle];
263 for (i = 0; i < record->attributes; i ++)
264 record->attribute_list[i].match = 0;
279 if (sdp_attr_match(record, &req, &seqlen))
281 } else if (sdp_attr_match(record, &req, &seqlen))
303 for (i = 0; i < record->attributes; i ++)
304 if (record->attribute_list[i].match) {
305 if (len >= 0 && len + record->attribute_list[i].len < max) {
306 memcpy(lst + len, record->attribute_list[i].pair,
307 record->attribute_list[i].len);
308 end = len + record->attribute_list[i].len;
310 len += record->attribute_list[i].len;
336 struct sdp_service_record_s *record;
361 if ((record = &sdp->service_list[i])->match)
362 for (j = 0; j < record->attributes; j ++)
363 if (record->attribute_list[j].attribute_id >= start &&
364 record->attribute_list[j].attribute_id <= end)
365 record->attribute_list[j].match = 1;
375 struct sdp_service_record_s *record;
443 if ((record = &sdp->service_list[i])->match) {
446 for (j = 0; j < record->attributes; j ++)
447 if (record->attribute_list[j].match) {
449 if (len + record->attribute_list[j].len < max) {
450 memcpy(lst + len, record->attribute_list[j].pair,
451 record->attribute_list[j].len);
452 end = len + record->attribute_list[j].len;
454 len += record->attribute_list[j].len;
697 static void sdp_service_record_build(struct sdp_service_record_s *record,
704 record->uuids = 0;
705 while (def->attributes[record->attributes].data.type) {
707 len += sdp_attr_max_size(&def->attributes[record->attributes ++].data,
708 &record->uuids);
710 record->uuids = 1 << ffs(record->uuids - 1);
711 record->attribute_list =
712 qemu_mallocz(record->attributes * sizeof(*record->attribute_list));
713 record->uuid =
714 qemu_mallocz(record->uuids * sizeof(*record->uuid));
717 record->attributes = 0;
718 uuid = record->uuid;
719 while (def->attributes[record->attributes].data.type) {
720 record->attribute_list[record->attributes].pair = data;
724 data[len ++] = def->attributes[record->attributes].id >> 8;
725 data[len ++] = def->attributes[record->attributes].id & 0xff;
727 &def->attributes[record->attributes].data, &uuid);
730 if (def->attributes[record->attributes].id == SDP_ATTR_RECORD_HANDLE)
731 def->attributes[record->attributes].data.value.uint = handle;
735 record->attribute_list[record->attributes ++].len = len;
740 qsort(record->attribute_list, record->attributes,
741 sizeof(*record->attribute_list),
744 qsort(record->uuid, record->uuids,
745 sizeof(*record->uuid),