// Regenerated WHAD 802.15.4 protocol subset for the libcrafter WHAD backend.
// Pin: whad-team/whad-protocol release/v3
// Commit: 82dbbefe5c3a1b3bfa89f86829c8872985a7f27e
//
// Field numbers, enum values, and oneof field numbers are sourced from
// .agents/docs/whad-dot15d4-manifest.md (step 04), which pins the upstream
// definitions at the commit above. These definitions are scope-reduced
// regenerated equivalents (not a verbatim vendored copy) per
// crafter/src/wire/backend/whad/proto/LICENSE-NOTE.md: only the package name,
// command/notification message names, field numbers, enum values, and oneof
// field numbers needed by the host-side sniff/inject backend are preserved.
// Out-of-scope WHAD command surfaces (TSCH, energy detection, jam, MITM) are
// intentionally omitted.
syntax = "proto3";
package dot15d4;
enum Dot15d4Command {
SetNodeAddress = 0;
Sniff = 1;
Jam = 2;
EnergyDetection = 3;
Send = 4;
SendRaw = 5;
EndDeviceMode = 6;
CoordinatorMode = 7;
RouterMode = 8;
Start = 9;
Stop = 10;
ManInTheMiddle = 11;
}
message SniffCmd {
uint32 channel = 1;
}
message SendCmd {
uint32 channel = 1;
bytes pdu = 2;
}
message SendRawCmd {
uint32 channel = 1;
bytes pdu = 2;
uint32 fcs = 3;
}
message StartCmd {}
message StopCmd {}
message RawPduReceived {
uint32 channel = 1;
optional int32 rssi = 2;
optional uint64 timestamp = 3;
bool fcs_validity = 4;
bytes pdu = 5;
uint32 fcs = 6;
optional uint32 lqi = 7;
}
message PduReceived {
uint32 channel = 1;
optional int32 rssi = 2;
optional uint64 timestamp = 3;
bool fcs_validity = 4;
bytes pdu = 5;
optional uint32 lqi = 6;
}
message Message {
oneof msg {
SniffCmd sniff = 2;
SendCmd send = 5;
SendRawCmd send_raw = 6;
StartCmd start = 10;
StopCmd stop = 11;
RawPduReceived raw_pdu = 15;
PduReceived pdu = 16;
}
}