Iain,
in part of my work in Bluetooth for NetBSD* I just took the SDP implementation from FreeBSD direct to get a leg up and didnt look at it very much at first though I did make some changes, which basically comprised:
[...] sounds good
so what I have is still compatible at source level with FreeBSD. However, in adding the headset support I took a better look and I'm not sure I like the API exactly. I havent especially looked at the competing implementations, took a glance at the BlueZ one but they dont seem strong on documentation (and I didnt see any) and I'm hesitant to change the API as what we really dont need is yet another incompatible implementation. Some things I am uneasy with then: 1. sdp_open[_local]() may return a handle even though there is an error. Really, this is terrible! If there is an error in open, it should just return NULL and set errno accordingly. sdp_error() should not be necessary..
well, its just the personal taste, imo :) personally, i do not like when libraries (ab)use errno. while "errno-style" seems to be de-facto standard in unix world, sometimes, there is a need to have more sophisticated error reporting. in my personal experience, sometimes, i cannot find an adequate "errno" error to describe the nature of error. the existing sdp(3), imo, is a middle ground.
2. to register a profile with the sdp daemon, the daemon itself must already know about the profile, even though its just a string of binary. It would be nice if a client program could just prepare this array and send it.
correct. the idea was to make sure that advertised sdp records are somewhat consistent (and correct), and, to make life a little bit easier for clients. i guess, we could add sdp_register_raw() what would simply use the data from the client (after running some consistency checks).
3. parsing results of an sdp query is annoyingly ugly, it would be nice if there was some lib function that could be used to extract values from the result in a generic way.
ahem... there *were* supposed to be helper functions, a-la sdp_get_next_whatever() to simply advance pointers and copy data from them. i just never got around to write them :(
So well, I'm not so sure if anybody else besides Max has done any work in this arena, but any input is good..
your comments are very good. thanks a lot.
*latest archive is http://homepages.rya-online.net/plunky/netbt.32.tar.gz
i took a brief look at this. it looks really good. i think we should start and integrate our headers, i.e. make them the same and move them into some reasonable please, say, /usr/include/bluetooth
it certainly would be possible to get rid of NG_ prefix in freebsd include files and do other tweaks as well.
thanks, max _______________________________________________ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-bluetooth To unsubscribe, send any mail to "[EMAIL PROTECTED]"
