summaryrefslogtreecommitdiff
path: root/doc/gatt-api.txt
Commit message (Collapse)AuthorAgeFilesLines
* gatt-api: Add error code ReadValue/WriteValueLuiz Augusto von Dentz2022-08-251-2/+6
| | | | | | | | | | This allows application to return error codes in the range allowed by the spec: 'GATT - Section 4.9.5: Application Error 0x80 – 0x9F Application error code defined by a higher layer specification.'
* doc/gatt-api: Add 'X-notify`/`X-indicate`Dagan Martinez2021-10-011-1/+14
| | | | | | Update docs to reflect the addition of the `X-notify` and `X-indicate` characteristic flags, which allow a GATT server to restrict CCC write permissions.
* gatt-api: Add MTU property to GattCharacteristic1Luiz Augusto von Dentz2021-09-281-0/+6
| | | | | | | | | This adds MTU properyt to GattCharacteristic1 which can be used in order to determine how much data can be read/write using non-long procedures which sometimes is the only thing the remote device supports. Fixes: https://github.com/bluez/bluez/issues/199
* doc/gatt-api: Add new error for StartNotifyJoseph Hwang2020-09-161-0/+1
| | | | | When a device is disconnecting, StartNotify is not allowed. This adds a new error type to the doc.
* gatt: Fix not allowing 'extended-properties' as flagsLuiz Augusto von Dentz2019-02-131-0/+1
| | | | Allows 'extended-propeties' as flags.
* doc/gatt-api: Add "type" option to Characteristic.WriteValueLuiz Augusto von Dentz2019-02-071-0/+6
| | | | | | | The option "type" can be used to force a certain procedure to be used: - "command": Use Write Without Response procedure - "request": Use (Long) Write With Response procedure - "reliable"" Use Reliable Write procedure
* doc/gatt-api: Add Handle propertyLuiz Augusto von Dentz2019-01-311-0/+24
| | | | | | | | | | | | When acting as server it is useful to select where to allocate the handle for an attribute so it can be restored in the same position when restarting the daemon or rebooting the system. In order to do that the application also needs to know in which handle the attribute is allocated the very first time it is registered, this also allows for a better integration with PTS and tools like auto-pts which needs to know the handles where the attributes have been allocated.
* doc/gatt-api: Restrict supported file descriptorsLuiz Augusto von Dentz2018-11-201-6/+6
| | | | | Only support sockets with AcquireWrite/AcquireNotify since pipe don't work with sendmsg therefore MSG_NOSIGNAL cannot be used.
* doc/gatt-api: Fix documentation of prepare-authorizeLuiz Augusto von Dentz2018-07-121-1/+1
| | | | Make it clearer what values it can assume and also fit in 80 columns.
* doc/gatt-api: Add MTU to ReadValue and WriteValueDavid Krauser2018-07-121-2/+4
|
* doc/gatt-api: Add authorization options for attributesGrzegorz Kolodziejczyk2018-05-281-0/+8
| | | | | | | This patch adds authorization property for attributes and prepare write request for authorization option for write request. This is require to handle correctly prepare writes, which may response with insufficient authorization error.
* doc/gatt-api: Update documentation regarding link optionLuiz Augusto von Dentz2018-03-261-0/+3
| | | | | This reflects what the code has already doing so any server operation which requires the device option shall also get the link type as well.
* doc/gatt-api: Includes shall not be mandatoryLuiz Augusto von Dentz2018-03-221-1/+1
| | | | It is perfectly fine to have a service without any Includes.
* gatt: Add org.bluez.Error.InvalidOffset for long read procedureGrzegorz Kolodziejczyk2018-03-211-0/+1
| | | | | | | | | | | | | | This patch adds handling of invalid offset error for gatt database in case if offset in read blob would be invalid. "The Read Blob Request is repeated until the Read Blob Response’s Part Attribute Value parameter is zero or an Error Response is sent by the server with the Error Code set to Invalid Offset." Bluetooth Core 5.0, 4.12.2 "If the prepare Value Offset is greater than the current length of the attribute value then all pending prepare write values shall be discarded for this client, the queue shall be cleared and then an Error Response shall be sent with the «Invalid Offset»." Bluetooth Core 5.0, 3.4.6.3
* doc/gatt-api.txt: Add support for Included ServiceAvichal Agarwal2018-03-201-1/+1
| | | | included service support implemented at server side
* gatt: Mark AcquireWrite and AcquireNotify as stableLuiz Augusto von Dentz2017-12-191-2/+2
| | | | AcquireWrite and AcquireNofify are required by meshctl.
* doc/gatt-api: Add link optionLuiz Augusto von Dentz2017-11-021-0/+2
| | | | | This adds link option to ReadValue and WriteValue so the application can determine which bearer the request is coming from.
* doc/gatt-api: Add server support for AcquireWrite and AcquireNotifyLuiz Augusto von Dentz2017-09-221-7/+29
| | | | | | | | | This enables servers to use the same mechanism to use packet based IO using file descriptors bypassing D-Bus. Note that the application is free to choose any type of medium that can use file descriptors, thus this is not limited to pipe2 although that is probably recommended due its simplicity.
* doc/gatt-api: Add ConfirmYunhan Wang2017-08-291-0/+7
| | | | | Add Confirm method which doesn't expect a reply so it is just confirmation that value was received.
* client: Add release-notify commandLuiz Augusto von Dentz2017-07-051-9/+12
| | | | | | | | This adds release-notify command which closes an existing fd unlocking the attribute: [Test peripheral:/service001f/char0020]# release-notify [CHG] Attribute /org/bluez/hci1/dev_69_16_5B_9A_06_CD/service001f/char0020 NotifyAcquired: no
* doc/gatt-api: Add AcquireWrite and AcquireNotifyLuiz Augusto von Dentz2017-07-041-0/+62
| | | | | | This enables write and notify exclusive access via file descriptors in case the characteristic is actually trying to emulate a byte stream transfer or have a protocol on top of GATT.
* doc/gatt-api.txt: Correct spelling mistakesBarry Byford2016-09-281-3/+3
| | | | Correct small spelling errors
* doc/gatt-api: Mention available examplesLuiz Augusto von Dentz2016-08-021-0/+9
|
* core/gatt: Promote GATT D-Bus interfaces to stableLuiz Augusto von Dentz2016-07-291-5/+5
| | | | | These interfaces have been in use for quite a while in chromium where it is used by Web Bluetooth APIs.
* doc/gatt-api: Add secure flagsLuiz Augusto von Dentz2016-05-181-0/+4
| | | | | This add secure-{read,write} which shall be used by servers that want to restrict attribute access to secure connection only (BT_SECURITY_FIPS)
* doc/gatt-api: Merge RegisterProfile with RegisterApplicationLuiz Augusto von Dentz2016-05-181-28/+9
| | | | | | Since RegisterApplication makes use of ObjectManager it is also possible to verify the existance of GattProfile objects unifying the API for both services (GATT server) and profiles (GATT client).
* doc/gatt-api: Add options dictionary to ReadValue/WriteValueLuiz Augusto von Dentz2016-05-181-4/+16
| | | | | This adds the possibility to pass an offset to these operations, and also in the server case to give the device object.
* doc/gatt-api: Make Notifying property optionalLuiz Augusto von Dentz2016-04-081-1/+1
| | | | | If the characteristic does not support nofications nor indications the Notifying property can be omitted as it will never going to be used.
* doc/gatt-api: Remove Characteristics and Descriptors propertiesLuiz Augusto von Dentz2016-03-151-17/+0
| | | | | These properties are no longer needed since the objects shall be managed with use of ObjectManager both in case of client and server.
* doc/gatt-api: Make proper use of ObjectManagerLuiz Augusto von Dentz2016-01-071-9/+8
| | | | | | | | | ObjectManager path shall not contain other intefaces in its root path, only child objects shall be included with many bindings following this. Due to this limitation and also the fact that application might actually have a single ObjectManager path so all services can be registered at once.
* doc/gatt-api: Add Flags property to GattDescriptorLuiz Augusto von Dentz2015-04-281-0/+12
| | | | | This adds Flags property to GattDescriptor so the server can define permissions and authentication requirements for descriptors.
* doc/gatt-api: Add encryption flagsLuiz Augusto von Dentz2015-04-281-0/+4
| | | | | This add encryption flags which can be used when registering a service to require encryption when accessing a characteristic.
* doc/gatt-api.txt: New ObjectManager requirementsArman Uguray2015-02-271-12/+62
| | | | | | | After some discussion it was decided to require an ObjectManager interface implementation on a per-service basis to reduce the overhead of heaving to process and cache potentially many non-GATT related objects. This patch updates the documentation to reflect this.
* doc/gatt-api: Introduce GattProfile1 conceptJohan Hedberg2015-02-171-0/+44
| | | | | | | | | | | Until now the GATT D-Bus API doesn't provide any way to register client role profiles so that bluetoothd would be able to add matching devices to its auto-connect list (managed by the kernel from 3.17 onward). To keep the GATT D-Bus interface as capable as the internal plugin API this patch adds a new concept of a GattProfile1 D-Bus object. By registering such an object and providing a set of mandatory service UUIDs bluetoothd will start performing matching against remote devices and add them to the auto-connect list.
* doc/gatt-api: Update to match latest plansJohan Hedberg2015-02-171-6/+7
|
* doc/gatt-api.txt: Update error namesArman Uguray2015-01-161-8/+4
| | | | | | Updated possible error names that can be returned from ReadValue/WriteValue methods to match those currently returned from the experimental implementation.
* doc/gatt-api: New API properties and methods for the GATT D-Bus API.Arman Uguray2014-08-301-12/+112
| | | | | | | | | | | | | | | | | | | | | | | | | This patch introduces the following new properties to the GattService1 interface: Device: A remote-service-only property that contains the D-Bus object path of the associated device. Primary: Reflects whether or not a services is primary or secondary. This patch also introduces new methods to GattCharacteristic1 and GattDescriptor1 for reading and writing the corresponding attribute values and a new signal for being notified of received notifications and indications. The "Value" D-Bus property is removed from both interfaces and replaced with asynchronous ReadValue and WriteValue functions. This is due to the fact that DBus.Properties.Get is synchronous and without an asynchronous way of issuing a GATT value read request, there are cases where a single read and cache based approach becomes limiting (e.g. when a characteristic allows reads but no notifications) and relying on the PropertyChanged signal to retrieve the value of a read request asynchonously as well as to signal notifications/indications makes for a vague API.
* doc: Add InvalidArguments to UnregisterService() errorsClaudio Takahasi2014-04-041-1/+2
| | | | | This patch adds "org.bluez.Error.InvalidArguments" as possible error returned by GattManager1.UnregisterService().
* doc/gatt: Make allowed flags list more readableJohan Hedberg2014-03-281-4/+11
|
* doc: Remove Core SPEC page number from gatt-api.txtClaudio Takahasi2014-03-281-7/+6
| | | | | Remove Core SPEC page number from the API document to avoid wrong page reference when the SPEC changes.
* doc: Add experimental GATT APIClaudio Takahasi2014-02-241-0/+142
This patch proposes an unified GATT API for local and remote services.