1// Copyright 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#ifndef COMPONENTS_ONC_ONC_CONSTANTS_H_
5#define COMPONENTS_ONC_ONC_CONSTANTS_H_
6
7#include "components/onc/onc_export.h"
8
9// Constants for ONC properties.
10namespace onc {
11
12// Indicates from which source an ONC blob comes from.
13enum ONCSource {
14  ONC_SOURCE_NONE,
15  ONC_SOURCE_USER_IMPORT,
16  ONC_SOURCE_DEVICE_POLICY,
17  ONC_SOURCE_USER_POLICY,
18};
19
20// These keys are used to augment the dictionary resulting from merging the
21// different settings and policies.
22
23// The setting that Shill declared to be using. For example, if no policy and no
24// user setting exists, Shill might still report a property like network
25// security options or a SSID.
26ONC_EXPORT extern const char kAugmentationActiveSetting[];
27// The one of different setting sources (user/device policy, user/shared
28// settings) that has highest priority over the others.
29ONC_EXPORT extern const char kAugmentationEffectiveSetting[];
30ONC_EXPORT extern const char kAugmentationUnmanaged[];
31ONC_EXPORT extern const char kAugmentationUserPolicy[];
32ONC_EXPORT extern const char kAugmentationDevicePolicy[];
33ONC_EXPORT extern const char kAugmentationUserSetting[];
34ONC_EXPORT extern const char kAugmentationSharedSetting[];
35ONC_EXPORT extern const char kAugmentationUserEditable[];
36ONC_EXPORT extern const char kAugmentationDeviceEditable[];
37
38// This is no ONC key or value but used for logging only.
39// TODO(pneubeck): Remove.
40ONC_EXPORT extern const char kNetworkConfiguration[];
41
42// Common keys/values.
43ONC_EXPORT extern const char kRecommended[];
44ONC_EXPORT extern const char kRemove[];
45
46// Top Level Configuration
47namespace toplevel_config {
48ONC_EXPORT extern const char kCertificates[];
49ONC_EXPORT extern const char kEncryptedConfiguration[];
50ONC_EXPORT extern const char kNetworkConfigurations[];
51ONC_EXPORT extern const char kGlobalNetworkConfiguration[];
52ONC_EXPORT extern const char kType[];
53ONC_EXPORT extern const char kUnencryptedConfiguration[];
54}  // namespace toplevel_config
55
56// NetworkConfiguration.
57namespace network_config {
58ONC_EXPORT extern const char kCellular[];
59ONC_EXPORT extern const char kEthernet[];
60ONC_EXPORT extern const char kGUID[];
61ONC_EXPORT extern const char kIPConfigs[];
62ONC_EXPORT extern const char kName[];
63ONC_EXPORT extern const char kNameServers[];
64ONC_EXPORT extern const char kProxySettings[];
65ONC_EXPORT extern const char kSearchDomains[];
66ONC_EXPORT extern const char kServicePath[];
67ONC_EXPORT extern const char kConnectionState[];
68ONC_EXPORT extern const char kType[];
69ONC_EXPORT extern const char kVPN[];
70ONC_EXPORT extern const char kWiFi[];
71}  // namespace network_config
72
73namespace network_type {
74ONC_EXPORT extern const char kAllTypes[];
75ONC_EXPORT extern const char kCellular[];
76ONC_EXPORT extern const char kEthernet[];
77ONC_EXPORT extern const char kVPN[];
78ONC_EXPORT extern const char kWiFi[];
79}  // namespace network_type
80
81namespace cellular {
82ONC_EXPORT extern const char kActivateOverNonCellularNetwork[];
83ONC_EXPORT extern const char kActivationState[];
84ONC_EXPORT extern const char kAllowRoaming[];
85ONC_EXPORT extern const char kAPN[];
86ONC_EXPORT extern const char kAPNList[];
87ONC_EXPORT extern const char kCarrier[];
88ONC_EXPORT extern const char kESN[];
89ONC_EXPORT extern const char kFamily[];
90ONC_EXPORT extern const char kFirmwareRevision[];
91ONC_EXPORT extern const char kFoundNetworks[];
92ONC_EXPORT extern const char kHardwareRevision[];
93ONC_EXPORT extern const char kHomeProvider[];
94ONC_EXPORT extern const char kICCID[];
95ONC_EXPORT extern const char kIMEI[];
96ONC_EXPORT extern const char kIMSI[];
97ONC_EXPORT extern const char kManufacturer[];
98ONC_EXPORT extern const char kMDN[];
99ONC_EXPORT extern const char kMEID[];
100ONC_EXPORT extern const char kMIN[];
101ONC_EXPORT extern const char kModelID[];
102ONC_EXPORT extern const char kNetworkTechnology[];
103ONC_EXPORT extern const char kPRLVersion[];
104ONC_EXPORT extern const char kProviderRequiresRoaming[];
105ONC_EXPORT extern const char kRoamingState[];
106ONC_EXPORT extern const char kSelectedNetwork[];
107ONC_EXPORT extern const char kServingOperator[];
108ONC_EXPORT extern const char kSIMLockStatus[];
109ONC_EXPORT extern const char kSIMPresent[];
110ONC_EXPORT extern const char kSupportedCarriers[];
111ONC_EXPORT extern const char kSupportNetworkScan[];
112}  // namespace cellular
113
114namespace cellular_provider {
115ONC_EXPORT extern const char kCode[];
116ONC_EXPORT extern const char kCountry[];
117ONC_EXPORT extern const char kName[];
118}  // namespace cellular_provider
119
120namespace cellular_apn {
121ONC_EXPORT extern const char kName[];
122ONC_EXPORT extern const char kUsername[];
123ONC_EXPORT extern const char kPassword[];
124}  // namespace cellular_apn
125
126
127namespace connection_state {
128ONC_EXPORT extern const char kConnected[];
129ONC_EXPORT extern const char kConnecting[];
130ONC_EXPORT extern const char kNotConnected[];
131}  // namespace connection_state
132
133namespace ipconfig {
134ONC_EXPORT extern const char kGateway[];
135ONC_EXPORT extern const char kIPAddress[];
136ONC_EXPORT extern const char kIPv4[];
137ONC_EXPORT extern const char kIPv6[];
138ONC_EXPORT extern const char kRoutingPrefix[];
139ONC_EXPORT extern const char kType[];
140}  // namespace ipconfig
141
142namespace ethernet {
143ONC_EXPORT extern const char kAuthentication[];
144ONC_EXPORT extern const char kEAP[];
145ONC_EXPORT extern const char kNone[];
146ONC_EXPORT extern const char k8021X[];
147}  // namespace ethernet
148
149namespace wifi {
150ONC_EXPORT extern const char kAutoConnect[];
151ONC_EXPORT extern const char kBSSID[];
152ONC_EXPORT extern const char kEAP[];
153ONC_EXPORT extern const char kFrequency[];
154ONC_EXPORT extern const char kFrequencyList[];
155ONC_EXPORT extern const char kHiddenSSID[];
156ONC_EXPORT extern const char kNone[];
157ONC_EXPORT extern const char kPassphrase[];
158ONC_EXPORT extern const char kProxyURL[];
159ONC_EXPORT extern const char kSSID[];
160ONC_EXPORT extern const char kSecurity[];
161ONC_EXPORT extern const char kSignalStrength[];
162ONC_EXPORT extern const char kWEP_PSK[];
163ONC_EXPORT extern const char kWEP_8021X[];
164ONC_EXPORT extern const char kWPA_PSK[];
165ONC_EXPORT extern const char kWPA2_PSK[];
166ONC_EXPORT extern const char kWPA_EAP[];
167}  // namespace wifi
168
169namespace certificate {
170ONC_EXPORT extern const char kAuthority[];
171ONC_EXPORT extern const char kClient[];
172ONC_EXPORT extern const char kCommonName[];
173ONC_EXPORT extern const char kEmailAddress[];
174ONC_EXPORT extern const char kEnrollmentURI[];
175ONC_EXPORT extern const char kGUID[];
176ONC_EXPORT extern const char kIssuerCARef[];
177ONC_EXPORT extern const char kIssuerCAPEMs[];
178ONC_EXPORT extern const char kIssuer[];
179ONC_EXPORT extern const char kLocality[];
180ONC_EXPORT extern const char kNone[];
181ONC_EXPORT extern const char kOrganization[];
182ONC_EXPORT extern const char kOrganizationalUnit[];
183ONC_EXPORT extern const char kPKCS12[];
184ONC_EXPORT extern const char kPattern[];
185ONC_EXPORT extern const char kRef[];
186ONC_EXPORT extern const char kServer[];
187ONC_EXPORT extern const char kSubject[];
188ONC_EXPORT extern const char kTrustBits[];
189ONC_EXPORT extern const char kType[];
190ONC_EXPORT extern const char kWeb[];
191ONC_EXPORT extern const char kX509[];
192}  // namespace certificate
193
194namespace encrypted {
195ONC_EXPORT extern const char kAES256[];
196ONC_EXPORT extern const char kCipher[];
197ONC_EXPORT extern const char kCiphertext[];
198ONC_EXPORT extern const char kHMACMethod[];
199ONC_EXPORT extern const char kHMAC[];
200ONC_EXPORT extern const char kIV[];
201ONC_EXPORT extern const char kIterations[];
202ONC_EXPORT extern const char kPBKDF2[];
203ONC_EXPORT extern const char kSHA1[];
204ONC_EXPORT extern const char kSalt[];
205ONC_EXPORT extern const char kStretch[];
206}  // namespace encrypted
207
208namespace eap {
209ONC_EXPORT extern const char kAnonymousIdentity[];
210ONC_EXPORT extern const char kAutomatic[];
211ONC_EXPORT extern const char kClientCertPattern[];
212ONC_EXPORT extern const char kClientCertRef[];
213ONC_EXPORT extern const char kClientCertType[];
214ONC_EXPORT extern const char kEAP_AKA[];
215ONC_EXPORT extern const char kEAP_FAST[];
216ONC_EXPORT extern const char kEAP_SIM[];
217ONC_EXPORT extern const char kEAP_TLS[];
218ONC_EXPORT extern const char kEAP_TTLS[];
219ONC_EXPORT extern const char kIdentity[];
220ONC_EXPORT extern const char kInner[];
221ONC_EXPORT extern const char kLEAP[];
222ONC_EXPORT extern const char kMD5[];
223ONC_EXPORT extern const char kMSCHAPv2[];
224ONC_EXPORT extern const char kOuter[];
225ONC_EXPORT extern const char kPAP[];
226ONC_EXPORT extern const char kPEAP[];
227ONC_EXPORT extern const char kPassword[];
228ONC_EXPORT extern const char kSaveCredentials[];
229ONC_EXPORT extern const char kServerCAPEMs[];
230ONC_EXPORT extern const char kServerCARef[];
231ONC_EXPORT extern const char kServerCARefs[];
232ONC_EXPORT extern const char kUseSystemCAs[];
233}  // namespace eap
234
235namespace vpn {
236ONC_EXPORT extern const char kAutoConnect[];
237ONC_EXPORT extern const char kClientCertPattern[];
238ONC_EXPORT extern const char kClientCertRef[];
239ONC_EXPORT extern const char kClientCertType[];
240ONC_EXPORT extern const char kHost[];
241ONC_EXPORT extern const char kIPsec[];
242ONC_EXPORT extern const char kL2TP[];
243ONC_EXPORT extern const char kOpenVPN[];
244ONC_EXPORT extern const char kPassword[];
245ONC_EXPORT extern const char kSaveCredentials[];
246ONC_EXPORT extern const char kTypeL2TP_IPsec[];
247ONC_EXPORT extern const char kType[];
248ONC_EXPORT extern const char kUsername[];
249}  // namespace vpn
250
251namespace ipsec {
252ONC_EXPORT extern const char kAuthenticationType[];
253ONC_EXPORT extern const char kCert[];
254ONC_EXPORT extern const char kEAP[];
255ONC_EXPORT extern const char kGroup[];
256ONC_EXPORT extern const char kIKEVersion[];
257ONC_EXPORT extern const char kPSK[];
258ONC_EXPORT extern const char kServerCAPEMs[];
259ONC_EXPORT extern const char kServerCARef[];
260ONC_EXPORT extern const char kServerCARefs[];
261ONC_EXPORT extern const char kXAUTH[];
262}  // namespace ipsec
263
264namespace openvpn {
265ONC_EXPORT extern const char kAuthNoCache[];
266ONC_EXPORT extern const char kAuthRetry[];
267ONC_EXPORT extern const char kAuth[];
268ONC_EXPORT extern const char kCipher[];
269ONC_EXPORT extern const char kCompLZO[];
270ONC_EXPORT extern const char kCompNoAdapt[];
271ONC_EXPORT extern const char kInteract[];
272ONC_EXPORT extern const char kKeyDirection[];
273ONC_EXPORT extern const char kNoInteract[];
274ONC_EXPORT extern const char kNone[];
275ONC_EXPORT extern const char kNsCertType[];
276ONC_EXPORT extern const char kPort[];
277ONC_EXPORT extern const char kProto[];
278ONC_EXPORT extern const char kPushPeerInfo[];
279ONC_EXPORT extern const char kRemoteCertEKU[];
280ONC_EXPORT extern const char kRemoteCertKU[];
281ONC_EXPORT extern const char kRemoteCertTLS[];
282ONC_EXPORT extern const char kRenegSec[];
283ONC_EXPORT extern const char kServerCAPEMs[];
284ONC_EXPORT extern const char kServerCARef[];
285ONC_EXPORT extern const char kServerCARefs[];
286ONC_EXPORT extern const char kServerCertPEM[];
287ONC_EXPORT extern const char kServerCertRef[];
288ONC_EXPORT extern const char kServerPollTimeout[];
289ONC_EXPORT extern const char kServer[];
290ONC_EXPORT extern const char kShaper[];
291ONC_EXPORT extern const char kStaticChallenge[];
292ONC_EXPORT extern const char kTLSAuthContents[];
293ONC_EXPORT extern const char kTLSRemote[];
294ONC_EXPORT extern const char kVerb[];
295ONC_EXPORT extern const char kVerifyHash[];
296ONC_EXPORT extern const char kVerifyX509[];
297}  // namespace openvpn
298
299namespace verify_x509 {
300ONC_EXPORT extern const char kName[];
301ONC_EXPORT extern const char kType[];
302
303namespace types {
304ONC_EXPORT extern const char kName[];
305ONC_EXPORT extern const char kNamePrefix[];
306ONC_EXPORT extern const char kSubject[];
307}  // namespace types
308}  // namespace verify_x509
309
310namespace substitutes {
311ONC_EXPORT extern const char kEmailField[];
312ONC_EXPORT extern const char kLoginIDField[];
313}  // namespace substitutes
314
315namespace proxy {
316ONC_EXPORT extern const char kDirect[];
317ONC_EXPORT extern const char kExcludeDomains[];
318ONC_EXPORT extern const char kFtp[];
319ONC_EXPORT extern const char kHost[];
320ONC_EXPORT extern const char kHttp[];
321ONC_EXPORT extern const char kHttps[];
322ONC_EXPORT extern const char kManual[];
323ONC_EXPORT extern const char kPAC[];
324ONC_EXPORT extern const char kPort[];
325ONC_EXPORT extern const char kSocks[];
326ONC_EXPORT extern const char kType[];
327ONC_EXPORT extern const char kWPAD[];
328}  // namespace proxy
329
330namespace global_network_config {
331ONC_EXPORT extern const char kAllowOnlyPolicyNetworksToAutoconnect[];
332}  // global_network_config
333
334}  // namespace onc
335
336#endif  // COMPONENTS_ONC_ONC_CONSTANTS_H_
337
338