| // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef CHROME_BROWSER_CHROMEOS_CROS_NETWORK_CONSTANTS_H_ |
| #define CHROME_BROWSER_CHROMEOS_CROS_NETWORK_CONSTANTS_H_ |
| |
| namespace chromeos { |
| |
| // This enumerates the various property indices that can be found in a |
| // dictionary being parsed. |
| enum PropertyIndex { |
| PROPERTY_INDEX_ACTIVATE_OVER_NON_CELLULAR_NETWORK, |
| PROPERTY_INDEX_ACTIVATION_STATE, |
| PROPERTY_INDEX_ACTIVE_PROFILE, |
| PROPERTY_INDEX_ARP_GATEWAY, |
| PROPERTY_INDEX_AUTHENTICATION, |
| PROPERTY_INDEX_AUTO_CONNECT, |
| PROPERTY_INDEX_AVAILABLE_TECHNOLOGIES, |
| PROPERTY_INDEX_CARRIER, |
| PROPERTY_INDEX_CELLULAR_ALLOW_ROAMING, |
| PROPERTY_INDEX_CELLULAR_APN, |
| PROPERTY_INDEX_CELLULAR_APN_LIST, |
| PROPERTY_INDEX_CELLULAR_LAST_GOOD_APN, |
| PROPERTY_INDEX_CHECK_PORTAL, |
| PROPERTY_INDEX_CHECK_PORTAL_LIST, |
| PROPERTY_INDEX_CONNECTABLE, |
| PROPERTY_INDEX_CONNECTED_TECHNOLOGIES, |
| PROPERTY_INDEX_CONNECTIVITY_STATE, |
| PROPERTY_INDEX_DEFAULT_TECHNOLOGY, |
| PROPERTY_INDEX_DEVICE, |
| PROPERTY_INDEX_DEVICES, |
| PROPERTY_INDEX_EAP, |
| PROPERTY_INDEX_EAP_ANONYMOUS_IDENTITY, |
| PROPERTY_INDEX_EAP_CA_CERT_ID, |
| PROPERTY_INDEX_EAP_CA_CERT_PEM, |
| PROPERTY_INDEX_EAP_CERT_ID, |
| PROPERTY_INDEX_EAP_CLIENT_CERT, |
| PROPERTY_INDEX_EAP_CLIENT_CERT_NSS, |
| PROPERTY_INDEX_EAP_CLIENT_CERT_PATTERN, |
| PROPERTY_INDEX_EAP_IDENTITY, |
| PROPERTY_INDEX_EAP_KEY_ID, |
| PROPERTY_INDEX_EAP_KEY_MGMT, |
| PROPERTY_INDEX_EAP_METHOD, |
| PROPERTY_INDEX_EAP_PASSWORD, |
| PROPERTY_INDEX_EAP_PHASE_2_AUTH, |
| PROPERTY_INDEX_EAP_PIN, |
| PROPERTY_INDEX_EAP_PRIVATE_KEY, |
| PROPERTY_INDEX_EAP_PRIVATE_KEY_PASSWORD, |
| PROPERTY_INDEX_EAP_USE_SYSTEM_CAS, |
| PROPERTY_INDEX_ENABLED_TECHNOLOGIES, |
| PROPERTY_INDEX_ERROR, |
| PROPERTY_INDEX_ESN, |
| PROPERTY_INDEX_FAVORITE, |
| PROPERTY_INDEX_FIRMWARE_REVISION, |
| PROPERTY_INDEX_FOUND_NETWORKS, |
| PROPERTY_INDEX_GUID, |
| PROPERTY_INDEX_HARDWARE_REVISION, |
| PROPERTY_INDEX_HOME_PROVIDER, |
| PROPERTY_INDEX_HOST, |
| PROPERTY_INDEX_ICCID, |
| PROPERTY_INDEX_IDENTITY, |
| PROPERTY_INDEX_IMEI, |
| PROPERTY_INDEX_IMSI, |
| PROPERTY_INDEX_IPSEC_AUTHENTICATIONTYPE, |
| PROPERTY_INDEX_IPSEC_IKEVERSION, |
| PROPERTY_INDEX_ISSUER_SUBJECT_PATTERN_COMMON_NAME, |
| PROPERTY_INDEX_ISSUER_SUBJECT_PATTERN_LOCALITY, |
| PROPERTY_INDEX_ISSUER_SUBJECT_PATTERN_ORGANIZATION, |
| PROPERTY_INDEX_ISSUER_SUBJECT_PATTERN_ORGANIZATIONAL_UNIT, |
| PROPERTY_INDEX_IS_ACTIVE, |
| PROPERTY_INDEX_L2TPIPSEC_CA_CERT_PEM, |
| PROPERTY_INDEX_L2TPIPSEC_CLIENT_CERT_ID, |
| PROPERTY_INDEX_L2TPIPSEC_CLIENT_CERT_SLOT, |
| PROPERTY_INDEX_L2TPIPSEC_GROUP_NAME, |
| PROPERTY_INDEX_L2TPIPSEC_PASSWORD, |
| PROPERTY_INDEX_L2TPIPSEC_PIN, |
| PROPERTY_INDEX_L2TPIPSEC_PSK, |
| PROPERTY_INDEX_L2TPIPSEC_PSK_REQUIRED, |
| PROPERTY_INDEX_L2TPIPSEC_USER, |
| PROPERTY_INDEX_MANUFACTURER, |
| PROPERTY_INDEX_MDN, |
| PROPERTY_INDEX_MEID, |
| PROPERTY_INDEX_MIN, |
| PROPERTY_INDEX_MODEL_ID, |
| PROPERTY_INDEX_NAME, |
| PROPERTY_INDEX_NETWORKS, |
| PROPERTY_INDEX_NETWORK_TECHNOLOGY, |
| PROPERTY_INDEX_OFFLINE_MODE, |
| PROPERTY_INDEX_OLP, |
| PROPERTY_INDEX_OLP_URL, |
| PROPERTY_INDEX_OPEN_VPN_AUTH, |
| PROPERTY_INDEX_OPEN_VPN_AUTHNOCACHE, |
| PROPERTY_INDEX_OPEN_VPN_AUTHRETRY, |
| PROPERTY_INDEX_OPEN_VPN_AUTHUSERPASS, |
| PROPERTY_INDEX_OPEN_VPN_CA_CERT_PEM, |
| PROPERTY_INDEX_OPEN_VPN_CERT, |
| PROPERTY_INDEX_OPEN_VPN_CIPHER, |
| PROPERTY_INDEX_OPEN_VPN_CLIENT_CERT_ID, |
| PROPERTY_INDEX_OPEN_VPN_CLIENT_CERT_SLOT, |
| PROPERTY_INDEX_OPEN_VPN_COMPLZO, |
| PROPERTY_INDEX_OPEN_VPN_COMPNOADAPT, |
| PROPERTY_INDEX_OPEN_VPN_KEYDIRECTION, |
| PROPERTY_INDEX_OPEN_VPN_MGMT_ENABLE, |
| PROPERTY_INDEX_OPEN_VPN_NSCERTTYPE, |
| PROPERTY_INDEX_OPEN_VPN_OTP, |
| PROPERTY_INDEX_OPEN_VPN_PASSWORD, |
| PROPERTY_INDEX_OPEN_VPN_PIN, |
| PROPERTY_INDEX_OPEN_VPN_PKCS11_PROVIDER, |
| PROPERTY_INDEX_OPEN_VPN_PORT, |
| PROPERTY_INDEX_OPEN_VPN_PROTO, |
| PROPERTY_INDEX_OPEN_VPN_PUSHPEERINFO, |
| PROPERTY_INDEX_OPEN_VPN_REMOTECERTEKU, |
| PROPERTY_INDEX_OPEN_VPN_REMOTECERTKU, |
| PROPERTY_INDEX_OPEN_VPN_REMOTECERTTLS, |
| PROPERTY_INDEX_OPEN_VPN_RENEGSEC, |
| PROPERTY_INDEX_OPEN_VPN_SERVERPOLLTIMEOUT, |
| PROPERTY_INDEX_OPEN_VPN_SHAPER, |
| PROPERTY_INDEX_OPEN_VPN_STATICCHALLENGE, |
| PROPERTY_INDEX_OPEN_VPN_TLSAUTHCONTENTS, |
| PROPERTY_INDEX_OPEN_VPN_TLSREMOTE, |
| PROPERTY_INDEX_OPEN_VPN_USER, |
| PROPERTY_INDEX_OPERATOR_CODE, |
| PROPERTY_INDEX_OPERATOR_NAME, |
| PROPERTY_INDEX_OUT_OF_CREDITS, |
| PROPERTY_INDEX_PASSPHRASE, |
| PROPERTY_INDEX_PASSPHRASE_REQUIRED, |
| PROPERTY_INDEX_PORTAL_URL, |
| PROPERTY_INDEX_POWERED, |
| PROPERTY_INDEX_PRIORITY, |
| PROPERTY_INDEX_PRL_VERSION, |
| PROPERTY_INDEX_PROFILE, |
| PROPERTY_INDEX_PROFILES, |
| PROPERTY_INDEX_PROVIDER, |
| PROPERTY_INDEX_PROVIDER_HOST, |
| PROPERTY_INDEX_PROVIDER_REQUIRES_ROAMING, |
| PROPERTY_INDEX_PROVIDER_TYPE, |
| PROPERTY_INDEX_ROAMING_STATE, |
| PROPERTY_INDEX_SAVE_CREDENTIALS, |
| PROPERTY_INDEX_SCANNING, |
| PROPERTY_INDEX_SECURITY, |
| PROPERTY_INDEX_SELECTED_NETWORK, |
| PROPERTY_INDEX_SERVICES, |
| PROPERTY_INDEX_SERVICE_WATCH_LIST, |
| PROPERTY_INDEX_SERVING_OPERATOR, |
| PROPERTY_INDEX_SIGNAL_STRENGTH, |
| PROPERTY_INDEX_SIM_LOCK, |
| PROPERTY_INDEX_SIM_PRESENT, |
| PROPERTY_INDEX_SSID, |
| PROPERTY_INDEX_STATE, |
| PROPERTY_INDEX_SUPPORT_NETWORK_SCAN, |
| PROPERTY_INDEX_SUPPORTED_CARRIERS, |
| PROPERTY_INDEX_TECHNOLOGY_FAMILY, |
| PROPERTY_INDEX_TYPE, |
| PROPERTY_INDEX_UI_DATA, |
| PROPERTY_INDEX_UNINITIALIZED_TECHNOLOGIES, |
| PROPERTY_INDEX_UNKNOWN, |
| PROPERTY_INDEX_USAGE_URL, |
| PROPERTY_INDEX_VPN_DOMAIN, |
| PROPERTY_INDEX_WIFI_AUTH_MODE, |
| PROPERTY_INDEX_WIFI_BSSID, |
| PROPERTY_INDEX_WIFI_FREQUENCY, |
| PROPERTY_INDEX_WIFI_HEX_SSID, |
| PROPERTY_INDEX_WIFI_HIDDEN_SSID, |
| PROPERTY_INDEX_WIFI_PHY_MODE |
| }; |
| |
| // Connection enums (see flimflam/include/service.h) |
| enum ConnectionType { |
| TYPE_UNKNOWN = 0, |
| TYPE_ETHERNET = 1, |
| TYPE_WIFI = 2, |
| TYPE_WIMAX = 3, |
| TYPE_BLUETOOTH = 4, |
| TYPE_CELLULAR = 5, |
| TYPE_VPN = 6, |
| }; |
| |
| enum ConnectionSecurity { |
| SECURITY_UNKNOWN = 0, |
| SECURITY_NONE = 1, |
| SECURITY_WEP = 2, |
| SECURITY_WPA = 3, |
| SECURITY_RSN = 4, |
| SECURITY_8021X = 5, |
| SECURITY_PSK = 6, |
| }; |
| |
| enum ConnectionState { |
| STATE_UNKNOWN = 0, |
| STATE_IDLE = 1, |
| STATE_CARRIER = 2, |
| STATE_ASSOCIATION = 3, |
| STATE_CONFIGURATION = 4, |
| STATE_READY = 5, |
| STATE_DISCONNECT = 6, |
| STATE_FAILURE = 7, |
| STATE_ACTIVATION_FAILURE = 8, |
| STATE_PORTAL = 9, |
| STATE_ONLINE = 10, |
| STATE_CONNECT_REQUESTED = 11, // Chrome only state |
| }; |
| |
| // Chrome only state set for user initiated connection attempts. |
| enum UserConnectState { |
| USER_CONNECT_NONE = 0, |
| USER_CONNECT_STARTED = 1, |
| USER_CONNECT_CONNECTED = 2, |
| USER_CONNECT_FAILED = 3 |
| }; |
| |
| // Network enums (see flimflam/include/network.h) |
| enum NetworkTechnology { |
| NETWORK_TECHNOLOGY_UNKNOWN = 0, |
| NETWORK_TECHNOLOGY_1XRTT = 1, |
| NETWORK_TECHNOLOGY_EVDO = 2, |
| NETWORK_TECHNOLOGY_GPRS = 3, |
| NETWORK_TECHNOLOGY_EDGE = 4, |
| NETWORK_TECHNOLOGY_UMTS = 5, |
| NETWORK_TECHNOLOGY_HSPA = 6, |
| NETWORK_TECHNOLOGY_HSPA_PLUS = 7, |
| NETWORK_TECHNOLOGY_LTE = 8, |
| NETWORK_TECHNOLOGY_LTE_ADVANCED = 9, |
| NETWORK_TECHNOLOGY_GSM = 10, |
| }; |
| |
| enum ActivationState { |
| ACTIVATION_STATE_UNKNOWN = 0, |
| ACTIVATION_STATE_ACTIVATED = 1, |
| ACTIVATION_STATE_ACTIVATING = 2, |
| ACTIVATION_STATE_NOT_ACTIVATED = 3, |
| ACTIVATION_STATE_PARTIALLY_ACTIVATED = 4, |
| }; |
| |
| enum NetworkRoamingState { |
| ROAMING_STATE_UNKNOWN = 0, |
| ROAMING_STATE_HOME = 1, |
| ROAMING_STATE_ROAMING = 2, |
| }; |
| |
| // Device enums (see flimflam/include/device.h) |
| enum TechnologyFamily { |
| TECHNOLOGY_FAMILY_UNKNOWN = 0, |
| TECHNOLOGY_FAMILY_CDMA = 1, |
| TECHNOLOGY_FAMILY_GSM = 2 |
| }; |
| |
| // Type of a pending SIM operation. |
| enum SimOperationType { |
| SIM_OPERATION_NONE = 0, |
| SIM_OPERATION_CHANGE_PIN = 1, |
| SIM_OPERATION_CHANGE_REQUIRE_PIN = 2, |
| SIM_OPERATION_ENTER_PIN = 3, |
| SIM_OPERATION_UNBLOCK_PIN = 4, |
| }; |
| |
| // SIMLock states (see gobi-cromo-plugin/gobi_gsm_modem.cc) |
| enum SimLockState { |
| SIM_UNKNOWN = 0, |
| SIM_UNLOCKED = 1, |
| SIM_LOCKED_PIN = 2, |
| SIM_LOCKED_PUK = 3, // also when SIM is blocked, then retries = 0. |
| }; |
| |
| // SIM PinRequire states. |
| // SIM_PIN_REQUIRE_UNKNOWN - SIM card is absent or SimLockState initial value |
| // hasn't been received yet. |
| // SIM_PIN_REQUIRED - SIM card is locked when booted/wake from sleep and |
| // requires user to enter PIN. |
| // SIM_PIN_NOT_REQUIRED - SIM card is unlocked all the time and requires PIN |
| // only on certain operations, such as ChangeRequirePin, ChangePin, EnterPin. |
| enum SimPinRequire { |
| SIM_PIN_REQUIRE_UNKNOWN = 0, |
| SIM_PIN_NOT_REQUIRED = 1, |
| SIM_PIN_REQUIRED = 2, |
| }; |
| |
| // Any PIN operation result (EnterPin, UnblockPin etc.). |
| enum PinOperationError { |
| PIN_ERROR_NONE = 0, |
| PIN_ERROR_UNKNOWN = 1, |
| PIN_ERROR_INCORRECT_CODE = 2, // Either PIN/PUK specified is incorrect. |
| PIN_ERROR_BLOCKED = 3, // No more PIN retries left, SIM is blocked. |
| }; |
| |
| // connection errors (see flimflam/include/service.h) |
| enum ConnectionError { |
| ERROR_NO_ERROR = 0, |
| ERROR_OUT_OF_RANGE = 1, |
| ERROR_PIN_MISSING = 2, |
| ERROR_DHCP_FAILED = 3, |
| ERROR_CONNECT_FAILED = 4, |
| ERROR_BAD_PASSPHRASE = 5, |
| ERROR_BAD_WEPKEY = 6, |
| ERROR_ACTIVATION_FAILED = 7, |
| ERROR_NEED_EVDO = 8, |
| ERROR_NEED_HOME_NETWORK = 9, |
| ERROR_OTASP_FAILED = 10, |
| ERROR_AAA_FAILED = 11, |
| ERROR_INTERNAL = 12, |
| ERROR_DNS_LOOKUP_FAILED = 13, |
| ERROR_HTTP_GET_FAILED = 14, |
| ERROR_IPSEC_PSK_AUTH_FAILED = 15, |
| ERROR_IPSEC_CERT_AUTH_FAILED = 16, |
| ERROR_PPP_AUTH_FAILED = 17, |
| ERROR_EAP_AUTHENTICATION_FAILED = 18, |
| ERROR_EAP_LOCAL_TLS_FAILED = 19, |
| ERROR_EAP_REMOTE_TLS_FAILED = 20, |
| ERROR_UNKNOWN = 255 |
| }; |
| |
| // We are currently only supporting setting a single EAP Method. |
| enum EAPMethod { |
| EAP_METHOD_UNKNOWN = 0, |
| EAP_METHOD_PEAP = 1, |
| EAP_METHOD_TLS = 2, |
| EAP_METHOD_TTLS = 3, |
| EAP_METHOD_LEAP = 4 |
| }; |
| |
| // We are currently only supporting setting a single EAP phase 2 authentication. |
| enum EAPPhase2Auth { |
| EAP_PHASE_2_AUTH_AUTO = 0, |
| EAP_PHASE_2_AUTH_MD5 = 1, |
| EAP_PHASE_2_AUTH_MSCHAPV2 = 2, |
| EAP_PHASE_2_AUTH_MSCHAP = 3, |
| EAP_PHASE_2_AUTH_PAP = 4, |
| EAP_PHASE_2_AUTH_CHAP = 5 |
| }; |
| |
| // Misc enums |
| enum NetworkProfileType { |
| PROFILE_NONE, // Not in any profile (not remembered). |
| PROFILE_SHARED, // In the local profile, shared by all users on device. |
| PROFILE_USER // In the user provile, not visible to other users. |
| }; |
| |
| // Virtual Network provider type. |
| enum ProviderType { |
| PROVIDER_TYPE_L2TP_IPSEC_PSK, |
| PROVIDER_TYPE_L2TP_IPSEC_USER_CERT, |
| PROVIDER_TYPE_OPEN_VPN, |
| // Add new provider types before PROVIDER_TYPE_MAX. |
| PROVIDER_TYPE_MAX, |
| }; |
| |
| } // namespace chromeos |
| |
| #endif // CHROME_BROWSER_CHROMEOS_CROS_NETWORK_CONSTANTS_H_ |