public inbox for linux-bluetooth@vger.kernel.org
 help / color / mirror / Atom feed
From: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
To: linux-bluetooth@vger.kernel.org
Subject: [PATCH BlueZ v3 08/37] doc/bluetoothctl-gatt: Add :Uses: fields and document arguments
Date: Fri, 30 Jan 2026 17:01:59 -0500	[thread overview]
Message-ID: <20260130220229.1346261-9-luiz.dentz@gmail.com> (raw)
In-Reply-To: <20260130220229.1346261-1-luiz.dentz@gmail.com>

From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>

Add :Uses: fields to link commands to their corresponding D-Bus API
methods, and document command arguments with usage examples.
---
 doc/bluetoothctl-gatt.rst | 249 +++++++++++++++++++++++++++++++++++++-
 1 file changed, 244 insertions(+), 5 deletions(-)

diff --git a/doc/bluetoothctl-gatt.rst b/doc/bluetoothctl-gatt.rst
index 6c72302ae935..493c7cf3b2c1 100644
--- a/doc/bluetoothctl-gatt.rst
+++ b/doc/bluetoothctl-gatt.rst
@@ -18,6 +18,10 @@ SYNOPSIS
 
 **bluetoothctl** [--options] [gatt.commands]
 
+This submenu interacts with GATT services, characteristics, and descriptors
+using the **org.bluez.GattService(5)**, **org.bluez.GattCharacteristic(5)**,
+**org.bluez.GattDescriptor(5)**, and **org.bluez.GattManager(5)** interfaces.
+
 
 Generic Attribute Commands
 ==========================
@@ -30,7 +34,24 @@ encompassing services, characteristics, and handles. This command provides
 a comprehensive overview of the available Bluetooth attributes, which can
 be further interacted with using other commands.
 
-:Usage: **> list-attributes <attribute/UUID> <dev/local>**
+:Usage: **> list-attributes [dev/local]**
+:[dev/local]: Device MAC address, object path, or "local" to list locally registered attributes (optional, lists all if omitted)
+:Example List attributes for specific service:
+	| **> list-attributes /org/bluez/hci0/dev_00_11_22_33_44_55/service001a**
+:Example List attributes for specific characteristic:
+	| **> list-attributes /org/bluez/hci0/dev_00_11_22_33_44_55/service001a/char001c**
+:Example List attributes for service on different device:
+	| **> list-attributes /org/bluez/hci0/dev_AA_BB_CC_DD_EE_FF/service0020**
+:Example List all Generic Access service attributes:
+	| **> list-attributes 0x1800**
+:Example List all Battery Service attributes:
+	| **> list-attributes 0x180F**
+:Example List all Device Name characteristic attributes:
+	| **> list-attributes 0x2A00**
+:Example List attributes using full UUID:
+	| **> list-attributes 00001801-0000-1000-8000-00805f9b34fb**
+:Example List attributes for custom service UUID:
+	| **> list-attributes 12345678-1234-5678-9abc-123456789abc**
 
 select-attribute
 ----------------
@@ -41,7 +62,25 @@ must select it with this command. This establishes a context for many
 other commands (read, write, notify, etc.), specifying the attribute
 they should operate on.
 
-:Usage: **> select-attribute <attribute/UUID/local>**
+:Usage: **> select-attribute <attribute/UUID/local> [attribute/UUID]**
+:<attribute/UUID/local>: GATT attribute path, UUID, or "local" to select from local attributes
+:[attribute/UUID]: Additional attribute path or UUID when using "local" (optional)
+:Example Select specific characteristic:
+	| **> select-attribute /org/bluez/hci0/dev_00_11_22_33_44_55/service001a/char001c**
+:Example Select specific descriptor:
+	| **> select-attribute /org/bluez/hci0/dev_00_11_22_33_44_55/service0020/char0022/desc0024**
+:Example Select service on different device:
+	| **> select-attribute /org/bluez/hci0/dev_AA_BB_CC_DD_EE_FF/service001a**
+:Example Select Device Name characteristic:
+	| **> select-attribute 0x2A00**
+:Example Select Battery Level characteristic:
+	| **> select-attribute 0x2A19**
+:Example Select Client Characteristic Configuration descriptor:
+	| **> select-attribute 0x2902**
+:Example Select Temperature characteristic using full UUID:
+	| **> select-attribute 00002a6e-0000-1000-8000-00805f9b34fb**
+:Example Select custom characteristic:
+	| **> select-attribute 12345678-1234-5678-9abc-123456789abc**
 
 attribute-info
 --------------
