fuchsia.bluetooth.gatt2

新增時間:下一頁

通訊協定

CharacteristicNotifier

定義於 fuchsia.bluetooth.gatt2/client.fidl

收聽特徵通知與指標

OnNotification

在特徵值通知或指標出現以下情形時呼叫 次要 IP 位址。

  • 要求 value 是已更新的特徵值。
  • 回應:空白回應應該會立即以 確認收到的通知(用於流量控制)。

要求

名稱類型
value ReadValue

回應

<空白>

用戶端

定義於 fuchsia.bluetooth.gatt2/client.fidl

ConnectToService

使用指定 ID 連結 RemoteService。只有 1 個連線 每個服務都可以

service」發生錯誤,系統會提供 原因。

  • 如果 handle 無效,則會傳回 ZX_ERR_INVALID_ARGS
  • 如果找不到服務,則傳回 ZX_ERR_NOT_FOUND
  • 如果移除服務,則傳回 ZX_ERR_CONNECTION_RESET
  • 如果對等點中斷連線,會傳回 ZX_ERR_NOT_CONNECTED 錯誤。
  • 如果服務已連線,則傳回 ZX_ERR_ALREADY_EXISTS

要求

名稱類型
handle ServiceHandle
service server_end<RemoteService>

WatchServices

列舉這個用戶端代表的對等項目找到的服務。

只要在 uuids 中指定 UUID 清單,即可篩選結果。這個 方法遵循懸浮 get 模式在初始要求中, 並傳回完整的快照使用同一組相同的後續通話 的uuids 只會在一或多項服務產生回應時 自從上次回報項目之後新增、修改或移除 近期通話。新值為 uuids 的呼叫會重設篩選器, 就會收到完整快照

帳號代碼可在不同服務中重複使用,因此可在兩者中擇一使用 《updated》和《removed》。因此,建議您 已移除服務

如要進一步與服務互動,用戶端必須取得 RemoteService 透過呼叫 ConnectToService() 解決各種通訊協定和軟體需求

  • 要求 uuids 使用 UUID 許可清單。如果留空,則所有服務都會 。
  • 回應 updated 在此日期後新增或修改的服務 上次呼叫 WatchServices()。傳回的 ServiceInfo 資料表則會 只包含各項服務的基本資訊 characteristicsincludes 欄位將為空值。如果服務 。 出現於 removed,而不是 updated。 如果因新呼叫含有新的 uuids 值而結束,updated 將空白
  • 回應 removed 是已移除服務的帳號代碼 。

要求

名稱類型
uuids vector<fuchsia.bluetooth/Uuid>

回應

名稱類型
updated vector<ServiceInfo>[65535]
removed vector<Handle>[65535]

LocalService

fuchsia.bluetooth.gatt2/server.fidl 中定義

提供本機 GATT 服務的介面。關閉此通訊協定的 server_end 會導致 GATT 服務即將從本機 GATT 資料庫中移除。同樣地,關閉 client_end 的通訊協定,表示藍牙堆疊已從其 GATT 資料庫中移除這項服務。

CharacteristicConfiguration

這樣就能針對 都屬於特定同類應用程式當對等互連 GATT 用戶端變更設定時,系統就會呼叫此方法。

藍牙堆疊會在重新連線後保留每個對等設定的狀態。 因此,當對等方透過 新連線對等互連設定的初始保留狀態。不過,客戶 ,不應仰賴藍牙堆疊無限期持續保留這個狀態。

  • 要求 peer_id 與此特定 CCC 相關聯的 GATT 用戶端 PeerId。
  • 要求 handlenotifyindicate 參數。
  • 如果用戶端已啟用通知功能,則要求 notify 是 True,否則要求為 false。
  • 如果用戶端已啟用指標,則要求 indicate 是 True,否則要求為 false。
  • 回應空白不會傳回任何確認特徵設定。

要求

名稱類型
peer_id fuchsia.bluetooth/PeerId
handle Handle
notify bool
indicate bool

回應

<空白>

OnIndicateValue

這個事件是用來傳送指標給同業。應使用指示,而非 當服務「確實」需要確認更新時,才會發出通知。

