1syntax = "proto3"; 2 3package bluetooth.hci; 4 5import "google/protobuf/empty.proto"; 6 7service HciLayerFacade { 8 rpc EnqueueCommandWithComplete(CommandMsg) returns (google.protobuf.Empty) {} 9 rpc EnqueueCommandWithStatus(CommandMsg) returns (google.protobuf.Empty) {} 10 rpc RegisterEventHandler(EventCodeMsg) returns (google.protobuf.Empty) {} 11 rpc RegisterLeEventHandler(LeSubeventCodeMsg) returns (google.protobuf.Empty) {} 12 rpc SendAclData(AclMsg) returns (google.protobuf.Empty) {} 13 rpc FetchEvents(google.protobuf.Empty) returns (stream EventMsg) {} 14 rpc FetchLeSubevents(google.protobuf.Empty) returns (stream LeSubeventMsg) {} 15 rpc FetchAclPackets(google.protobuf.Empty) returns (stream AclMsg) {} 16} 17 18message CommandMsg { 19 bytes command = 1; 20} 21 22message EventMsg { 23 bytes event = 1; 24} 25 26message LeSubeventMsg { 27 bytes event = 1; 28} 29 30message AclMsg { 31 uint32 handle = 1; 32 uint32 packet_boundary_flag = 2; 33 uint32 broadcast_flag = 3; 34 bytes data = 4; 35} 36 37message EventCodeMsg { 38 uint32 code = 1; 39} 40 41message LeSubeventCodeMsg { 42 uint32 code = 1; 43} 44