blob: a80e6481ec5052352e7aa9a19b21e1fd3f9adbe7 [file] [log] [blame]
syntax = "proto3";
package bluetooth.l2cap.classic.cert;
import "google/protobuf/empty.proto";
import "facade/common.proto";
service L2capClassicModuleCert {
rpc SendL2capPacket(L2capPacket) returns (google.protobuf.Empty) {}
rpc SendIFrame(IFrame) returns (SendIFrameResult) {}
rpc SendSFrame(SFrame) returns (SendSFrameResult) {}
rpc SetupLink(SetupLinkRequest) returns (SetupLinkResponse) {}
rpc DisconnectLink(DisconnectLinkRequest) returns (google.protobuf.Empty) {}
rpc SendConnectionRequest(ConnectionRequest) returns (google.protobuf.Empty) {}
rpc SendConnectionResponse(ConnectionResponse) returns (SendConnectionResponseResult) {}
rpc SendConfigurationRequest(ConfigurationRequest) returns (SendConfigurationRequestResult) {}
rpc SendConfigurationResponse(ConfigurationResponse) returns (SendConfigurationResponseResult) {}
rpc SendDisconnectionRequest(DisconnectionRequest) returns (google.protobuf.Empty) {}
rpc SendDisconnectionResponse(DisconnectionResponse) returns (SendDisconnectionResponseResult) {}
rpc SendInformationRequest(InformationRequest) returns (SendInformationRequestResult) {}
rpc SendInformationResponse(InformationResponse) returns (SendInformationResponseResult) {}
rpc FetchL2capLog(FetchL2capLogRequest) returns (stream FetchL2capLogResponse) {}
rpc StopFetchingL2capLog(StopFetchingL2capLogRequest) returns (StopFetchingL2capLogResponse) {}
}
message L2capPacket {
facade.BluetoothAddress remote = 1;
uint32 channel = 2;
bytes payload = 3;
}
message IFrame {
facade.BluetoothAddress remote = 1;
uint32 channel = 2;
uint32 sar = 3;
uint32 tx_seq = 4;
uint32 req_seq = 5;
uint32 f = 6;
uint32 sdu_size = 7;
bytes information = 8;
}
message SendIFrameResult {}
message SFrame {
facade.BluetoothAddress remote = 1;
uint32 channel = 2;
uint32 req_seq = 3;
uint32 f = 4;
uint32 p = 5;
uint32 s = 6;
}
message SendSFrameResult {}
message DisconnectLinkRequest {
facade.BluetoothAddress remote = 1;
}
message SetupLinkRequest {
facade.BluetoothAddress remote = 1;
}
message SetupLinkResponse {}
message ConnectionRequest {
facade.BluetoothAddress remote = 1;
uint32 psm = 2;
uint32 scid = 3;
uint32 signal_id = 4;
}
message ConnectionResponse {
facade.BluetoothAddress remote = 1;
uint32 dcid = 2;
uint32 scid = 3;
uint32 signal_id = 4;
}
message SendConnectionResponseResult {}
enum ChannelRetransmissionFlowControlMode {
BASIC = 0;
ERTM = 3;
STREAM = 4;
}
message ChannelRetransmissionFlowControlConfig {
ChannelRetransmissionFlowControlMode mode = 1;
uint32 tx_window = 2;
uint32 max_transmit = 3;
uint32 retransmit_timeout = 4;
uint32 monitor_timeout = 5;
uint32 mps = 6;
}
message ConfigurationRequest {
uint32 dcid = 1;
uint32 signal_id = 2;
uint32 mtu = 3;
ChannelRetransmissionFlowControlConfig retransmission_config = 4;
bool fcs = 5;
}
message SendConfigurationRequestResult {}
message ConfigurationResponse {
uint32 scid = 1;
uint32 signal_id = 2;
uint32 mtu = 3;
ChannelRetransmissionFlowControlConfig retransmission_config = 4;
bool fcs = 5;
}
message SendConfigurationResponseResult {}
message DisconnectionRequest {
facade.BluetoothAddress remote = 1;
uint32 dcid = 2;
uint32 scid = 3;
uint32 signal_id = 4;
}
message DisconnectionResponse {
facade.BluetoothAddress remote = 1;
uint32 dcid = 2;
uint32 scid = 3;
uint32 signal_id = 4;
}
message SendDisconnectionResponseResult {}
enum InformationRequestType {
CONNECTIONLESS_MTU = 0;
EXTENDED_FEATURES = 1;
FIXED_CHANNELS = 2;
}
message InformationRequest {
InformationRequestType type = 1;
uint32 signal_id = 4;
}
message SendInformationRequestResult {}
message InformationResponse {
InformationRequestType type = 1;
uint32 data = 2;
uint32 signal_id = 3;
uint32 information_value = 4;
}
message SendInformationResponseResult {}
message FetchL2capLogRequest {}
message CommandReject {
uint32 signal_id = 1;
uint32 reason = 2;
}
message EchoRequest {
uint32 signal_id = 1;
string data = 2;
}
message EchoResponse {
uint32 signal_id = 1;
string data = 2;
}
message LinkUp {
facade.BluetoothAddress remote = 1;
}
message LinkDown {
facade.BluetoothAddress remote = 1;
}
message FetchL2capLogResponse {
oneof response {
L2capPacket data_packet = 1;
CommandReject command_reject = 2;
ConnectionRequest connection_request = 3;
ConnectionResponse connection_response = 4;
ConfigurationRequest configuration_request = 5;
ConfigurationResponse configuration_response = 6;
DisconnectionRequest disconnection_request = 7;
DisconnectionResponse disconnection_response = 8;
EchoRequest echo_request = 9;
EchoResponse echo_response = 10;
InformationRequest information_request = 11;
InformationResponse information_response = 12;
LinkUp link_up = 20;
LinkDown link_down = 21;
}
}
message StopFetchingL2capLogRequest {}
message StopFetchingL2capLogResponse {}