@@ -52,6 +91,17 @@ attribute. This command is useful for understanding the properties and
 capabilities of an attribute.
 
 :Usage: **> attribute-info [attribute/UUID]**
+:[attribute/UUID]: GATT attribute path or UUID to get info for (optional, uses current if omitted)
+:Example Show information for currently selected attribute:
+	| **> attribute-info**
+:Example Show info for specific characteristic:
+	| **> attribute-info /org/bluez/hci0/dev_00_11_22_33_44_55/service001a/char001c**
+:Example Show info for Battery Level characteristic:
+	| **> attribute-info 0x2A19**
+:Example Show info for Device Name characteristic:
+	| **> attribute-info 0x2A00**
+:Example Show info for Temperature characteristic:
+	| **> attribute-info 00002a6e-0000-1000-8000-00805f9b34fb**
 
 read
 ----
@@ -61,6 +111,18 @@ beforehand with select-attribute. The optional offset parameter can be
 used for attributes that allow partial reads.
 
 :Usage: **> read [offset]**
+:Uses: **org.bluez.GattCharacteristic(5)** method **ReadValue**
+:[offset]: Byte offset to start reading from (optional, defaults to 0)
+:Example Read attribute value from offset 0:
+	| **> read**
+:Example Read attribute value from offset 0 (explicit):
+	| **> read 0**
+:Example Read attribute value starting from offset 4:
+	| **> read 4**
+:Example Read attribute value starting from offset 10:
+	| **> read 10**
+:Example Read attribute value starting from offset 16:
+	| **> read 16**
 
 write
 -----
@@ -70,7 +132,25 @@ be selected in advance using select-attribute. Data must be provided in
 hexadecimal format. Optional offset and type parameters can accommodate
 specific write requirements.
 
-:Usage: **> write <data=xx xx ...> [offset] [type]**
+:Usage: **> write <data="xx xx ..."> [offset] [type]**
+:Uses: **org.bluez.GattCharacteristic(5)** method **WriteValue**
+:<xx xx ...>: Hexadecimal data bytes to write to the attribute
+:[offset]: Byte offset to start writing at (optional, defaults to 0)
+:[type]: Write type - request, command, or reliable (optional, defaults to request)
+:Example Write "Hello" to attribute (ASCII bytes):
+	| **> write "48 65 6C 6C 6F"**
+:Example Write binary data to attribute:
+	| **> write "01 02 03 04"**
+:Example Write single byte value:
+	| **> write "FF"**
+:Example Write 2 bytes starting at offset 4:
+	| **> write "01 02" 4**
+:Example Write with write request (default):
+	| **> write "48 65 6C 6C 6F" 0 request**
+:Example Write with write command (no response):
+	| **> write "01 02 03" 0 command**
+:Example Write with reliable write:
+	| **> write "FF EE DD" 0 reliable**
 
 acquire-write
 -------------
@@ -80,6 +160,9 @@ is useful for applications that need a file descriptor to perform
 write operations.
 
 :Usage: **> acquire-write**
+:Uses: **org.bluez.GattCharacteristic(5)** method **AcquireWrite**
+:Example Acquire write file descriptor for current attribute:
+	| **> acquire-write**
 
 release-write
 -------------
@@ -89,6 +172,8 @@ command is necessary to clean up resources after you're done with the
 write operation.
 
 :Usage: **> release-write**
+:Example Release write file descriptor for current attribute:
+	| **> release-write**
 
 acquire-notify
 --------------
@@ -98,6 +183,9 @@ This enables applications to listen for notifications on attribute
 value changes.
 
 :Usage: **> acquire-notify**
+:Uses: **org.bluez.GattCharacteristic(5)** method **AcquireNotify**
+:Example Acquire notify file descriptor for current attribute:
+	| **> acquire-notify**
 
 release-notify
 --------------
@@ -106,6 +194,8 @@ Releases the Notify file descriptor obtained with acquire-notify. Ensures
 resources are freed once notification listening is no longer needed.
 
 :Usage: **> release-notify**
+:Example Release notify file descriptor for current attribute:
+	| **> release-notify**
 
 notify
 ------
@@ -116,6 +206,12 @@ command allows applications to be notified of attribute changes without
 polling.
 
 :Usage: **> notify <on/off>**