指示不應傳送給未啟用特定指標的同類應用程式 特性除外。如果已傳送,系統不會套用這些特性。藍牙堆疊會 會在服務的生命週期內追蹤這項設定。

在地生活服務必須持續追蹤ValueChangedCredit提供的可用抵免額 方法並傳送最多許多 OnNotifyValueOnIndicateValue 事件。如果顯示 事件是否送出超過可用的抵免額,或者參數無效,通訊協定就會 已打烊。

  • 要求 update 與變更的特性相關聯的參數。
  • 要求 confirmation 在所有要更新的同業確認指示後, confirmation 已發出 ZX_EVENTPAIR_SIGNALLED 的訊號。如果發生以下情況,「confirmation」就會暫停營業 代表對等點失敗 (例如對等點尚未設定指標), 已連線,或未在 ATT 交易逾時 30 秒內確認 (藍牙) 5.3 卷3 Part F 3.3.3)。如要追蹤個別同業的跡象確認情形, 導入功能可以在 update.peer_ids 中傳送具有單一 ID 的事件。

回應

名稱類型
update ValueChangedParameters
confirmation handle<eventpair>

OnNotifyValue

此事件是用來傳送通知給同事。應使用通知,而非 表示服務「不需」確認更新。

不應傳送通知給尚未啟用通知的同類應用程式 特定特性—即使它們已傳送,也不會傳播。藍牙 堆疊會在服務的生命週期內追蹤這項設定。

在地生活服務必須持續追蹤ValueChangedCredit提供的可用抵免額 方法並傳送最多許多 OnNotifyValueOnIndicateValue 事件。如果顯示 事件是否送出超過可用的抵免額,或者參數無效,通訊協定就會 已打烊。

回應

名稱類型
payload ValueChangedParameters

OnSuppressDiscovery

活動結束後,新的同業將無法再找到這項服務,但同事 已發現這項服務仍可存取。這個 ID 應為每封一次 服務生命週期;如果多次傳送,就會關閉通訊協定,並中斷 GATT 用戶端的連線。

回應

<空白>

PeerUpdate

用於提供同業專屬的 GATT 資訊。系統會呼叫 PeerUpdate,除非 先前的叫用收到回應因此,實作可以直接忽略 。

在將對等點至其他通訊端的其他互動前,系統會先進行 PeerUpdate LocalService (Write/ReadValue、CharacteristicConfiguration) 盡量提供, 所有先前的 PeerUpdates 都經過確認

目前未傳送。如要請求支援,請前往 https://fxbug.dev/42178509 發表留言

  • 要求 peer_id 與更新有關的 PeerId。一律顯示在所有人的主畫面上。
  • 要求 mtu 通知/對應此內容的位元組數量上限 。超過此上限的任何位元組都會遭到截斷,且不顯示任何通知訊息。大多數的客戶不需要擔心 除非是使用通知/表示高處理量的通知/指示。 選用。
  • 回應空白的回應,表示已收到更新。

要求

名稱類型
payload LocalServicePeerUpdateRequest

回應

<空白>

ReadValue

對等點要求讀取特徵或描述元的值時呼叫。是 保證對等節點符合與這項屬性相關聯的權限。

  • 要求 peer_id 提出讀取要求的 GATT 用戶端 PeerId。
  • 要求 handle 所要求描述元/特性的控制代碼。
  • 要求 offset 開始讀取要求值的位移。
  • 回應 value 特徵的值。
  • 如要瞭解可能出現的錯誤,請參閱 gatt2.Error 說明文件。

要求

名稱類型
peer_id fuchsia.bluetooth/PeerId
handle Handle
offset int32

回應

名稱類型
payload LocalService_ReadValue_Result

ValueChangedCredit

新增傳送指標/通知的額度。實作項目一開始會定義為 呼叫這個方法前,請先獲得 INITIAL_VALUE_CHANGED_CREDITS 抵免額。實作項目必須 追蹤他們擁有的抵免額實作者只能傳送一個 OnNotifyValue 或 OnIndicateValue 事件請注意,系統只會呼叫 ValueChangedCredit

要求

名稱類型
additional_credit uint8

WriteValue

