====== std.hardware.bluetooth_gatts ====== Die **Server-Seite**: das eigene Programm tritt als BLE-Gerät auf und stellt Charakteristiken bereit, die andere lesen, beschreiben und abonnieren können. Eine Charakteristik wird über ihren Eintrag in einem Definitionspuffer beschrieben — UUID, Eigenschaften (lesbar, schreibbar, benachrichtigend) und ein Zeiger auf den aktuellen Wert. Die ''GattsCharDef*''-Funktionen setzen und lesen diese Felder. ''GattServerRegister'' meldet die Dienste bei BlueZ an; ''GattServerHandleNext'' verarbeitet die nächste eingehende Anfrage; ''GattServerSendNotification'' schiebt einen geänderten Wert aktiv zu allen Abonnenten. Die Anmeldung läuft über den D-Bus von BlueZ — der Deskriptor dafür kommt aus [[lyx_-_programmiersprache:units:hardware:bluetooth_dbus|bluetooth_dbus]]. [[lyx_-_programmiersprache:units:hardware:bluetooth|std.hardware.bluetooth — Übersicht]] · [[lyx_-_programmiersprache:guides:bluetooth|Bluetooth-Guide]] · [[lyx_-_programmiersprache:units|Standard Library]] ---- ===== Schnittstelle ===== ^ Signatur ^ | ''GattsCharDefUUID(buf: int64, idx: int64): int64'' | | ''GattsCharDefProps(buf: int64, idx: int64): int64'' | | ''GattsCharDefValuePtr(buf: int64, idx: int64): int64'' | | ''GattsCharDefValueLen(buf: int64, idx: int64): int64'' | | ''GattsCharDefSetValue(buf: int64, idx: int64, ptr: int64, len: int64)'' | | ''GattServerRegister(dbusFd: int64, adapterPath: int64, pathLen: int64): int64'' | | ''GattServerHandleNext(fd: int64, svcUUID: int64, charDefs: int64, charCount: int64): int64'' | | ''GattServerSendNotification(fd: int64, charPath: int64, pathLen: int64, data: int64, dataLen: int64): int64'' | ^ Konstante ^ Wert ^ Bedeutung ^ | ''GATTS_CHAR_DEF_SIZE'' | ''32'' | – | Quelle: ''std/hardware/bluetooth_gatts.lyx'' · geprüft mit ''lyxc 1.0.17E'' · Stand 2026-08-12