syntax = "proto3";

package api;

option go_package = "github.com/chirpstack/chirpstack/api/go/v4/api";
option java_package = "io.chirpstack.api";
option java_multiple_files = true;
option java_outer_classname = "FrameLogProto";
option csharp_namespace = "Chirpstack.Api";

import "google/protobuf/timestamp.proto";
import "common/common.proto";
import "gw/gw.proto";

message UplinkFrameLog {
    // PHYPayload.
    bytes phy_payload = 1;

    // TX meta-data.
    gw.UplinkTxInfo tx_info = 2;

    // RX meta-data.
    repeated gw.UplinkRxInfo rx_info = 3;

    // Message type.
    common.MType m_type = 4;

    // Device address (optional).
    string dev_addr = 5;

    // Device EUI (optional).
    string dev_eui = 6;

    // Time.
    google.protobuf.Timestamp time = 7;

    // Plaintext mac-commands.
    bool plaintext_mac_commands = 8;
}

message DownlinkFrameLog {
    // Time.
    google.protobuf.Timestamp time = 1;

    // PHYPayload.
    bytes phy_payload = 2;

    // TX meta-data.
    gw.DownlinkTxInfo tx_info = 3;

    // Downlink ID.
    uint32 downlink_id = 4;

    // Gateway ID (EUI64).
    string gateway_id = 5;

    // Message type.
    common.MType m_type = 6;

    // Device address (optional).
    string dev_addr = 7;

    // Device EUI (optional).
    string dev_eui = 8;

    // Plaintext mac-commands.
    bool plaintext_mac_commands = 9;
}