在對等點發出要求寫入特性或描述元值時呼叫。這項服務 可確保對等點符合與這項屬性相關聯的權限。

  • 要求 peer_id 提出寫入要求的 GATT 用戶端 PeerId。一律顯示在所有人的主畫面上。
  • 要求 handle 所要求描述元/特性的控制代碼。一律顯示在所有人的主畫面上。
  • 要求 offset 開始寫入值的位移。如果偏移值為 0,則無 應以新的值覆寫現有值。否則, offset:(offset + len(value)) 應變更為 value。一律顯示在所有人的主畫面上。
  • 要求 value 描述元/特性的新值。一律存在,但可能會 做為空字串
  • 值更新之後,實作必須傳送空白的回應 視為確認。
  • 如要瞭解可能出現的錯誤,請參閱 gatt2.Error 說明文件。

要求

名稱類型
payload LocalServiceWriteValueRequest

回應

名稱類型
payload LocalService_WriteValue_Result

RemoteService

定義於 fuchsia.bluetooth.gatt2/client.fidl

DiscoverCharacteristics

傳回屬於 這項服務。

要求

<空白>

回應

名稱類型
characteristics vector<Characteristic>[32767]

ReadByType

這個外掛程式能讀取具有指定的 uuid 的特性和描述元。

如要在探索完成前讀取值,這個方法就很實用。 進而減少延遲時間

  • 要求 uuid 要讀取特性/描述元的 UUID。
  • 回應 results 讀取的結果。如果沒有,則可留空 系統會讀取相符值如果讀取值後 權限錯誤,會包含控制代碼和錯誤。
  • 如果 uuid 參照內部,則傳回 INVALID_PARAMETERS 預留的描述元類型 (例如 Client Characteristic) 設定描述元)。
  • 如果讀取的結果超出上限,則傳回 TOO_MANY_RESULTS FIDL 回應。建議閱讀特性/描述 逐一討論這些變化
  • 如果伺服器傳回 FAILURE 以外的錯誤, 一筆結果。

要求

名稱類型
uuid fuchsia.bluetooth/Uuid

回應

名稱類型
payload RemoteService_ReadByType_Result

ReadCharacteristic

使用指定的 handle 讀取特徵值。

  • 要求 handle 要讀取的特性控制代碼。
  • 要求 options 適用於讀取作業的選項。
  • 回應 value 特徵的值。
  • 如果 handle 無效,就會傳回 INVALID_HANDLE
  • 如果 options 無效,就會傳回 INVALID_PARAMETERS
  • 錯誤會傳回 READ_NOT_PERMITTEDINSUFFICIENT_*。 拒絕讀取要求。
  • 如果伺服器傳回錯誤,就會傳回 FAILURE

要求

名稱類型
handle Handle
options ReadOptions

回應

名稱類型
payload RemoteService_ReadCharacteristic_Result

ReadDescriptor

使用 handle 和 傳回的結果

  • 要求 handle 要讀取的描述元控制代碼。
  • 要求 options 適用於讀取作業的選項。
  • 回應 value 描述元的值。
  • 如果 handle 無效,就會傳回 INVALID_HANDLE
  • 如果 options 無效,就會傳回 INVALID_PARAMETERS
  • 錯誤會傳回 READ_NOT_PERMITTEDINSUFFICIENT_*。 拒絕讀取要求。
  • 如果伺服器傳回錯誤,就會傳回 FAILURE

要求

名稱類型
handle Handle
options ReadOptions

回應

名稱類型
payload RemoteService_ReadDescriptor_Result

RegisterCharacteristicNotifier

訂閱通知與模型會向 指定的 handle

系統會根據 特徵屬性如果可行的話,系統會優先採用這些指示 支援。如果特性沒有 「通知」或「表示」資源。

系統會發出寫入要求,藉此設定 通知/指出內含「客戶特性」的通知/標示 設定描述元。如果 寫入描述元

