/*
 * Copyright (C) 2022 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

syntax = "proto2";
package android.telephony.qns;

option java_outer_classname = "QnsProtoEnums";
option java_multiple_files = true;

// QNS NetCapability Supported types
enum NetCapability {
    NET_CAPABILITY_MMS = 0;
    NET_CAPABILITY_IMS = 4;
    NET_CAPABILITY_CBS = 5;
    NET_CAPABILITY_XCAP = 9;
    NET_CAPABILITY_EIMS = 10;
}

// QNS Access Network Type
enum AccessNetworkType {
    EMPTY = -1;
    UNKNOWN = 0;
    GERAN = 1;
    UTRAN = 2;
    EUTRAN = 3;
    CDMA2000 = 4;
    IWLAN = 5;
    NGRAN = 6;
}

// QNS Transport Type
enum TransportType {
    TRANSPORT_TYPE_INVALID = -1;
    TRANSPORT_TYPE_WWAN = 1;
    TRANSPORT_TYPE_WLAN = 2;
}

// QNS IWLAN Network Type
enum IwlanNetworkType {
    IWLAN_NETWORK_TYPE_NONE = -1;
    IWLAN_NETWORK_TYPE_WIFI = 1;
    IWLAN_NETWORK_TYPE_CST = 2;
}

// QNS Wfc Mode
enum WfcMode {
    WFC_MODE_UNKNOWN = 0;
    WIFI_ONLY = 1;
    CELLULAR_PREFERRED = 2;
    WIFI_PREFERRED = 3;
}

// QNS Restrict Type
enum RestrictType {
    RESTRICT_TYPE_NONE = 0; // 0
    RESTRICT_TYPE_GUARDING = 0x0001; // 1 << 0
    RESTRICT_TYPE_THROTTLING = 0x0002; // 1 << 1
    RESTRICT_TYPE_HO_NOT_ALLOWED = 0x0004; // 1 << 2
    RESTRICT_TYPE_NON_PREFERRED_TRANSPORT = 0x0008; // 1 << 3
    RESTRICT_TYPE_RTP_LOW_QUALITY = 0x0010; // 1 << 4
    RESTRICT_TYPE_RESTRICT_IWLAN_IN_CALL = 0x0020; // 1 << 5
    RESTRICT_TYPE_RESTRICT_IWLAN_CS_CALL = 0x0040; // 1 << 6
    RESTRICT_TYPE_FALLBACK_TO_WWAN_IMS_REGI_FAIL = 0x0080; // 1 << 7
    RESTRICT_TYPE_FALLBACK_ON_DATA_CONNECTION_FAIL = 0x0100; // 1 << 8
    RESTRICT_TYPE_FALLBACK_TO_WWAN_RTT_BACKHAUL_FAIL = 0x0200; // 1 << 9
}
