1syntax = "proto3"; 2 3package bluetooth.hci; 4 5import "google/protobuf/empty.proto"; 6 7service AclManagerFacade { 8 rpc CreateConnection(ConnectionMsg) returns (stream ConnectionEvent) {} 9 rpc CancelConnection(ConnectionMsg) returns (google.protobuf.Empty) {} 10 rpc Disconnect(HandleMsg) returns (google.protobuf.Empty) {} 11 rpc WriteDefaultLinkPolicySettings(PolicyMsg) returns (google.protobuf.Empty) {} 12 rpc AuthenticationRequested(HandleMsg) returns (google.protobuf.Empty) {} 13 rpc ConnectionCommand(ConnectionCommandMsg) returns (google.protobuf.Empty) {} 14 rpc SwitchRole(RoleMsg) returns (google.protobuf.Empty) {} 15 rpc SendAclData(AclData) returns (google.protobuf.Empty) {} 16 rpc FetchAclData(HandleMsg) returns (stream AclData) {} 17 rpc FetchIncomingConnection(google.protobuf.Empty) returns (stream ConnectionEvent) {} 18} 19 20message HandleMsg { 21 uint32 handle = 1; 22} 23 24message ConnectionMsg { 25 bytes address = 1; 26} 27 28message PolicyMsg { 29 uint32 policy = 1; 30} 31 32enum NewRole { 33 CENTRAL = 0; 34 PERIPHERAL = 1; 35} 36 37message RoleMsg { 38 bytes address = 1; 39 NewRole role = 2; 40} 41 42message ConnectionCommandMsg { 43 bytes packet = 1; 44} 45 46message ConnectionEvent { 47 bytes payload = 1; 48} 49 50message AclData { 51 uint32 handle = 1; 52 bytes payload = 2; 53} 54