成功之後,可用於在以下情況下使用 notifier 通訊協定接收通知 這位同事會傳送通知或指標給你目前表示 由系統自動確認通訊協定遭到捨棄後,訂閱項目 如果沒有其他本機用戶端收到通知,則可能結束。

  • 要求 handle 特性控制代碼。
  • 要求 notifier,這是用於通知的通訊協定。
  • 如果註冊,系統會立即傳送空白回應 成功。
  • 如果特性不支援,則會傳回 FAILURE 通知或指標
  • 如果 handle 無效,則會傳回 INVALID_HANDLE
  • 錯誤會傳回 WRITE_NOT_PERMITTEDINSUFFICIENT_* 描述元寫入錯誤

要求

名稱類型
handle Handle
notifier CharacteristicNotifier

回應

名稱類型
payload RemoteService_RegisterCharacteristicNotifier_Result

WriteCharacteristic

使用提供的 handle,透過 handlevalue 寫入特徵 options

我們不建議在寫入作業已經完成時傳送額外的寫入作業 (伺服器可能會以任意順序接收同時寫入)。

  • 要求 handle 要寫入的特性。
  • 要求 value 要寫入的值。
  • 要求 options 適用於寫入的選項。
  • 如果有成功回應,則會傳送空白回應 才會從伺服器接收 (或者如果 options.with_response 為 false)
  • 如果 handle 無效,就會傳回 INVALID_HANDLE
  • 如果 options 無效,就會傳回 INVALID_PARAMETERS
  • 如果伺服器發生錯誤,會傳回 WRITE_NOT_PERMITTEDINSUFFICIENT_* 會以理由拒絕寫入要求。
  • 如果伺服器傳回錯誤,就會傳回 FAILURE

要求

名稱類型
handle Handle
value vector<uint8>[512]
options WriteOptions

回應

名稱類型
payload RemoteService_WriteCharacteristic_Result

WriteDescriptor

使用 handlevalue 寫入特徵描述元。 我們不建議在寫入作業已經完成時傳送額外的寫入作業 (伺服器可能會以任意順序接收同時寫入)。

  • 要求 handle 要寫入的描述元處理常式。
  • 要求 value 要寫入的值。
  • 要求 options 適用於寫入的選項。
  • 如果有成功回應,則會傳送空白回應 才會從伺服器接收 (或者如果 options.with_response 為 false)
  • 如果 handle 無效或參照INVALID_HANDLE 內部保留的描述元類型 (例如 特性設定描述元)。
  • 如果 options 無效,就會傳回 INVALID_PARAMETERS
  • 錯誤會傳回 WRITE_NOT_PERMITTEDINSUFFICIENT_*。 會透過拒絕理由拒絕寫入。
  • 如果伺服器傳回錯誤,就會傳回 FAILURE

要求

名稱類型
handle Handle
value vector<uint8>[512]
options WriteOptions

回應

名稱類型
payload RemoteService_WriteDescriptor_Result

伺服器

fuchsia.bluetooth.gatt2/server.fidl 中定義

PublishService

發布指定的 service,供所有遠端同業存取。出版後 該服務的定義為可傳送 INITIAL_VALUE_CHANGED_CREDITS 抵免額 指標/通知

呼叫端必須針對所列特徵和描述元指派不同的控點 info。這些 ID 會用於傳送至 service 的要求。

  • 要求 info 用於定義 GATT 服務的結構。其中包含特性和 以及服務控制代碼,這些描述項目 發布至這個伺服器的所有服務均不得重複。
  • 要求 service 根據記錄的行為提供服務實作 來自 LocalService
  • 回應空白代表服務已成功發布。
  • 如要瞭解可能的失敗模式,請參閱 gatt2.PublishServiceError

要求

名稱類型
info ServiceInfo
service LocalService

回應

名稱類型
payload Server_PublishService_Result

結構

控點

fuchsia.bluetooth.gatt2/types.fidl 中定義

欄位類型說明預設
value uint64 無預設

LocalService_ReadValue_Response

fuchsia.bluetooth.gatt2/server.fidl 中定義

欄位類型說明預設
value vector<uint8>[512] 無預設

LocalService_WriteValue_Response

fuchsia.bluetooth.gatt2/server.fidl 中定義

<空白>

RemoteService_ReadByType_Response

定義於 fuchsia.bluetooth.gatt2/client.fidl

欄位類型說明預設
results vector<ReadByTypeResult>[65535] 無預設

