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  MASTER = 0;
34  SLAVE = 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 event = 1;
48}
49
50message AclData {
51  uint32 handle = 1;
52  bytes payload = 2;
53}
54