| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds SPDX License Identifier and removes the license text.
-------------------------------------
License COUNT
-------------------------------------
GPL-2.0-or-later : 13
License: GPL-2.0-or-later
attrib/att-database.h
attrib/gattrib.h
attrib/gatttool.h
attrib/gatt-service.c
attrib/interactive.c
attrib/utils.c
attrib/gatt.c
attrib/gattrib.c
attrib/gatt-service.h
attrib/att.c
attrib/gatt.h
attrib/att.h
attrib/gatttool.c
|
| |
|
|
|
|
|
|
|
| |
As per spec (BT spec 4.1 Vol[3], Part F, chapter 3.4.5.4) we need to
take opcode, handle and parameters to generate signature.
In order to support it signing is moved to att.c, place where pdu is
encoded
|
| |
|
|
|
|
|
| |
This function is no longer used since all code is changed to use
gatt_discover_desc instead.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds gatt_discover_desc() function which performs descriptor
discovery in a manner similar to gatt_discover_char(), i.e. it does
complete discovery procedure and returns list of descriptors found when
finished. For 16-bit UUIDs in addition to string UUID, short UUID is
provided.
It's also possible to specify single descriptor UUID to look for and
discovery procedure is interrupted as soon as UUID is found. This way
no more than one descriptor is returned which is useful when searching
for common descriptors like CCC.
|
|
|
|
| |
This is needed to cover Android API
|
|
|
|
|
| |
Android expose to application api for reliable write. Therefore we need
to add this support to gattrib
|
|
|
|
| |
Source buffer for write operations should be immutable.
|
|
|
|
|
|
| |
Properties are defined by GATT specification. This patch moves and
renames the defines related to Characteristic properties bits from
attrib/att.h to attrib/gatt.h
|
|
|
|
|
|
| |
This patch moves GATT UUIDs definitions to a common header. uuid.h contains
helper functions to manipulate Bluetooth UUIDs and some common BR/EDR services
UUIDs.
|
|
|
|
|
|
| |
Use standard C types instead of GLib ones (which are unnecessary here)
and move the "status" parameter to the first position, so it is
consistent with other callbacks.
|
|
|
|
|
|
| |
The old name referred to the underlying ATT PDU (Find Information
Request and Find Information Response) and not to the actual GATT
procedure (Discover All Characteristic Descriptors).
|
|
|
|
|
|
|
|
| |
Some services like HID over LE can reference another service using
included services.
See Vol 3, Part G, section 2.6.3 of Core specification for more
details.
|
|
|
|
|
|
| |
The Core spec allows to implement Read Long Characteristic Value as a
Read Request, followed by zero or more Read Blob Requests, therefore the
offset parameter is unnecessary and is always 0 for normal use.
|
| |
|
|
|
|
|
| |
This patch address the "Service Changed" scenario on which the start
and end Primary Service attribute handle interval doesn't change.
|
|
|
|
|
|
|
|
|
| |
size_t/ssize_t/off_t/etc are more appropriate for variables denoting
some kind of size than simply using int.
This patch includes a couple of other related changes to avoid gcc
signedness errors resulting from it treating (for whatever reason) const
variables and integer literals as signed.
|
|
|
|
| |
Add the UUID of the External Report Reference descriptor.
|
| |
|
| |
|
|
|
|
|
| |
Use att_range struct instead of individual start/end handles in
gatt_primary structure
|
|
|
|
|
|
| |
Rename the att_primary to gatt_primary and att_char to gatt_char.
Characteristic and Service do not exist in the ATT spec, only in
GATT.
|
|
|
|
|
| |
Use proper defines for the ATT CID and PSM. The values are really ATT
and not GATT specific so move them from gatt.h to att.h.
|
|
|
|
|
|
| |
This patch registers the object paths for primary services exported
through SDP. PSM, start and end handle information are available in
the Protocol Descriptor List.
|
| |
|
|
|
|
|
|
| |
According to the specification the characteristics discover and
characteristics discover by UUID use the same opcode and the result
should be filtered by callback.
|
|
|
|
|
|
| |
This patch puts the new UUID functions into use for GATT-related
code, and adds some convenience functions to ATT API (att.h).
Example GATT server is also changed.
|
|
|
|
| |
Some tests require an arbitrary offset.
|
|
|
|
|
|
|
|
| |
The attribute client (attrib/client.c) and gatttool share similar code
to parse the PDU coming from server. This commit moves this common code
to attrib/gatt.c, and simplifies the callbacks implemented by the
clients. The client callbacks are now called just once and get a GSList
of characteristics, instead of the raw PDU.
|
|
|
|
|
| |
The gatt_primary_t typedef was renamed to gatt_cb_t because it will be
used for primary and characteristic callbacks.
|
|
|
|
|
| |
Initial patch to move the shared code related to Discover All Primary
Services and Discover Primary Services by UUID to gatt.c.
|
|
|
|
|
|
|
|
|
|
|
| |
Sub-procedure used to read a Characteristic Value when the client
only knows the characteristic UUID and doesn't know the handle.
More than one handle and attribute value pair can be returned,
it is up to the user define the handles range based on the service
handles range.
Usage example:
$gatttool --char-read --uuid=2a00 -i hcix -b xx:xx:xx:xx:xx:xx
|
|
|
|
|
|
| |
Extends discover primary function to perform discover by UUID. UUID
parameter defines which procedure will be executed: Discover All
Primary Services or Discover Primary Service by Service UUID.
|
| |
|
|
|
|
|
|
|
| |
Implement encoders/decoders for Write Request/Response and the handling
on attribute server. The attribute client still uses the Write Command
because currently SetProperty() has no means to wait for the server
response.
|
| |
|
| |
|
|
|
|
|
| |
This function allows one to send Find Information requests without
having to build the PDU by hand each time.
|
| |
|
| |
|
|
|