RemoteService_ReadCharacteristic_Response

定義於 fuchsia.bluetooth.gatt2/client.fidl

欄位類型說明預設
value ReadValue 無預設

RemoteService_ReadDescriptor_Response

定義於 fuchsia.bluetooth.gatt2/client.fidl

欄位類型說明預設
value ReadValue 無預設

RemoteService_RegisterCharacteristicNotifier_Response

定義於 fuchsia.bluetooth.gatt2/client.fidl

<空白>

RemoteService_WriteCharacteristic_Response

定義於 fuchsia.bluetooth.gatt2/client.fidl

<空白>

RemoteService_WriteDescriptor_Response

定義於 fuchsia.bluetooth.gatt2/client.fidl

<空白>

Server_PublishService_Response

fuchsia.bluetooth.gatt2/server.fidl 中定義

<空白>

ServiceHandle

fuchsia.bluetooth.gatt2/types.fidl 中定義

欄位類型說明預設
value uint64 無預設

ShortReadOptions

fuchsia.bluetooth.gatt2/types.fidl 中定義

代表閱讀簡短特性或描述元的選項 值。短值指的是單一訊息中的值 至少為 22 個位元組這是空白的預留位置 沒有選項。

<空白>

ENUMS

錯誤 strict

類型:uint32

fuchsia.bluetooth.gatt2/types.fidl 中定義

Bluetoothtooth.gatt2.* 方法傳回的錯誤。

這些值會與藍牙 5.2V 中的值對應。3 Part G 表 3.4, 及補充藍牙核心規格 v9 Part B 表 1.1, 但這僅供參考用戶端不應依賴這些 保持不變的值系統會處理規格中省略的值 而不會傳回給用戶端。

只有 LocalService 方法能傳回特定的錯誤。如有需要, 留言。

名稱說明
1

帳號代碼指定的屬性無效。可能已移除。

LocalService 方法可傳回此方法。

2

無法讀取這個屬性。

3

無法寫入此屬性。

4

表示伺服器收到的回應無效。

5

此屬性需要驗證,但用戶端未經過驗證。

7

表示讀取或寫入要求中使用的位移超過 值的上下限。

LocalService 方法可傳回此方法。

8

此屬性需要授權,但用戶端未獲授權。

12

這項屬性需要由較大的加密金鑰加密的連線。

13

表示寫入要求中的值會超過最大值 預先定義的字元集。

LocalService 方法可傳回此方法。

14

發生一般錯誤,無法歸類為 特定錯誤。

LocalService 方法可傳回此方法。

15

此屬性需要加密,但連線未加密。

17

伺服器的資源不足,無法完成工作。

LocalService 方法可傳回此方法。

19

不允許這個值。

LocalService 方法可傳回此方法。

128

應用程式錯誤。如何在應用程式中指定這些用途 第二,自訂角色只能 套用至專案或機構

這些內容都可以由 LocalService 方法傳回。

129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
252

商家檔案或服務層級的寫入要求遭拒。

253

用戶端特性設定描述元不正確 專案。

254

設定檔或服務程序已在進行中。

255

設定檔或服務層級的值超出範圍。

257

一或多個 FIDL 呼叫參數無效。查看參數 說明文件。

258

表示讀取的結果超過 FIDL 回應的處理上限。 建議個別閱讀屬性。

PublishServiceError 彈性

類型:uint32

fuchsia.bluetooth.gatt2/types.fidl 中定義

服務發布期間可能發生的錯誤。

名稱說明
1

服務控制代碼無效,或已在伺服器發布服務中使用。

2

提供的服務 UUID 無效。

3

ServiceInfo.characteristics」欄位的格式無效或遺漏。如果服務 將為空白,向量應該是空白,但實際上是。

4

發生一般錯誤,因此無法歸類為更明確錯誤。

ServiceKind 嚴格

類型:uint32

fuchsia.bluetooth.gatt2/types.fidl 中定義

藍牙核心規格 v5.3 V 中列出的 GATT 服務種類 (「類型」)。1 第 A 部分 6.5.1:

名稱說明
1

「為裝置提供功能而可獨立使用的服務」(Ibid)

