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