+:Uses: **org.bluez.GattCharacteristic(5)** methods **StartNotify**, **StopNotify**
+:<on/off>: Enable or disable notifications for the current attribute
+:Example Enable notifications for current attribute:
+	| **> notify on**
+:Example Disable notifications for current attribute:
+	| **> notify off**
 
 clone
 -----
@@ -124,6 +220,21 @@ Creates a clone of a device or attribute. This can be useful for creating
 a backup or working with a copy for testing purposes.
 
 :Usage: **> clone [dev/attribute/UUID]**
+:[dev/attribute/UUID]: Device MAC address, attribute path, or UUID to clone (optional, clones current if omitted)
+:Example Clone entire device GATT database:
+	| **> clone 00:11:22:33:44:55**
+:Example Clone another device:
+	| **> clone AA:BB:CC:DD:EE:FF**
+:Example Clone specific service:
+	| **> clone /org/bluez/hci0/dev_00_11_22_33_44_55/service001a**
+:Example Clone specific characteristic:
+	| **> clone /org/bluez/hci0/dev_00_11_22_33_44_55/service001a/char001c**
+:Example Clone Generic Access service:
+	| **> clone 0x1800**
+:Example Clone Battery Service:
+	| **> clone 0x180F**
+:Example Clone Battery Level characteristic:
+	| **> clone 0x2A19**
 
 register-application
 --------------------
@@ -133,6 +244,18 @@ management of services, characteristics, and descriptors under this
 application.
 
 :Usage: **> register-application [UUID ...]**
+:Uses: **org.bluez.GattManager(5)** method **RegisterApplication**
+:[UUID ...]: Optional list of service UUIDs to register with the application
+:Example Register GATT application without specific UUIDs:
+	| **> register-application**
+:Example Register application with Battery Service:
+	| **> register-application 0x180F**
+:Example Register with Generic Access and Battery Service:
+	| **> register-application 0x1800 0x180F**
+:Example Register application with custom service UUID:
+	| **> register-application 12345678-1234-5678-9abc-123456789abc**
+:Example Register with multiple standard services:
+	| **> register-application 0x1800 0x180F 0x180A**
 
 unregister-application
 ----------------------
@@ -140,6 +263,9 @@ unregister-application
 Removes a previously registered application from the Bluetooth system.
 
 :Usage: **> unregister-application**
+:Uses: **org.bluez.GattManager(5)** method **UnregisterApplication**
+:Example Unregister current GATT application:
+	| **> unregister-application**
 
 register-service
 ----------------
@@ -148,6 +274,24 @@ Adds a new service under a registered application. This command is
 crucial for defining new services that devices can offer.
 
 :Usage: **> register-service <UUID> [handle]**
+:<UUID>: Service UUID to register (16-bit, 32-bit, or 128-bit format)
+:[handle]: Specific attribute handle to assign (optional, auto-assigned if omitted)
+:Example Register Generic Access service (auto handle):
+	| **> register-service 0x1800**
+:Example Register Battery Service (auto handle):
+	| **> register-service 0x180F**
+:Example Register Device Information service (auto handle):
+	| **> register-service 0x180A**
+:Example Register Generic Access service at handle 1:
+	| **> register-service 0x1800 0x0001**
+:Example Register Battery Service at handle 16:
+	| **> register-service 0x180F 0x0010**
+:Example Register Device Info service at handle 32:
+	| **> register-service 0x180A 0x0020**
+:Example Register custom service (auto handle):
+	| **> register-service 12345678-1234-5678-9abc-123456789abc**
+:Example Register custom service at specific handle:
+	| **> register-service 12345678-1234-5678-9abc-123456789abc 0x0050**
 
 unregister-service
 ------------------
@@ -156,6 +300,17 @@ Removes a service from a registered application, effectively ceasing
 its availability.
 
 :Usage: **> unregister-service <UUID/object>**
+:<UUID/object>: Service UUID or object path of the service to unregister
+:Example Unregister Generic Access service:
+	| **> unregister-service 0x1800**
+:Example Unregister Battery Service:
+	| **> unregister-service 0x180F**
+:Example Unregister custom service:
+	| **> unregister-service 12345678-1234-5678-9abc-123456789abc**
+:Example Unregister service by object path:
+	| **> unregister-service /org/bluez/example/service0**
+:Example Unregister another service:
+	| **> unregister-service /org/bluez/example/service1**
 
 register-includes
 -----------------
