1# Copyright (c) 2013 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5
6class APConfiguratorConfig(object):
7    """Parameters to configure a APConfigurator."""
8
9    BAND_2GHZ = '2.4GHz'
10    BAND_5GHZ = '5GHz'
11
12    # List of valid 802.11 protocols (modes).
13    MODE_A = 0x00001
14    MODE_B = 0x00010
15    MODE_G = 0x00100
16    MODE_N = 0x01000
17    MODE_AC = 0x10000
18    MODE_AUTO = 0x100000
19    MODE_M = 0x0111  # Used for standard maintenance
20    MODE_D = 0x1011  # International roaming extensions
21    SECURITY_TYPE_DISABLED = 'disabled'
22    SECURITY_TYPE_WEP = 'wep'
23    SECURITY_TYPE_WPAPSK = 'wpa-psk'
24    SECURITY_TYPE_WPA2PSK = 'wpa2-psk'
25
26    WEP_AUTHENTICATION_OPEN = 'open'
27    WEP_AUTHENTICATION_SHARED = 'shared'
28    # List of valid bands.
29    VALID_BANDS = [BAND_2GHZ, BAND_5GHZ]
30
31    # List of valid modes.
32    VALID_MODES = [MODE_A, MODE_AC, MODE_AUTO, MODE_B, MODE_D, MODE_G, MODE_M,
33                   MODE_N]
34
35
36    # List of valid securities.
37    VALID_SECURITIES = [SECURITY_TYPE_DISABLED,
38                        SECURITY_TYPE_WEP,
39                        SECURITY_TYPE_WPAPSK,
40                        SECURITY_TYPE_WPA2PSK]
41
42