2

一項「服務 [...] 當中, 並包含在至少一項主要服務中(Ibid)

WriteMode 彈性

類型:uint32

fuchsia.bluetooth.gatt2/types.fidl 中定義

代表寫入特性與 複製到伺服器

名稱說明
1

DEFAULT 模式中,等待伺服器回應後再傳回 且不驗證 echo 回應。 同時支援特徵和描述元。

2

RELIABLE 模式中,每個值 blob 都會根據回應驗證 回應。如果值 blob 含有 並未穩定推送給對等節點 僅支援特徵。

3

如果處於WITHOUT_RESPONSE模式,系統不會在下列日期前確認配送狀態: 傳回。僅針對短時間撰寫但不回覆 同時指定 WRITE_WITHOUT_RESPONSE 屬性的特性。這個鍵 都必須包含單一訊息保證至少有 20 個位元組 會分割成單一訊息如果值不適用,則會顯示 FAILURE 會發生什麼錯誤這個值會在位移 0 寫入。 僅支援特徵。

資料表

AttributePermissions

fuchsia.bluetooth.gatt2/types.fidl 中定義

指定特定屬性值的存取權限。

Ordinal欄位類型說明
read SecurityRequirements

指定屬性是否具備讀取權限。如果沒有 系統無法讀取屬性值。否則,只能讀取 滿足「安全性需求條件」表格中指定的權限。

write SecurityRequirements

指定屬性是否具備寫入權限。如果沒有 因此無法寫入屬性值。否則,只能寫入 是否滿足「安全性需求」表格中列出的權限。

update SecurityRequirements

指定用戶端訂閱的安全性需求 向其收集特定特徵的通知或指標某個特性 通知或指示支援時,使用的是 NOTIFY 和 INDICATE 特性屬性。如果地方特色為 這些屬性,就必須使用這個欄位。如果沒有,則這個欄位 。

系統會忽略描述元的欄位。

特色

fuchsia.bluetooth.gatt2/types.fidl 中定義

代表本機或遠端 GATT 特性。

Ordinal欄位類型說明
handle Handle

可在服務中識別這個特性。 如果是當地特徵,指定的帳號代碼不得重複 這項服務中的所有特性和描述元處理常式。

一律顯示在所有人的主畫面上。如果是當地特色,就必須提供這個值。

type fuchsia.bluetooth/Uuid

識別這個特徵類型的 UUID。 一律顯示在所有人的主畫面上。使用當地特色時必須提供。

properties CharacteristicPropertyBits

特性屬性位元欄位。 一律顯示在所有人的主畫面上。使用當地特色時必須提供。

permissions AttributePermissions

這個特徵的屬性權限。遠距工作適用 特性則在未授予使用者權限的情況下,系統才會提供這個值 透過讀取和寫入要求發現錯誤

如果是當地特色,就必須提供這個值。

descriptors vector<Descriptor>[65532]

此特性的描述元。 只會在非空白的情況下提供。如果是當地特色,則為選填。

描述元

fuchsia.bluetooth.gatt2/types.fidl 中定義

代表本機或遠端 GATT 特性描述元。

Ordinal欄位類型說明
handle Handle

可明確識別服務中的這個描述元。 本機描述元指定的帳號代碼不得重複 。

一律顯示在所有人的主畫面上。如為本機描述元,這個值為必要值。

type fuchsia.bluetooth/Uuid

識別這個描述元類型的 UUID。 一律顯示在所有人的主畫面上。如為本機描述元,這個值為必要值。

permissions AttributePermissions

這個描述元的屬性權限。遠距工作適用 描述元,則在有權限要求的情況下,系統才會顯示這個值 透過讀取和寫入要求發現。

如為本機描述元,這個值為必要值。

LocalServicePeerUpdateRequest

fuchsia.bluetooth.gatt2/server.fidl 中定義

Ordinal欄位類型說明
peer_id fuchsia.bluetooth/PeerId
mtu uint16

LocalServiceWriteValueRequest

fuchsia.bluetooth.gatt2/server.fidl 中定義

Ordinal欄位類型說明
peer_id fuchsia.bluetooth/PeerId
handle Handle
offset uint32
value vector<uint8>[512]

