They could be set to 0 on purpose so the kernel would automatically pick
one available.
To fix this now the detection is done while parsing the options, so in
case the user set the option to 0 it will automatically set the type
as well.
There's no need to have a separate type for ERTM. The mode parameter
takes care of most needs and if necessary a "reliable" parameter can be
added later which will map to SOCK_STREAM usage.
Since the socket type can be inferred from the socket itself or from the
PSM/Channel/CID/etc parameters provided to listen() and connect() it
doesn't make sense to expose this in the BtIO API.
The BT_IO_ERROR_* flags are not used for anything else and we just
loosing errorneous numbers set in the sockets that might be more
useful for handling specific errors.
A use case would be disconnect errors that should not allow BlueZ to
enable auto connections since the connection would never be possible in
some cases.
This patch removes BT_IO_ERROR_* flags and use the errors set in the
sockets instead. Now, the errors passed in connect/disconnect callbacks
should contain proper error numbers passed to them.
This patch adds a new BtIO option to allow setting the remote Bluetooth
address type for BLE connections. Allowed values for BT_IO_OPT_DEST_TYPE
option are: BDADDR_BREDR, BDADDR_LE_PUBLIC, and BDADDR_LE_RANDOM.
The default value of sec_level when setting *any* option
using bt_io_set() was BT_SECURITY_MEDIUM. This was causing
the security procedure being started in some situations that
it should not.
Some profiles specify some restriction depending on the length
of the key used to encrypt the link, this adds an way to retrieve
that value from the kernel.
Variables which are assigned to the errno variable (usually called
"err") should be negative, and "-err" should be used where a positive
value is needed.
This patch fixes a compilation warning regarding btio/btio.c. Actually
this warning seems a false positive by Ubuntu Natty GCC version. A new
bug on Ubuntu bug system was opened but if you do not want to wait until
it is analyzed, just apply this minor fix.
btio/btio.c: In function 'bt_io_get':
btio/btio.c:803:11: warning: 'flushable' may be used uninitialized in
this function
This patch adds support for the BT_FLUSHABLE L2CAP socket option through
BtIO. This can be used to mark data from specific L2CAP sockets to have
the flushable flag set in their corresponding ACL packets.