From 025d2ef81245cce52539339d18deb6e72e1d7ba8 Mon Sep 17 00:00:00 2001 From: Luiz Augusto von Dentz Date: Thu, 9 Oct 2025 13:01:53 -0400 Subject: [PATCH] iso.rst: Add documentation for PAST/rebind This documents how to use PAST procedures by doing bind on already connected socket. --- doc/iso.rst | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/doc/iso.rst b/doc/iso.rst index 2ad9c73e4..4d315132f 100644 --- a/doc/iso.rst +++ b/doc/iso.rst @@ -125,6 +125,26 @@ Broadcast Sink (Receiver) example: /* Bind to Broadcaster address */ bind(iso_socket, (struct sockaddr *)addr, addr_len); +Broadcast Source (Broadcaster) or Broadcast Sink (Receiver) Periodic +Advertising Sync Transfer (PAST): + +.. code-block:: + + struct sockaddr_iso *addr; + size_t addr_len; + + addr_len = sizeof(*addr) + sizeof(*addr->iso_bc); + + memset(addr, 0, addr_len); + addr->iso_family = AF_BLUETOOTH; + + /* Set destination address to PAST destination address */ + bacpy(&addr->iso_bc->bc_bdaddr, (void *) bdaddr); + addr->iso_bc->bc_bdaddr_type = bdaddr_type; + + /* Rebind already connected socket to PAST address */ + bind(iso_socket, (struct sockaddr *)addr, addr_len); + SOCKET OPTIONS (SOL_BLUETOOTH) ============================== -- 2.47.3