@@ -163,14 +318,28 @@ register-includes
 Marks a service as included within another service, allowing for
 service hierarchies and complex service structures.
 
-:Usage: **>r egister-includes <UUID> [handle]**
+:Usage: **> register-includes <UUID> [handle]**
+:<UUID>: Service UUID to register as included service
+:[handle]: Specific attribute handle to assign (optional, auto-assigned if omitted)
+:Example Register Generic Access as included service:
+	| **> register-includes 0x1800**
+:Example Register Battery Service as included at handle 21:
+	| **> register-includes 0x180F 0x0015**
+:Example Register custom service as included:
+	| **> register-includes 12345678-1234-5678-9abc-123456789abc**
 
 unregister-includes
 -------------------
 
 Removes an included service relationship, simplifying the service structure.
 
-:Usage: **> unregister-includes <Service-UUID><Inc-UUID>**
+:Usage: **> unregister-includes <Service-UUID> <Inc-UUID>**
+:<Service-UUID>: Parent service UUID that contains the included service
+:<Inc-UUID>: Included service UUID to remove from the parent service
+:Example Unregister Battery Service inclusion from Generic Access:
+	| **> unregister-includes 0x1800 0x180F**
+:Example Unregister Device Info inclusion from custom service:
+	| **> unregister-includes 12345678-1234-5678-9abc-123456789abc 0x180A**
 
 register-characteristic
 -----------------------
@@ -179,6 +348,31 @@ Introduces a new characteristic under a service, specifying its properties
 and access permissions with flags.
 
 :Usage: **> register-characteristic <UUID> <Flags=read,write,notify...> [handle]**
+:<UUID>: Characteristic UUID to register (16-bit, 32-bit, or 128-bit format)
+:<Flags=read,write,notify...>: Comma-separated list of characteristic properties and permissions
+:[handle]: Specific attribute handle to assign (optional, auto-assigned if omitted)
+:Example Register Device Name (read-only):
+	| **> register-characteristic 0x2A00 read**
+:Example Register Battery Level (read + notifications):
+	| **> register-characteristic 0x2A19 read,notify**
+:Example Register Heart Rate Measurement (notify-only):
+	| **> register-characteristic 0x2A37 notify**
+:Example Register Device Name (read + write):
+	| **> register-characteristic 0x2A00 read,write**
+:Example Register Battery Level (read + write + notify):
+	| **> register-characteristic 0x2A19 read,write,notify**
+:Example Register Temperature (read + indications):
+	| **> register-characteristic 0x2A6E read,indicate**
+:Example Register Device Name at handle 3:
+	| **> register-characteristic 0x2A00 read 0x0003**
+:Example Register Battery Level at handle 19:
+	| **> register-characteristic 0x2A19 read,notify 0x0013**
+:Example Register custom characteristic with full capabilities:
+	| **> register-characteristic 12345678-1234-5678-9abc-123456789abc read,write,notify**
+:Example Register custom write-only characteristic:
+	| **> register-characteristic ABCD1234-ABCD-1234-ABCD-123456789ABC write-without-response**
+:Example Register with all flags:
+	| **> register-characteristic 0x2A00 read,write,write-without-response,notify,indicate**
 
 unregister-characteristic
 -------------------------
@@ -186,6 +380,17 @@ unregister-characteristic
 Eliminates a characteristic from a service, removing its functionality.
 
 :Usage: **> unregister-characteristic <UUID/object>**
+:<UUID/object>: Characteristic UUID or object path of the characteristic to unregister
+:Example Unregister Device Name characteristic:
+	| **> unregister-characteristic 0x2A00**
+:Example Unregister Battery Level characteristic:
+	| **> unregister-characteristic 0x2A19**
+:Example Unregister custom characteristic:
+	| **> unregister-characteristic 12345678-1234-5678-9abc-123456789abc**
+:Example Unregister characteristic by object path:
+	| **> unregister-characteristic /org/bluez/example/service0/char0**
+:Example Unregister another characteristic:
+	| **> unregister-characteristic /org/bluez/example/service1/char1**
 
 register-descriptor
 -------------------
@@ -194,6 +399,29 @@ Adds a descriptor to a characteristic, further defining its behavior and
 access controls.
 
 :Usage: **> register-descriptor <UUID> <Flags=read,write...> [handle]**
