Modify headers to enable support for flushable packets. Following
commit: 8bcbd526c84724d8de087130d53e79da256e34bf to linux kernel
implements functionality on kernel side.
This patch updates the class of device handling code to match the latest
management interface. A notable feature is that UUID to service class
mapping policy remains in user space with the help of the svc_hint
parameter of the add_uuid command. This is to make it easy to update the
mapping table when new profiles come along.
This patch adds support for the add_uuid and remove_uuid management
commands. The kernel uses them to track the list of UUIDs and
automatically set the service class bits as well as the EIR value
accordingly.
This patch implements support for the set_pairable managment command.
Due to the async nature of it a new btd_adapter_pairable_changed
function is added to the core daemon.
The events, commands and responses to these modes are represented by
identical management messages. By having a unified struct for all of
them quite a lot of code can simplified and reused.
The current idea is to have a single set_powered management command
which for the switching on case would leave the controller in a
non-connectable, non-pairable and non-discoverable state.
The read_mode and read_info commands are issued only once in the
beginning for each adapter so it doesn't make sense to have the
information fetching split across two different commands. Instead all
necessary info can be fetched through the read_info command.
The value 0x03 isn't something that exists in the core spec, so it
shouldn't be used in the same API as SCO/ACL link types. Since there are
some experimental kernel patches that use it this patch makes it private
to hcitool.c.
For BlueZ if the controller supports LE, extended feature mask shall be
set to indicate that the host supports LE and disable simultaneous LE and
BR/EDR for simplicity even if the controller supports simultaneous LE and
BR/EDR.
Advertising data has variable length. Maximum length are 31 bytes.
RSSI field is the last byte of the datagram. Declare the data field
with fixed length will point the rssi field to an invalid memory
address.
Extend sdptool to allow to add GATT SDP record. Devices that support
GATT over BR/EDR shall publish GATT record. This implementation intend
to be a reference for GATT SDP record creation and it can be a helper
to GATT servers implemented outside BlueZ.