Lines Matching refs:buf
57 dun_profile(sdp_data_t *buf, void *arg, ssize_t len)
60 uint8_t *first = buf->next;
67 sdp_put_uint16(buf, SDP_ATTR_SERVICE_RECORD_HANDLE);
68 sdp_put_uint32(buf, 0x00000000);
70 sdp_put_uint16(buf, SDP_ATTR_SERVICE_CLASS_ID_LIST);
71 sdp_put_seq(buf, 3);
72 sdp_put_uuid16(buf, SDP_SERVICE_CLASS_DIALUP_NETWORKING);
74 sdp_put_uint16(buf, SDP_ATTR_PROTOCOL_DESCRIPTOR_LIST);
75 sdp_put_seq(buf, 12);
76 sdp_put_seq(buf, 3);
77 sdp_put_uuid16(buf, SDP_UUID_PROTOCOL_L2CAP);
78 sdp_put_seq(buf, 5);
79 sdp_put_uuid16(buf, SDP_UUID_PROTOCOL_RFCOMM);
80 sdp_put_uint8(buf, data->server_channel);
82 sdp_put_uint16(buf, SDP_ATTR_BROWSE_GROUP_LIST);
83 sdp_put_seq(buf, 3);
84 sdp_put_uuid16(buf, SDP_SERVICE_CLASS_PUBLIC_BROWSE_GROUP);
86 sdp_put_uint16(buf, SDP_ATTR_LANGUAGE_BASE_ATTRIBUTE_ID_LIST);
87 sdp_put_seq(buf, 9);
88 sdp_put_uint16(buf, 0x656e); /* "en" */
89 sdp_put_uint16(buf, 106); /* UTF-8 */
90 sdp_put_uint16(buf, SDP_ATTR_PRIMARY_LANGUAGE_BASE_ID);
92 sdp_put_uint16(buf, SDP_ATTR_BLUETOOTH_PROFILE_DESCRIPTOR_LIST);
93 sdp_put_seq(buf, 8);
94 sdp_put_seq(buf, 6);
95 sdp_put_uuid16(buf, SDP_SERVICE_CLASS_DIALUP_NETWORKING);
96 sdp_put_uint16(buf, 0x0100); /* v1.0 */
98 sdp_put_uint16(buf, SDP_ATTR_PRIMARY_LANGUAGE_BASE_ID + SDP_ATTR_SERVICE_NAME_OFFSET);
99 sdp_put_str(buf, "Dialup Networking", -1);
101 sdp_put_uint16(buf, SDP_ATTR_AUDIO_FEEDBACK_SUPPORT);
102 sdp_put_bool(buf, data->audio_feedback_support);
104 buf->end = buf->next;
105 buf->next = first;
110 ftrn_profile(sdp_data_t *buf, void *arg, ssize_t len)
113 uint8_t *first = buf->next;
120 sdp_put_uint16(buf, SDP_ATTR_SERVICE_RECORD_HANDLE);
121 sdp_put_uint32(buf, 0x00000000);
123 sdp_put_uint16(buf, SDP_ATTR_SERVICE_CLASS_ID_LIST);
124 sdp_put_seq(buf, 3);
125 sdp_put_uuid16(buf, SDP_SERVICE_CLASS_OBEX_FILE_TRANSFER);
127 sdp_put_uint16(buf, SDP_ATTR_PROTOCOL_DESCRIPTOR_LIST);
128 sdp_put_seq(buf, 17);
129 sdp_put_seq(buf, 3);
130 sdp_put_uuid16(buf, SDP_UUID_PROTOCOL_L2CAP);
131 sdp_put_seq(buf, 5);
132 sdp_put_uuid16(buf, SDP_UUID_PROTOCOL_RFCOMM);
133 sdp_put_uint8(buf, data->server_channel);
134 sdp_put_seq(buf, 3);
135 sdp_put_uuid16(buf, SDP_UUID_PROTOCOL_OBEX);
137 sdp_put_uint16(buf, SDP_ATTR_BROWSE_GROUP_LIST);
138 sdp_put_seq(buf, 3);
139 sdp_put_uuid16(buf, SDP_SERVICE_CLASS_PUBLIC_BROWSE_GROUP);
141 sdp_put_uint16(buf, SDP_ATTR_LANGUAGE_BASE_ATTRIBUTE_ID_LIST);
142 sdp_put_seq(buf, 9);
143 sdp_put_uint16(buf, 0x656e); /* "en" */
144 sdp_put_uint16(buf, 106); /* UTF-8 */
145 sdp_put_uint16(buf, SDP_ATTR_PRIMARY_LANGUAGE_BASE_ID);
147 sdp_put_uint16(buf, SDP_ATTR_BLUETOOTH_PROFILE_DESCRIPTOR_LIST);
148 sdp_put_seq(buf, 8);
149 sdp_put_seq(buf, 6);
150 sdp_put_uuid16(buf, SDP_SERVICE_CLASS_OBEX_FILE_TRANSFER);
151 sdp_put_uint16(buf, 0x0100); /* v1.0 */
153 sdp_put_uint16(buf, SDP_ATTR_PRIMARY_LANGUAGE_BASE_ID + SDP_ATTR_SERVICE_NAME_OFFSET);
154 sdp_put_str(buf, "OBEX File Transfer", -1);
156 buf->end = buf->next;
157 buf->next = first;
162 hset_profile(sdp_data_t *buf, void *arg, ssize_t len)
165 uint8_t *first = buf->next;
172 sdp_put_uint16(buf, SDP_ATTR_SERVICE_RECORD_HANDLE);
173 sdp_put_uint32(buf, 0x00000000);
175 sdp_put_uint16(buf, SDP_ATTR_SERVICE_CLASS_ID_LIST);
176 sdp_put_seq(buf, 6);
177 sdp_put_uuid16(buf, SDP_SERVICE_CLASS_HEADSET_AUDIO_GATEWAY);
178 sdp_put_uuid16(buf, SDP_SERVICE_CLASS_GENERIC_AUDIO);
180 sdp_put_uint16(buf, SDP_ATTR_PROTOCOL_DESCRIPTOR_LIST);
181 sdp_put_seq(buf, 12);
182 sdp_put_seq(buf, 3);
183 sdp_put_uuid16(buf, SDP_UUID_PROTOCOL_L2CAP);
184 sdp_put_seq(buf, 5);
185 sdp_put_uuid16(buf, SDP_UUID_PROTOCOL_RFCOMM);
186 sdp_put_uint8(buf, data->server_channel);
188 sdp_put_uint16(buf, SDP_ATTR_BROWSE_GROUP_LIST);
189 sdp_put_seq(buf, 3);
190 sdp_put_uuid16(buf, SDP_SERVICE_CLASS_PUBLIC_BROWSE_GROUP);
192 sdp_put_uint16(buf, SDP_ATTR_LANGUAGE_BASE_ATTRIBUTE_ID_LIST);
193 sdp_put_seq(buf, 9);
194 sdp_put_uint16(buf, 0x656e); /* "en" */
195 sdp_put_uint16(buf, 106); /* UTF-8 */
196 sdp_put_uint16(buf, SDP_ATTR_PRIMARY_LANGUAGE_BASE_ID);
198 sdp_put_uint16(buf, SDP_ATTR_BLUETOOTH_PROFILE_DESCRIPTOR_LIST);
199 sdp_put_seq(buf, 8);
200 sdp_put_seq(buf, 6);
201 sdp_put_uuid16(buf, SDP_SERVICE_CLASS_HEADSET);
202 sdp_put_uint16(buf, 0x0100); /* v1.0 */
204 sdp_put_uint16(buf, SDP_ATTR_PRIMARY_LANGUAGE_BASE_ID + SDP_ATTR_SERVICE_NAME_OFFSET);
205 sdp_put_str(buf, "Voice Gateway", -1);
207 buf->end = buf->next;
208 buf->next = first;
213 hf_profile(sdp_data_t *buf, void *arg, ssize_t len)
216 uint8_t *first = buf->next;
224 sdp_put_uint16(buf, SDP_ATTR_SERVICE_RECORD_HANDLE);
225 sdp_put_uint32(buf, 0x00000000);
227 sdp_put_uint16(buf, SDP_ATTR_SERVICE_CLASS_ID_LIST);
228 sdp_put_seq(buf, 6);
229 sdp_put_uuid16(buf, SDP_SERVICE_CLASS_HANDSFREE);
230 sdp_put_uuid16(buf, SDP_SERVICE_CLASS_GENERIC_AUDIO);
232 sdp_put_uint16(buf, SDP_ATTR_PROTOCOL_DESCRIPTOR_LIST);
233 sdp_put_seq(buf, 12);
234 sdp_put_seq(buf, 3);
235 sdp_put_uuid16(buf, SDP_UUID_PROTOCOL_L2CAP);
236 sdp_put_seq(buf, 5);
237 sdp_put_uuid16(buf, SDP_UUID_PROTOCOL_RFCOMM);
238 sdp_put_uint8(buf, data->server_channel);
240 sdp_put_uint16(buf, SDP_ATTR_BROWSE_GROUP_LIST);
241 sdp_put_seq(buf, 3);
242 sdp_put_uuid16(buf, SDP_SERVICE_CLASS_PUBLIC_BROWSE_GROUP);
244 sdp_put_uint16(buf, SDP_ATTR_LANGUAGE_BASE_ATTRIBUTE_ID_LIST);
245 sdp_put_seq(buf, 9);
246 sdp_put_uint16(buf, 0x656e); /* "en" */
247 sdp_put_uint16(buf, 106); /* UTF-8 */
248 sdp_put_uint16(buf, SDP_ATTR_PRIMARY_LANGUAGE_BASE_ID);
250 sdp_put_uint16(buf, SDP_ATTR_BLUETOOTH_PROFILE_DESCRIPTOR_LIST);
251 sdp_put_seq(buf, 8);
252 sdp_put_seq(buf, 6);
253 sdp_put_uuid16(buf, SDP_SERVICE_CLASS_HANDSFREE);
254 sdp_put_uint16(buf, 0x0100); /* v1.0 */
256 sdp_put_uint16(buf, SDP_ATTR_PRIMARY_LANGUAGE_BASE_ID + SDP_ATTR_SERVICE_NAME_OFFSET);
257 sdp_put_str(buf, "Hands-Free unit", -1);
259 sdp_put_uint16(buf, SDP_ATTR_SUPPORTED_FEATURES);
260 sdp_put_uint16(buf, data->supported_features);
262 buf->end = buf->next;
263 buf->next = first;
268 irmc_profile(sdp_data_t *buf, void *arg, ssize_t len)
271 uint8_t *first = buf->next;
281 sdp_put_uint16(buf, SDP_ATTR_SERVICE_RECORD_HANDLE);
282 sdp_put_uint32(buf, 0x00000000);
284 sdp_put_uint16(buf, SDP_ATTR_SERVICE_CLASS_ID_LIST);
285 sdp_put_seq(buf, 3);
286 sdp_put_uuid16(buf, SDP_SERVICE_CLASS_IR_MC_SYNC);
288 sdp_put_uint16(buf, SDP_ATTR_PROTOCOL_DESCRIPTOR_LIST);
289 sdp_put_seq(buf, 17);
290 sdp_put_seq(buf, 3);
291 sdp_put_uuid16(buf, SDP_UUID_PROTOCOL_L2CAP);
292 sdp_put_seq(buf, 5);
293 sdp_put_uuid16(buf, SDP_UUID_PROTOCOL_RFCOMM);
294 sdp_put_uint8(buf, data->server_channel);
295 sdp_put_seq(buf, 3);
296 sdp_put_uuid16(buf, SDP_UUID_PROTOCOL_OBEX);
298 sdp_put_uint16(buf, SDP_ATTR_BROWSE_GROUP_LIST);
299 sdp_put_seq(buf, 3);
300 sdp_put_uuid16(buf, SDP_SERVICE_CLASS_PUBLIC_BROWSE_GROUP);
302 sdp_put_uint16(buf, SDP_ATTR_LANGUAGE_BASE_ATTRIBUTE_ID_LIST);
303 sdp_put_seq(buf, 9);
304 sdp_put_uint16(buf, 0x656e); /* "en" */
305 sdp_put_uint16(buf, 106); /* UTF-8 */
306 sdp_put_uint16(buf, SDP_ATTR_PRIMARY_LANGUAGE_BASE_ID);
308 sdp_put_uint16(buf, SDP_ATTR_BLUETOOTH_PROFILE_DESCRIPTOR_LIST);
309 sdp_put_seq(buf, 8);
310 sdp_put_seq(buf, 6);
311 sdp_put_uuid16(buf, SDP_SERVICE_CLASS_IR_MC_SYNC);
312 sdp_put_uint16(buf, 0x0100); /* v1.0 */
314 sdp_put_uint16(buf, SDP_ATTR_PRIMARY_LANGUAGE_BASE_ID + SDP_ATTR_SERVICE_NAME_OFFSET);
315 sdp_put_str(buf, "IrMC Syncrhonization", -1);
317 sdp_put_uint16(buf, SDP_ATTR_SUPPORTED_DATA_STORES_LIST);
318 sdp_put_seq(buf, data->supported_formats_size * 2);
320 sdp_put_uint8(buf, data->supported_formats[i]);
322 buf->end = buf->next;
323 buf->next = first;
328 irmc_cmd_profile(sdp_data_t *buf, void *arg, ssize_t len)
331 uint8_t *first = buf->next;
338 sdp_put_uint16(buf, SDP_ATTR_SERVICE_RECORD_HANDLE);
339 sdp_put_uint32(buf, 0x00000000);
341 sdp_put_uint16(buf, SDP_ATTR_SERVICE_CLASS_ID_LIST);
342 sdp_put_seq(buf, 3);
343 sdp_put_uuid16(buf, SDP_SERVICE_CLASS_IR_MC_SYNC_COMMAND);
345 sdp_put_uint16(buf, SDP_ATTR_PROTOCOL_DESCRIPTOR_LIST);
346 sdp_put_seq(buf, 17);
347 sdp_put_seq(buf, 3);
348 sdp_put_uuid16(buf, SDP_UUID_PROTOCOL_L2CAP);
349 sdp_put_seq(buf, 5);
350 sdp_put_uuid16(buf, SDP_UUID_PROTOCOL_RFCOMM);
351 sdp_put_uint8(buf, data->server_channel);
352 sdp_put_seq(buf, 3);
353 sdp_put_uuid16(buf, SDP_UUID_PROTOCOL_OBEX);
355 sdp_put_uint16(buf, SDP_ATTR_BROWSE_GROUP_LIST);
356 sdp_put_seq(buf, 3);
357 sdp_put_uuid16(buf, SDP_SERVICE_CLASS_PUBLIC_BROWSE_GROUP);
359 sdp_put_uint16(buf, SDP_ATTR_LANGUAGE_BASE_ATTRIBUTE_ID_LIST);
360 sdp_put_seq(buf, 9);
361 sdp_put_uint16(buf, 0x656e); /* "en" */
362 sdp_put_uint16(buf, 106); /* UTF-8 */
363 sdp_put_uint16(buf, SDP_ATTR_PRIMARY_LANGUAGE_BASE_ID);
365 sdp_put_uint16(buf, SDP_ATTR_BLUETOOTH_PROFILE_DESCRIPTOR_LIST);
366 sdp_put_seq(buf, 8);
367 sdp_put_seq(buf, 6);
368 sdp_put_uuid16(buf, SDP_SERVICE_CLASS_IR_MC_SYNC_COMMAND);
369 sdp_put_uint16(buf, 0x0100); /* v1.0 */
371 sdp_put_uint16(buf, SDP_ATTR_PRIMARY_LANGUAGE_BASE_ID + SDP_ATTR_SERVICE_NAME_OFFSET);
372 sdp_put_str(buf, "Sync Command Service", -1);
374 buf->end = buf->next;
375 buf->next = first;
380 lan_profile(sdp_data_t *buf, void *arg, ssize_t len)
383 uint8_t *first = buf->next;
393 sdp_put_uint16(buf, SDP_ATTR_SERVICE_RECORD_HANDLE);
394 sdp_put_uint32(buf, 0x00000000);
396 sdp_put_uint16(buf, SDP_ATTR_SERVICE_CLASS_ID_LIST);
397 sdp_put_seq(buf, 3);
398 sdp_put_uuid16(buf, SDP_SERVICE_CLASS_LAN_ACCESS_USING_PPP);
400 sdp_put_uint16(buf, SDP_ATTR_PROTOCOL_DESCRIPTOR_LIST);
401 sdp_put_seq(buf, 12);
402 sdp_put_seq(buf, 3);
403 sdp_put_uuid16(buf, SDP_UUID_PROTOCOL_L2CAP);
404 sdp_put_seq(buf, 5);
405 sdp_put_uuid16(buf, SDP_UUID_PROTOCOL_RFCOMM);
406 sdp_put_uint8(buf, data->server_channel);
408 sdp_put_uint16(buf, SDP_ATTR_BROWSE_GROUP_LIST);
409 sdp_put_seq(buf, 3);
410 sdp_put_uuid16(buf, SDP_SERVICE_CLASS_PUBLIC_BROWSE_GROUP);
412 sdp_put_uint16(buf, SDP_ATTR_LANGUAGE_BASE_ATTRIBUTE_ID_LIST);
413 sdp_put_seq(buf, 9);
414 sdp_put_uint16(buf, 0x656e); /* "en" */
415 sdp_put_uint16(buf, 106); /* UTF-8 */
416 sdp_put_uint16(buf, SDP_ATTR_PRIMARY_LANGUAGE_BASE_ID);
418 sdp_put_uint16(buf, SDP_ATTR_SERVICE_AVAILABILITY);
419 sdp_put_uint8(buf, data->load_factor);
421 sdp_put_uint16(buf, SDP_ATTR_BLUETOOTH_PROFILE_DESCRIPTOR_LIST);
422 sdp_put_seq(buf, 8);
423 sdp_put_seq(buf, 6);
424 sdp_put_uuid16(buf, SDP_SERVICE_CLASS_LAN_ACCESS_USING_PPP);
425 sdp_put_uint16(buf, 0x0100); /* v1.0 */
427 sdp_put_uint16(buf, SDP_ATTR_PRIMARY_LANGUAGE_BASE_ID + SDP_ATTR_SERVICE_NAME_OFFSET);
428 sdp_put_str(buf, "LAN Access using PPP", -1);
432 sdp_put_uint16(buf, SDP_ATTR_IP_SUBNET);
433 sdp_put_str(buf, str, -1);
435 buf->end = buf->next;
436 buf->next = first;
441 opush_profile(sdp_data_t *buf, void *arg, ssize_t len)
444 uint8_t *first = buf->next;
454 sdp_put_uint16(buf, SDP_ATTR_SERVICE_RECORD_HANDLE);
455 sdp_put_uint32(buf, 0x00000000);
457 sdp_put_uint16(buf, SDP_ATTR_SERVICE_CLASS_ID_LIST);
458 sdp_put_seq(buf, 3);
459 sdp_put_uuid16(buf, SDP_SERVICE_CLASS_OBEX_OBJECT_PUSH);
461 sdp_put_uint16(buf, SDP_ATTR_PROTOCOL_DESCRIPTOR_LIST);
462 sdp_put_seq(buf, 17);
463 sdp_put_seq(buf, 3);
464 sdp_put_uuid16(buf, SDP_UUID_PROTOCOL_L2CAP);
465 sdp_put_seq(buf, 5);
466 sdp_put_uuid16(buf, SDP_UUID_PROTOCOL_RFCOMM);
467 sdp_put_uint8(buf, data->server_channel);
468 sdp_put_seq(buf, 3);
469 sdp_put_uuid16(buf, SDP_UUID_PROTOCOL_OBEX);
471 sdp_put_uint16(buf, SDP_ATTR_BROWSE_GROUP_LIST);
472 sdp_put_seq(buf, 3);
473 sdp_put_uuid16(buf, SDP_SERVICE_CLASS_PUBLIC_BROWSE_GROUP);
475 sdp_put_uint16(buf, SDP_ATTR_LANGUAGE_BASE_ATTRIBUTE_ID_LIST);
476 sdp_put_seq(buf, 9);
477 sdp_put_uint16(buf, 0x656e); /* "en" */
478 sdp_put_uint16(buf, 106); /* UTF-8 */
479 sdp_put_uint16(buf, SDP_ATTR_PRIMARY_LANGUAGE_BASE_ID);
481 sdp_put_uint16(buf, SDP_ATTR_BLUETOOTH_PROFILE_DESCRIPTOR_LIST);
482 sdp_put_seq(buf, 8);
483 sdp_put_seq(buf, 6);
484 sdp_put_uuid16(buf, SDP_SERVICE_CLASS_OBEX_OBJECT_PUSH);
485 sdp_put_uint16(buf, 0x0100); /* v1.0 */
487 sdp_put_uint16(buf, SDP_ATTR_PRIMARY_LANGUAGE_BASE_ID + SDP_ATTR_SERVICE_NAME_OFFSET);
488 sdp_put_str(buf, "OBEX Object Push", -1);
490 sdp_put_uint16(buf, SDP_ATTR_SUPPORTED_FORMATS_LIST);
491 sdp_put_seq(buf, data->supported_formats_size * 2);
493 sdp_put_uint8(buf, data->supported_formats[i]);
495 buf->end = buf->next;
496 buf->next = first;
501 sp_profile(sdp_data_t *buf, void *arg, ssize_t len)
504 uint8_t *first = buf->next;
511 sdp_put_uint16(buf, SDP_ATTR_SERVICE_RECORD_HANDLE);
512 sdp_put_uint32(buf
514 sdp_put_uint16(buf, SDP_ATTR_SERVICE_CLASS_ID_LIST);
515 sdp_put_seq(buf, 3);
516 sdp_put_uuid16(buf, SDP_SERVICE_CLASS_SERIAL_PORT);
518 sdp_put_uint16(buf, SDP_ATTR_PROTOCOL_DESCRIPTOR_LIST);
519 sdp_put_seq(buf, 12);
520 sdp_put_seq(buf, 3);
521 sdp_put_uuid16(buf, SDP_UUID_PROTOCOL_L2CAP);
522 sdp_put_seq(buf, 5);
523 sdp_put_uuid16(buf, SDP_UUID_PROTOCOL_RFCOMM);
524 sdp_put_uint8(buf, data->server_channel);
526 sdp_put_uint16(buf, SDP_ATTR_BROWSE_GROUP_LIST);
527 sdp_put_seq(buf, 3);
528 sdp_put_uuid16(buf, SDP_SERVICE_CLASS_PUBLIC_BROWSE_GROUP);
530 sdp_put_uint16(buf, SDP_ATTR_LANGUAGE_BASE_ATTRIBUTE_ID_LIST);
531 sdp_put_seq(buf, 9);
532 sdp_put_uint16(buf, 0x656e); /* "en" */
533 sdp_put_uint16(buf, 106); /* UTF-8 */
534 sdp_put_uint16(buf, SDP_ATTR_PRIMARY_LANGUAGE_BASE_ID);
536 sdp_put_uint16(buf, SDP_ATTR_BLUETOOTH_PROFILE_DESCRIPTOR_LIST);
537 sdp_put_seq(buf, 8);
538 sdp_put_seq(buf, 6);
539 sdp_put_uuid16(buf, SDP_SERVICE_CLASS_SERIAL_PORT);
540 sdp_put_uint16(buf, 0x0100); /* v1.0 */
542 sdp_put_uint16(buf, SDP_ATTR_PRIMARY_LANGUAGE_BASE_ID + SDP_ATTR_SERVICE_NAME_OFFSET);
543 sdp_put_str(buf, "Serial Port", -1);
545 buf->end = buf->next;
546 buf->next = first;
560 nap_profile(sdp_data_t *buf, void *arg, ssize_t len)
563 uint8_t *first = buf->next;
571 sdp_put_uint16(buf, SDP_ATTR_SERVICE_RECORD_HANDLE);
572 sdp_put_uint32(buf, 0x00000000);
574 sdp_put_uint16(buf, SDP_ATTR_SERVICE_CLASS_ID_LIST);
575 sdp_put_seq(buf, 3);
576 sdp_put_uuid16(buf, SDP_SERVICE_CLASS_NAP);
578 sdp_put_uint16(buf, SDP_ATTR_PROTOCOL_DESCRIPTOR_LIST);
579 sdp_put_seq(buf, 18 + 3 * __arraycount(proto));
580 sdp_put_seq(buf, 6);
581 sdp_put_uuid16(buf, SDP_UUID_PROTOCOL_L2CAP);
582 sdp_put_uint16(buf, data->psm);
583 sdp_put_seq(buf, 8 + 3 * __arraycount(proto));
584 sdp_put_uuid16(buf, SDP_UUID_PROTOCOL_BNEP);
585 sdp_put_uint16(buf, 0x0100); /* v1.0 */
586 sdp_put_seq(buf, 3 * __arraycount(proto));
588 sdp_put_uint16(buf, proto[i]);
590 sdp_put_uint16(buf, SDP_ATTR_BROWSE_GROUP_LIST);
591 sdp_put_seq(buf, 3);
592 sdp_put_uuid16(buf, SDP_SERVICE_CLASS_PUBLIC_BROWSE_GROUP);
594 sdp_put_uint16(buf, SDP_ATTR_LANGUAGE_BASE_ATTRIBUTE_ID_LIST);
595 sdp_put_seq(buf, 9);
596 sdp_put_uint16(buf, 0x656e); /* "en" */
597 sdp_put_uint16(buf, 106); /* UTF-8 */
598 sdp_put_uint16(buf, SDP_ATTR_PRIMARY_LANGUAGE_BASE_ID);
600 sdp_put_uint16(buf, SDP_ATTR_SERVICE_AVAILABILITY);
601 sdp_put_uint8(buf, data->load_factor);
603 sdp_put_uint16(buf, SDP_ATTR_BLUETOOTH_PROFILE_DESCRIPTOR_LIST);
604 sdp_put_seq(buf, 8);
605 sdp_put_seq(buf, 6);
606 sdp_put_uuid16(buf, SDP_SERVICE_CLASS_NAP);
607 sdp_put_uint16(buf, 0x0100); /* v1.0 */
609 sdp_put_uint16(buf, SDP_ATTR_PRIMARY_LANGUAGE_BASE_ID + SDP_ATTR_SERVICE_NAME_OFFSET);
610 sdp_put_str(buf, "Network Access Point", -1);
612 sdp_put_uint16(buf, SDP_ATTR_PRIMARY_LANGUAGE_BASE_ID + SDP_ATTR_SERVICE_DESCRIPTION_OFFSET);
613 sdp_put_str(buf, "Personal Ad-hoc Network Service", -1);
615 sdp_put_uint16(buf, SDP_ATTR_SECURITY_DESCRIPTION);
616 sdp_put_uint16(buf, data->security_description);
618 sdp_put_uint16(buf, SDP_ATTR_NET_ACCESS_TYPE);
619 sdp_put_uint16(buf, data->net_access_type);
621 sdp_put_uint16(buf, SDP_ATTR_MAX_NET_ACCESS_RATE);
622 sdp_put_uint32(buf, data->max_net_access_rate);
624 buf->end = buf->next;
625 buf->next = first;
630 gn_profile(sdp_data_t *buf, void *arg, ssize_t len)
633 uint8_t *first = buf->next;
641 sdp_put_uint16(buf, SDP_ATTR_SERVICE_RECORD_HANDLE);
642 sdp_put_uint32(buf, 0x00000000);
644 sdp_put_uint16(buf, SDP_ATTR_SERVICE_CLASS_ID_LIST);
645 sdp_put_seq(buf, 3);
646 sdp_put_uuid16(buf, SDP_SERVICE_CLASS_GN);
648 sdp_put_uint16(buf, SDP_ATTR_PROTOCOL_DESCRIPTOR_LIST);
649 sdp_put_seq(buf, 18 + 3 * __arraycount(proto));
650 sdp_put_seq(buf, 6);
651 sdp_put_uuid16(buf, SDP_UUID_PROTOCOL_L2CAP);
652 sdp_put_uint16(buf, data->psm);
653 sdp_put_seq(buf, 8 + 3 * __arraycount(proto));
654 sdp_put_uuid16(buf, SDP_UUID_PROTOCOL_BNEP);
655 sdp_put_uint16(buf, 0x0100); /* v1.0 */
656 sdp_put_seq(buf, 3 * __arraycount(proto));
658 sdp_put_uint16(buf, proto[i]);
660 sdp_put_uint16(buf, SDP_ATTR_BROWSE_GROUP_LIST);
661 sdp_put_seq(buf, 3);
662 sdp_put_uuid16(buf, SDP_SERVICE_CLASS_PUBLIC_BROWSE_GROUP);
664 sdp_put_uint16(buf, SDP_ATTR_LANGUAGE_BASE_ATTRIBUTE_ID_LIST);
665 sdp_put_seq(buf, 9);
666 sdp_put_uint16(buf, 0x656e); /* "en" */
667 sdp_put_uint16(buf, 106); /* UTF-8 */
668 sdp_put_uint16(buf, SDP_ATTR_PRIMARY_LANGUAGE_BASE_ID);
670 sdp_put_uint16(buf, SDP_ATTR_SERVICE_AVAILABILITY);
671 sdp_put_uint8(buf, data->load_factor);
673 sdp_put_uint16(buf, SDP_ATTR_BLUETOOTH_PROFILE_DESCRIPTOR_LIST);
674 sdp_put_seq(buf, 8);
675 sdp_put_seq(buf, 6);
676 sdp_put_uuid16(buf, SDP_SERVICE_CLASS_GN);
677 sdp_put_uint16(buf, 0x0100); /* v1.0 */
679 sdp_put_uint16(buf, SDP_ATTR_PRIMARY_LANGUAGE_BASE_ID + SDP_ATTR_SERVICE_NAME_OFFSET);
680 sdp_put_str(buf, "Group Ad-hoc Network", -1);
682 sdp_put_uint16(buf, SDP_ATTR_PRIMARY_LANGUAGE_BASE_ID + SDP_ATTR_SERVICE_DESCRIPTION_OFFSET);
683 sdp_put_str(buf, "Personal Group Ad-hoc Network Service", -1);
685 sdp_put_uint16(buf, SDP_ATTR_SECURITY_DESCRIPTION);
686 sdp_put_uint16(buf, data->security_description);
688 buf->end = buf->next;
689 buf->next = first;
694 panu_profile(sdp_data_t *buf, void *arg, ssize_t len)
697 uint8_t *first = buf->next;
705 sdp_put_uint16(buf, SDP_ATTR_SERVICE_RECORD_HANDLE);
706 sdp_put_uint32(buf, 0x00000000);
708 sdp_put_uint16(buf, SDP_ATTR_SERVICE_CLASS_ID_LIST);
709 sdp_put_seq(buf, 3);
710 sdp_put_uuid16(buf, SDP_SERVICE_CLASS_PANU);
712 sdp_put_uint16(buf, SDP_ATTR_PROTOCOL_DESCRIPTOR_LIST);
713 sdp_put_seq(buf, 18 + 3 * __arraycount(proto));
714 sdp_put_seq(buf, 6);
715 sdp_put_uuid16(buf, SDP_UUID_PROTOCOL_L2CAP);
716 sdp_put_uint16(buf, data->psm);
717 sdp_put_seq(buf, 8 + 3 * __arraycount(proto));
718 sdp_put_uuid16(buf, SDP_UUID_PROTOCOL_BNEP);
719 sdp_put_uint16(buf, 0x0100); /* v1.0 */
720 sdp_put_seq(buf, 3 * __arraycount(proto));
722 sdp_put_uint16(buf, proto[i]);
724 sdp_put_uint16(buf, SDP_ATTR_BROWSE_GROUP_LIST);
725 sdp_put_seq(buf, 3);
726 sdp_put_uuid16(buf, SDP_SERVICE_CLASS_PUBLIC_BROWSE_GROUP);
728 sdp_put_uint16(buf, SDP_ATTR_LANGUAGE_BASE_ATTRIBUTE_ID_LIST);
729 sdp_put_seq(buf, 9);
730 sdp_put_uint16(buf, 0x656e); /* "en" */
731 sdp_put_uint16(buf, 106); /* UTF-8 */
732 sdp_put_uint16(buf, SDP_ATTR_PRIMARY_LANGUAGE_BASE_ID);
734 sdp_put_uint16(buf, SDP_ATTR_SERVICE_AVAILABILITY);
735 sdp_put_uint8(buf, data->load_factor);
737 sdp_put_uint16(buf, SDP_ATTR_BLUETOOTH_PROFILE_DESCRIPTOR_LIST);
738 sdp_put_seq(buf, 8);
739 sdp_put_seq(buf, 6);
740 sdp_put_uuid16(buf, SDP_SERVICE_CLASS_PANU);
741 sdp_put_uint16(buf, 0x0100); /* v1.0 */
743 sdp_put_uint16(buf, SDP_ATTR_PRIMARY_LANGUAGE_BASE_ID + SDP_ATTR_SERVICE_NAME_OFFSET);
744 sdp_put_str(buf, "Personal Ad-hoc User Service", -1);
746 sdp_put_uint16(buf, SDP_ATTR_PRIMARY_LANGUAGE_BASE_ID + SDP_ATTR_SERVICE_DESCRIPTION_OFFSET);
747 sdp_put_str(buf, "Personal Ad-hoc User Service", -1);
749 sdp_put_uint16(buf, SDP_ATTR_SECURITY_DESCRIPTION);
750 sdp_put_uint16(buf, data->security_description);
752 buf->end = buf->next;
753 buf->next = first;