+:<UUID>: Descriptor UUID to register (16-bit, 32-bit, or 128-bit format)
+:<Flags=read,write...>: Comma-separated list of descriptor properties and permissions
+:[handle]: Specific attribute handle to assign (optional, auto-assigned if omitted)
+:Example Register Client Characteristic Configuration:
+	| **> register-descriptor 0x2902 read,write**
+:Example Register Characteristic User Description:
+	| **> register-descriptor 0x2901 read**
+:Example Register Characteristic Presentation Format:
+	| **> register-descriptor 0x2904 read**
+:Example Register CCCD at handle 5:
+	| **> register-descriptor 0x2902 read,write 0x0005**
+:Example Register User Description at handle 21:
+	| **> register-descriptor 0x2901 read 0x0015**
+:Example Register custom descriptor:
+	| **> register-descriptor 12345678-1234-5678-9abc-123456789abc read,write**
+:Example Register custom read-only descriptor:
+	| **> register-descriptor ABCD1234-ABCD-1234-ABCD-123456789ABC read**
+:Example Register Valid Range descriptor:
+	| **> register-descriptor 0x2906 read**
+:Example Register External Report Reference:
+	| **> register-descriptor 0x2907 read**
+:Example Register Report Reference:
+	| **> register-descriptor 0x2908 read**
 
 unregister-descriptor
 ---------------------
@@ -201,6 +429,17 @@ unregister-descriptor
 Removes a descriptor from a characteristic, simplifying its behavior.
 
 :Usage: **> unregister-descriptor <UUID/object>**
+:<UUID/object>: Descriptor UUID or object path of the descriptor to unregister
+:Example Unregister Client Characteristic Configuration:
+	| **> unregister-descriptor 0x2902**
+:Example Unregister Characteristic User Description:
+	| **> unregister-descriptor 0x2901**
+:Example Unregister custom descriptor:
+	| **> unregister-descriptor 12345678-1234-5678-9abc-123456789abc**
+:Example Unregister descriptor by object path:
+	| **> unregister-descriptor /org/bluez/example/service0/char0/desc0**
+:Example Unregister another descriptor:
+	| **> unregister-descriptor /org/bluez/example/service1/char1/desc1**
 
 RESOURCES
 =========