LongReadOptions

fuchsia.bluetooth.gatt2/types.fidl 中定義

代表讀取較長特徵或描述元的支援選項 值。長值可能無法容納一個長值 訊息 (大於 22 位元組)。

Ordinal欄位類型說明
offset uint16

開始讀取的位元組。必須小於值的長度。 選用。 預設:0

max_bytes uint16

要讀取的位元組數上限, 選用。 預設值:MAX_VALUE_LENGTH

ReadByTypeResult

定義於 fuchsia.bluetooth.gatt2/client.fidl

RemoteService.ReadByType 傳回的結果。

Ordinal欄位類型說明
handle Handle

特性或描述元控點。

value ReadValue

成功讀取的特徵或描述元值。

error Error

無法讀取該值的原因 (如果讀取後發生錯誤)。

ReadValue

定義於 fuchsia.bluetooth.gatt2/client.fidl

從伺服器接收到的可能遭到截斷值周圍的包裝函式。

Ordinal欄位類型說明
handle Handle

特性或描述元控點。一律顯示在所有人的主畫面上。

value vector<uint8>[512]

特徵或描述元的值。一律顯示在所有人的主畫面上。

maybe_truncated bool

如果 value 可能遭到截斷 (緩衝區內容已完全填入),則為「true」 必須透過伺服器執行)。應使用 ReadCharacteristicReadDescriptor 讀取完整值。 一律顯示在所有人的主畫面上。

SecurityRequirements

fuchsia.bluetooth.gatt2/types.fidl 中定義

代表能產生的加密、驗證和授權權限 指派給特定權限

Ordinal欄位類型說明
encryption_required bool

如為 true,實體連結必須經過加密才能存取。不存在或 false,這個屬性允許未加密的存取權。

authentication_required bool

如果設為 true,實體連結必須通過驗證才能存取這個屬性。不存在或 false,這個屬性允許未經驗證的存取權。

authorization_required bool

如果值為 true,用戶端必須獲得授權才能存取這項屬性。不存在或 false,這個屬性允許未經授權的存取。

ServiceInfo

fuchsia.bluetooth.gatt2/types.fidl 中定義

代表本機或遠端 GATT 服務。

Ordinal欄位類型說明
handle ServiceHandle

這項 GATT 服務的專屬 ID。 如果這個指標代表遠端服務,請一律顯示,在此情況下,每個位置的 傳回此 ServiceInfo 的用戶端。 以在地生活服務來說,此為必填屬性,在發布的所有服務中,均不得重複 單一伺服器執行個體可在其他 ServiceInfo.includes 中使用 PublishService 呼叫,並傳送至發布這項服務的伺服器。

kind ServiceKind

指出這是主要或次要服務。 一律顯示在遠端服務中。如為本地服務,則為選用屬性 預設:ServiceKind::PRIMARY

type fuchsia.bluetooth/Uuid

識別這項服務類型的 UUID。 可能有多項服務使用相同的 UUID。 一律顯示在遠端服務中。在地生活服務的必填屬性。

characteristics vector<Characteristic>[32767]

這項服務的特性。 在地生活服務的必填屬性。遠端服務一律不要顯示。

includes vector<ServiceHandle>[65535]

