Added support to set private-key password.
[platform/core/connectivity/net-config.git] / include / wifi-config.h
1 /*
2  * Network Configuration Module
3  *
4  * Copyright (c) 2000 - 2012 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  *
18  */
19
20 #ifndef __NETCONFIG_WIFI_CONFIG_H__
21 #define __NETCONFIG_WIFI_CONFIG_H__
22
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26
27 #include "wifi.h"
28
29 // Configuration Field key
30 #define WIFI_CONFIG_NAME                                "Name"
31 #define WIFI_CONFIG_SSID                                "SSID"
32 #define WIFI_CONFIG_PASSPHRASE          "Passphrase"
33 #define WIFI_CONFIG_SECURITY_TYPE               "Security"
34 #define WIFI_CONFIG_FAVORITE                    "Favorite"
35 #define WIFI_CONFIG_AUTOCONNECT         "AutoConnect"
36 #define WIFI_CONFIG_HIDDEN                              "Hidden"
37 #define WIFI_CONFIG_FAILURE                     "Failure"
38 #define WIFI_CONFIG_PROXYADDRESS                "ProxyAddress"
39 #define WIFI_CONFIG_PROXY_METHOD                "Proxy.Method"
40 #define WIFI_CONFIG_PROXY_SERVER                "Proxy.Servers"
41 #define WIFI_CONFIG_EAP_ANONYMOUS_IDENTITY                      "AnonymousIdentity"
42 #define WIFI_CONFIG_EAP_CACERT                  "CACertFile"
43 #define WIFI_CONFIG_EAP_CLIENTCERT                      "ClientCertFile"
44 #define WIFI_CONFIG_EAP_PRIVATEKEY              "PrivateKeyFile"
45 #define WIFI_CONFIG_EAP_PRIVATEKEY_PASSWORD     "PrivateKeyPassword"
46 #define WIFI_CONFIG_EAP_IDENTITY                "Identity"
47 #define WIFI_CONFIG_EAP_TYPE            "EapType"
48 #define WIFI_CONFIG_EAP_AUTH_TYPE       "EapAuthType"
49 #define WIFI_CONFIG_EAP_SUBJECT_MATCH   "SubjectMatch"
50
51 /**
52  * This enumeration is used in frame id value in vsie method calls
53  */
54 typedef enum {
55         NETCONFIG_VSIE_FRAME_ASSOC_REQ = 13,
56         NETCONFIG_VSIE_FRAME_PROBE_REQ = 14,
57         NETCONFIG_VSIE_FRAME_REASSOC = 15,
58         NETCONFIG_VSIE_FRAME_AUTH_REQ = 16,
59         NETCONFIG_VSIE_FRAME_ACTION = 17,
60         NETCONFIG_VSIE_FRAME_MAX
61 } netconfig_vsie_frames_e;
62
63 gboolean        wifi_config_get_config_id(const gchar *service_profile, gchar **config_id);
64 gboolean        wifi_config_remove_configuration(const gchar *config_id);
65 int __netconfig_hex_str_to_bin(const char *hex, unsigned char *buf, size_t len);
66 int __netconfig_hex_to_byte(const char *hex);
67 int __netconfig_hex_char_to_num(char c);
68
69 gboolean        handle_get_config_ids(Wifi *wifi, GDBusMethodInvocation *context);
70 gboolean        handle_load_configuration(Wifi *wifi, GDBusMethodInvocation *context, const gchar *config_id);
71 gboolean        handle_save_configuration(Wifi *wifi, GDBusMethodInvocation *context, const gchar *config_id, GVariant *configuration);
72 gboolean        handle_load_eap_configuration(Wifi *wifi, GDBusMethodInvocation *context, const gchar *config_id);
73 gboolean        handle_save_eap_configuration(Wifi *wifi, GDBusMethodInvocation *context, const gchar *config_id, GVariant *configuration);
74 gboolean        handle_remove_configuration(Wifi *wifi, GDBusMethodInvocation *context, const gchar *config_id);
75 gboolean        handle_set_config_field(Wifi *wifi, GDBusMethodInvocation *context, const gchar *config_id, const gchar *key, const gchar *value);
76 gboolean        handle_get_config_passphrase(Wifi *wifi, GDBusMethodInvocation *context, const gchar *config_id);
77
78 gboolean handle_add_vsie(Wifi *wifi, GDBusMethodInvocation *context, int frame_id, const gchar *vsie);
79 gboolean handle_get_vsie(Wifi *wifi, GDBusMethodInvocation *context, int frame_id);
80 gboolean handle_remove_vsie(Wifi *wifi, GDBusMethodInvocation *context, int frame_id, const gchar *vsie);
81
82 #ifdef __cplusplus
83 }
84 #endif
85
86 #endif /* __NETCONFIG_WIFI_CONFIG_H */