-- 
2.52.0


  parent reply	other threads:[~2026-01-30 22:02 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-30 22:01 [PATCH BlueZ v3 00/37] doc: Add cross-references between bluetoothctl and D-Bus API docs Luiz Augusto von Dentz
2026-01-30 22:01 ` [PATCH BlueZ v3 01/37] doc/bluetoothctl: Add :Uses: fields and document arguments Luiz Augusto von Dentz
2026-01-30 23:07   ` doc: Add cross-references between bluetoothctl and D-Bus API docs bluez.test.bot
2026-01-30 22:01 ` [PATCH BlueZ v3 02/37] doc/bluetoothctl-mgmt: Add :Uses: fields and document arguments Luiz Augusto von Dentz
2026-01-30 22:01 ` [PATCH BlueZ v3 03/37] doc/bluetoothctl-admin: " Luiz Augusto von Dentz
2026-01-30 22:01 ` [PATCH BlueZ v3 04/37] doc/bluetoothctl-advertise: " Luiz Augusto von Dentz
2026-01-30 22:01 ` [PATCH BlueZ v3 05/37] doc/bluetoothctl-assistant: " Luiz Augusto von Dentz
2026-01-30 22:01 ` [PATCH BlueZ v3 06/37] doc/bluetoothctl-bredr: " Luiz Augusto von Dentz
2026-01-30 22:01 ` [PATCH BlueZ v3 07/37] doc/bluetoothctl-endpoint: " Luiz Augusto von Dentz
2026-01-30 22:01 ` Luiz Augusto von Dentz [this message]
2026-01-30 22:02 ` [PATCH BlueZ v3 09/37] doc/bluetoothctl-hci: " Luiz Augusto von Dentz
2026-01-30 22:02 ` [PATCH BlueZ v3 10/37] doc/bluetoothctl-le: " Luiz Augusto von Dentz
2026-01-30 22:02 ` [PATCH BlueZ v3 11/37] doc/bluetoothctl-monitor: " Luiz Augusto von Dentz
2026-01-30 22:02 ` [PATCH BlueZ v3 12/37] doc/bluetoothctl-player: " Luiz Augusto von Dentz
2026-01-30 22:02 ` [PATCH BlueZ v3 13/37] doc/bluetoothctl-scan: " Luiz Augusto von Dentz
2026-01-30 22:02 ` [PATCH BlueZ v3 14/37] doc/bluetoothctl-telephony: " Luiz Augusto von Dentz
2026-01-30 22:02 ` [PATCH BlueZ v3 15/37] doc/bluetoothctl-transport: " Luiz Augusto von Dentz
2026-01-30 22:02 ` [PATCH BlueZ v3 16/37] doc/org.bluez.Adapter: Add Used by reference and Examples Luiz Augusto von Dentz
2026-01-30 22:02 ` [PATCH BlueZ v3 17/37] doc/org.bluez.AdminPolicySet: " Luiz Augusto von Dentz
2026-01-30 22:02 ` [PATCH BlueZ v3 18/37] doc/org.bluez.AdminPolicyStatus: Add Used by reference Luiz Augusto von Dentz
2026-01-30 22:02 ` [PATCH BlueZ v3 19/37] doc/org.bluez.AdvertisementMonitor: " Luiz Augusto von Dentz
2026-01-30 22:02 ` [PATCH BlueZ v3 20/37] doc/org.bluez.AdvertisementMonitorManager: " Luiz Augusto von Dentz
2026-01-30 22:02 ` [PATCH BlueZ v3 21/37] doc/org.bluez.AgentManager: Add Used by reference and Examples Luiz Augusto von Dentz
2026-01-30 22:02 ` [PATCH BlueZ v3 22/37] doc/org.bluez.Call: " Luiz Augusto von Dentz
2026-01-30 22:02 ` [PATCH BlueZ v3 23/37] doc/org.bluez.Device: " Luiz Augusto von Dentz
2026-01-30 22:02 ` [PATCH BlueZ v3 24/37] doc/org.bluez.GattCharacteristic: " Luiz Augusto von Dentz
2026-01-30 22:02 ` [PATCH BlueZ v3 25/37] doc/org.bluez.GattDescriptor: Add Used by reference Luiz Augusto von Dentz
2026-01-30 22:02 ` [PATCH BlueZ v3 26/37] doc/org.bluez.GattManager: Add Used by reference and Examples Luiz Augusto von Dentz
2026-01-30 22:02 ` [PATCH BlueZ v3 27/37] doc/org.bluez.GattService: Add Used by reference Luiz Augusto von Dentz
2026-01-30 22:02 ` [PATCH BlueZ v3 28/37] doc/org.bluez.LEAdvertisement: " Luiz Augusto von Dentz
2026-01-30 22:02 ` [PATCH BlueZ v3 29/37] doc/org.bluez.LEAdvertisingManager: Add Used by reference and Examples Luiz Augusto von Dentz
2026-01-30 22:02 ` [PATCH BlueZ v3 30/37] doc/org.bluez.Media: Add Used by reference Luiz Augusto von Dentz
2026-01-30 22:02 ` [PATCH BlueZ v3 31/37] doc/org.bluez.MediaAssistant: Add Used by reference and Examples Luiz Augusto von Dentz
2026-01-30 22:02 ` [PATCH BlueZ v3 32/37] doc/org.bluez.MediaEndpoint: Add Used by reference Luiz Augusto von Dentz
2026-01-30 22:02 ` [PATCH BlueZ v3 33/37] doc/org.bluez.MediaPlayer: Add Used by reference and Examples Luiz Augusto von Dentz
2026-01-30 22:02 ` [PATCH BlueZ v3 34/37] doc/org.bluez.MediaTransport: " Luiz Augusto von Dentz
2026-01-30 22:02 ` [PATCH BlueZ v3 35/37] doc/org.bluez.Telephony: " Luiz Augusto von Dentz
2026-01-30 22:02 ` [PATCH BlueZ v3 36/37] doc/org.bluez.MediaFolder: " Luiz Augusto von Dentz
2026-01-30 22:02 ` [PATCH BlueZ v3 37/37] doc/org.bluez.MediaItem: " Luiz Augusto von Dentz
2026-02-03 18:20 ` [PATCH BlueZ v3 00/37] doc: Add cross-references between bluetoothctl and D-Bus API docs patchwork-bot+bluetooth

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260130220229.1346261-9-luiz.dentz@gmail.com \
    --to=luiz.dentz@gmail.com \
    --cc=linux-bluetooth@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox