1syntax = "proto3"; 2 3package bluetooth.hci.facade; 4 5import "google/protobuf/empty.proto"; 6import "facade/common.proto"; 7 8service LeAdvertisingManagerFacade { 9 rpc CreateAdvertiser(CreateAdvertiserRequest) returns (CreateAdvertiserResponse) {} 10 rpc ExtendedCreateAdvertiser(ExtendedCreateAdvertiserRequest) returns (ExtendedCreateAdvertiserResponse) {} 11 rpc GetNumberOfAdvertisingInstances(google.protobuf.Empty) returns (GetNumberOfAdvertisingInstancesResponse) {} 12 rpc RemoveAdvertiser(RemoveAdvertiserRequest) returns (google.protobuf.Empty) {} 13} 14 15message GapDataMsg { 16 bytes data = 1; 17} 18 19enum AdvertisingEventType { 20 ADV_IND = 0x0; 21 ADV_DIRECT_IND = 0x1; 22 ADV_SCAN_IND = 0x2; 23 ADV_NONCONN_IND = 0x3; 24 ADV_DIRECT_IND_LOW = 0x4; 25} 26 27enum AdvertisingFilterPolicy { 28 ALL_DEVICES = 0x0; 29 LISTED_SCAN = 0x1; 30 LISTED_CONNECT = 0x2; 31 LISTED_SCAN_AND_CONNECT = 0x3; 32}; 33 34message AdvertisingConfig { 35 repeated GapDataMsg advertisement = 1; 36 repeated GapDataMsg scan_response = 2; 37 // Unit: number of Bluetooth slots in 0.125 ms increment 38 int32 interval_min = 4; 39 // Unit: number of Bluetooth slots in 0.125 ms increment 40 int32 interval_max = 5; 41 AdvertisingEventType event_type = 6; 42 bluetooth.facade.BluetoothAddressTypeEnum address_type = 7; 43 bluetooth.facade.BluetoothPeerAddressTypeEnum peer_address_type = 8; 44 bluetooth.facade.BluetoothAddress peer_address = 9; 45 int32 channel_map = 10; 46 AdvertisingFilterPolicy filter_policy = 11; 47 int32 tx_power = 12; 48} 49 50message ExtendedAdvertisingConfig { 51 AdvertisingConfig advertising_config = 1; 52 bool connectable = 2; 53 bool scannable = 3; 54 bool directed = 4; 55 bool high_duty_directed_connectable = 5; 56 bool legacy_pdus = 6; 57 bool anonymous = 7; 58 bool include_tx_power = 8; 59 bool use_le_coded_phy = 9; 60 int32 secondary_map_skip = 10; 61 int32 secondary_advertising_phy = 11; 62 int32 sid = 12; 63 bool enable_scan_request_notification = 13; 64} 65 66message CreateAdvertiserRequest { 67 AdvertisingConfig config = 1; 68} 69 70message CreateAdvertiserResponse { 71 // -1 on error 72 int32 advertiser_id = 1; 73} 74 75message ExtendedCreateAdvertiserRequest { 76 ExtendedAdvertisingConfig config = 1; 77} 78 79message ExtendedCreateAdvertiserResponse { 80 int32 advertiser_id = 1; 81} 82 83message GetNumberOfAdvertisingInstancesResponse { 84 int32 num_advertising_instances = 1; 85} 86 87message RemoveAdvertiserRequest { 88 int32 advertiser_id = 1; 89} 90