syntax = "proto3";

enum WifiStationState {
    Connected = 0;
    Connecting = 1;
    Disconnected = 2;
    ConnectionFailed = 3;
}

enum WifiConnectFailedReason {
    AuthError = 0;
    WifiNetworkNotFound = 1;
}

enum WifiAuthMode {
    Open = 0;
    WEP  = 1;
    WPA_PSK = 2;
    WPA2_PSK = 3;
    WPA_WPA2_PSK = 4;
    WPA2_ENTERPRISE = 5;
    WPA3_PSK = 6;
    WPA2_WPA3_PSK = 7;
}

message WifiConnectedState {
    string ip4_addr = 1;
    WifiAuthMode auth_mode = 2;
    bytes ssid = 3;
    bytes bssid = 4;
    int32 channel = 5;
}

enum ThreadNetworkState {
    Attached = 0;
    Attaching = 1;
    Dettached = 2;
    AttachingFailed = 3;
}

enum ThreadAttachFailedReason {
    DatasetInvalid = 0;
    ThreadNetworkNotFound = 1;
}

message ThreadAttachState {
    uint32 pan_id = 1;
    bytes ext_pan_id = 2;
    uint32 channel = 3;
    string name = 4;
}
