Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e17a6839 authored by Myles Watson's avatar Myles Watson
Browse files

HCI: Add two-bit filter policy, rename MultiAdvt

Bug: 139080884
Test: bluetooth_test_gd
Change-Id: Ia8e4889d1efcdf10e546c7bcd92f55cfd871e9ba
parent 652ee967
Loading
Loading
Loading
Loading
+30 −13
Original line number Diff line number Diff line
@@ -2203,9 +2203,11 @@ packet LeSetRandomAddressComplete : CommandComplete (command_op_code = LE_SET_RA
  status : ErrorCode,
}

enum AdvertisingFilterPolicy : 1 {
enum AdvertisingFilterPolicy : 2 {
  ALL_DEVICES = 0, // Default
  ONLY_WHITE_LISTED_DEVICES = 1,
  WHITELISTED_SCAN = 1,
  WHITELISTED_CONNECT = 2,
  WHITELISTED_SCAN_AND_CONNECT = 3,
}

enum PeerAddressType : 8 {
@@ -2749,11 +2751,11 @@ packet LeGetVendorCapabilitiesComplete098 : LeGetVendorCapabilitiesComplete096 {
}

enum SubOcf : 8 {
  SET_ADVT_PARAM = 0x01,
  SET_ADVT_DATA = 0x02,
  SET_ADVT_SCAN_RESP = 0x03,
  SET_ADVT_RANDOM_ADDR = 0x04,
  SET_ADVT_ENABLE = 0x05,
  SET_PARAM = 0x01,
  SET_DATA = 0x02,
  SET_SCAN_RESP = 0x03,
  SET_RANDOM_ADDR = 0x04,
  SET_ENABLE = 0x05,
}

packet LeMultiAdvt : LeAdvertisingCommand (op_code = LE_MULTI_ADVT) {
@@ -2761,12 +2763,12 @@ packet LeMultiAdvt : LeAdvertisingCommand (op_code = LE_MULTI_ADVT) {
  _body_,
}

packet LeMultiAdvtParamComplete : CommandComplete (command_op_code = LE_MULTI_ADVT) {
packet LeMultiAdvtComplete : CommandComplete (command_op_code = LE_MULTI_ADVT) {
  status : ErrorCode,
  sub_cmd : SubOcf,
}

packet LeMultiAdvtParam : LeMultiAdvt (sub_cmd = SET_ADVT_PARAM) {
packet LeMultiAdvtParam : LeMultiAdvt (sub_cmd = SET_PARAM) {
  interval_min : 16,
  interval_max : 16,
  type : AdvertisingEventType,
@@ -2780,30 +2782,45 @@ packet LeMultiAdvtParam : LeMultiAdvt (sub_cmd = SET_ADVT_PARAM) {
  tx_power : 8,
}

packet LeMultiAdvtParamSetData : LeMultiAdvt (sub_cmd = SET_ADVT_DATA) {
packet LeMultiAdvtParamComplete : LeMultiAdvtComplete (sub_cmd = SET_PARAM) {
}

packet LeMultiAdvtSetData : LeMultiAdvt (sub_cmd = SET_DATA) {
  _size_(advertising_data) : 8,
  advertising_data : GapData[],
  _padding_[31], // Zero padding to 31 bytes of advertising_data
  advertising_instance : 8,
}

packet LeMultiAdvtParamSetScanResp : LeMultiAdvt (sub_cmd = SET_ADVT_SCAN_RESP) {
packet LeMultiAdvtSetDataComplete : LeMultiAdvtComplete (sub_cmd = SET_DATA) {
}

packet LeMultiAdvtSetScanResp : LeMultiAdvt (sub_cmd = SET_SCAN_RESP) {
  _size_(advertising_data) : 8,
  advertising_data : GapData[],
  _padding_[31], // Zero padding to 31 bytes of advertising_data
  advertising_instance : 8,
}

packet LeMultiAdvtParamSetRandomAddr : LeMultiAdvt (sub_cmd = SET_ADVT_RANDOM_ADDR) {
packet LeMultiAdvtSetScanRespComplete : LeMultiAdvtComplete (sub_cmd = SET_SCAN_RESP) {
}

packet LeMultiAdvtSetRandomAddr : LeMultiAdvt (sub_cmd = SET_RANDOM_ADDR) {
  random_address : Address,
  advertising_instance : 8,
}

packet LeMultiAdvtParamSetEnable : LeMultiAdvt (sub_cmd = SET_ADVT_ENABLE) {
packet LeMultiAdvtSetRandomAddrComplete : LeMultiAdvtComplete (sub_cmd = SET_RANDOM_ADDR) {
}

packet LeMultiAdvtSetEnable : LeMultiAdvt (sub_cmd = SET_ENABLE) {
  advertising_enable : Enable, // Default DISABLED
  advertising_instance : 8,
}

packet LeMultiAdvtSetEnableComplete : LeMultiAdvtComplete (sub_cmd = SET_ENABLE) {
}

packet LeBatchScan : VendorCommand (op_code = LE_BATCH_SCAN) {
  _payload_,  // placeholder (unimplemented)
}