這項服務所含其他服務的處理方式。 如為本機服務,則為選用元素。不允許遠端服務顯示。 TODO(https://fxbug.dev/42147529):本機服務目前不支援此操作。

ValueChangedParameters

fuchsia.bluetooth.gatt2/server.fidl 中定義

用來指出特徵值從 LocalService 變更為對等點的參數。

Ordinal欄位類型說明
handle Handle

所發出信號的特徵值處理常式。 必要欄位。

value vector<uint8>[512]

特徵的更新值。 使用指示/通知取得高處理量的客戶請注意 (不建議): 雖然靜態限制為 MAX_VALUE_LENGTH,但實際限制取決於具體 LocalService.PeerUpdate 通知的同業設定。超過此值的所有位元組 上限會在內部截斷。 必要欄位。

peer_ids vector<fuchsia.bluetooth/PeerId>

只信號一部分的同類應用程式。 如果沒有出現或空白,表示所有可更新的同類群組都會發出信號。 如果納入此選項,系統只會傳送這份清單中的同類應用程式組合信號。 系統只會向您的同業發送信號,前提是他們須已設定每LocalService.的更新或通知 CharacteristicConfiguration;系統會忽略 peer_ids 中的其他同業。

WriteOptions

fuchsia.bluetooth.gatt2/types.fidl 中定義

代表支援的寫入特徵/描述元值的選項 至伺服器

Ordinal欄位類型說明
write_mode WriteMode

寫入作業的模式。就描述元來說 支援 WriteMode.DEFAULT 選用。 預設值:WriteMode.DEFAULT

offset uint16

要求從指定的位元組開始寫入。 如果 write_modeWriteMode.WITHOUT_RESPONSE,必須為 0 或 0。 選用。 預設:0

聯合國

LocalService_ReadValue_Result 的 嚴格

fuchsia.bluetooth.gatt2/server.fidl 中定義

OrdinalVariant類型說明
response LocalService_ReadValue_Response
err Error

LocalService_WriteValue_Result 嚴格

fuchsia.bluetooth.gatt2/server.fidl 中定義

OrdinalVariant類型說明
response LocalService_WriteValue_Response
err Error

ReadOptions 彈性

fuchsia.bluetooth.gatt2/types.fidl 中定義

代表讀取特徵或描述元的支援選項 值。

OrdinalVariant類型說明
short_read ShortReadOptions

執行可能會截斷 (如 if_truncated 的結果中可能出現) GATT 服務中的大多數讀取作業都是短讀取 (<= 22 個位元組)。

long_read LongReadOptions

如果有出現,請使用指定的選項執行長時間讀取。 選用。 預設:系統會執行簡短的讀取作業。

RemoteService_ReadByType_Result 嚴格

定義於 fuchsia.bluetooth.gatt2/client.fidl

OrdinalVariant類型說明
response RemoteService_ReadByType_Response
err Error

RemoteService_ReadCharacteristic_Result 嚴格

定義於 fuchsia.bluetooth.gatt2/client.fidl

OrdinalVariant類型說明
response RemoteService_ReadCharacteristic_Response
err Error

RemoteService_ReadDescriptor_Result 嚴格

定義於 fuchsia.bluetooth.gatt2/client.fidl

OrdinalVariant類型說明
response RemoteService_ReadDescriptor_Response
err Error

RemoteService_RegisterCharacteristicNotifier_Result 嚴格

定義於 fuchsia.bluetooth.gatt2/client.fidl

OrdinalVariant類型說明
response RemoteService_RegisterCharacteristicNotifier_Response
err Error

RemoteService_WriteCharacteristic_Result 嚴格

定義於 fuchsia.bluetooth.gatt2/client.fidl

OrdinalVariant類型說明
response RemoteService_WriteCharacteristic_Response
err Error

RemoteService_WriteDescriptor_Result 嚴格

定義於 fuchsia.bluetooth.gatt2/client.fidl

OrdinalVariant類型說明
response RemoteService_WriteDescriptor_Response
err Error

Server_PublishService_Result 嚴格

fuchsia.bluetooth.gatt2/server.fidl 中定義

OrdinalVariant類型說明
response Server_PublishService_Response
err PublishServiceError

商業智慧

CharacteristicPropertyBits 嚴格

類型:uint16

fuchsia.bluetooth.gatt2/types.fidl 中定義

特徵屬性 Bitfield 的可能值。用來指定 允許特定特徵使用的 GATT 程序。

名稱說明
1
2
4
8
16
32
64
256
512

觀測站

名稱類型說明
INITIAL_VALUE_CHANGED_CREDITS 10 uint32

指定在特定情況下,可用來傳送指示/通知的抵免額 首次發布 LocalService。

MAX_ATTRIBUTE_COUNT 65535 uint16
MAX_CHARACTERISTIC_COUNT 32767 uint16
MAX_DESCRIPTOR_COUNT 65532 uint16
MAX_SERVICE_COUNT MAX_ATTRIBUTE_COUNT uint16
MAX_VALUE_LENGTH 512 uint16