dd871a17823d05199c5ae98a9c9e0e9a4238272a
[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_IPV4_METHOD                 "IPv4.method"
38 #define WIFI_CONFIG_IPV6_METHOD                 "IPv6.method"
39 #define WIFI_CONFIG_IPV4_DNS_METHOD                     "Nameservers.IPv4method"
40 #define WIFI_CONFIG_IPV6_DNS_METHOD                     "Nameservers.IPv6method"
41 #define WIFI_CONFIG_IPV4_ADDRESS                        "IPv4.local_address"
42 #define WIFI_CONFIG_IPV4_SUBNET_MASK                    "IPv4.netmask_prefixlen"
43 #define WIFI_CONFIG_IPV4_GATEWAY_ADDRESS                "IPv4.gateway"
44 #define WIFI_CONFIG_DNS_ADDRESS                 "Nameservers"
45 #define WIFI_CONFIG_FAILURE                     "Failure"
46 #define WIFI_CONFIG_PROXYADDRESS                "ProxyAddress"
47 #define WIFI_CONFIG_PROXY_METHOD                "Proxy.Method"
48 #define WIFI_CONFIG_PROXY_SERVER                "Proxy.Servers"
49 #define WIFI_CONFIG_EAP_ANONYMOUS_IDENTITY                      "AnonymousIdentity"
50 #define WIFI_CONFIG_EAP_CACERT                  "CACertFile"
51 #define WIFI_CONFIG_EAP_CLIENTCERT                      "ClientCertFile"
52 #define WIFI_CONFIG_EAP_PRIVATEKEY              "PrivateKeyFile"
53 #define WIFI_CONFIG_EAP_PRIVATEKEY_PASSWORD     "PrivateKeyPassword"
54 #define WIFI_CONFIG_EAP_IDENTITY                "Identity"
55 #define WIFI_CONFIG_EAP_TYPE            "EapType"
56 #define WIFI_CONFIG_EAP_AUTH_TYPE       "EapAuthType"
57 #define WIFI_CONFIG_EAP_SUBJECT_MATCH   "SubjectMatch"
58
59 /**
60  * This enumeration is used in frame id value in vsie method calls
61  */
62 typedef enum {
63         NETCONFIG_VSIE_FRAME_ASSOC_REQ = 13,
64         NETCONFIG_VSIE_FRAME_PROBE_REQ = 14,
65         NETCONFIG_VSIE_FRAME_REASSOC = 15,
66         NETCONFIG_VSIE_FRAME_AUTH_REQ = 16,
67         NETCONFIG_VSIE_FRAME_ACTION = 17,
68         NETCONFIG_VSIE_FRAME_MAX
69 } netconfig_vsie_frames_e;
70
71 gboolean        wifi_config_get_config_id(const gchar *service_profile, gchar **config_id);
72 gboolean        wifi_config_remove_configuration(const gchar *config_id);
73 int __netconfig_hex_str_to_bin(const char *hex, unsigned char *buf, size_t len);
74 int __netconfig_hex_to_byte(const char *hex);
75 int __netconfig_hex_char_to_num(char c);
76
77 gboolean        handle_get_config_ids(Wifi *wifi, GDBusMethodInvocation *context);
78 gboolean        handle_load_configuration(Wifi *wifi, GDBusMethodInvocation *context, const gchar *config_id);
79 gboolean        handle_save_configuration(Wifi *wifi, GDBusMethodInvocation *context, const gchar *config_id, GVariant *configuration);
80 gboolean        handle_load_eap_configuration(Wifi *wifi, GDBusMethodInvocation *context, const gchar *config_id);
81 gboolean        handle_save_eap_configuration(Wifi *wifi, GDBusMethodInvocation *context, const gchar *config_id, GVariant *configuration);
82 gboolean        handle_remove_configuration(Wifi *wifi, GDBusMethodInvocation *context, const gchar *config_id);
83 gboolean        handle_set_config_field(Wifi *wifi, GDBusMethodInvocation *context, const gchar *config_id, const gchar *key, const gchar *value);
84 gboolean        handle_get_config_passphrase(Wifi *wifi, GDBusMethodInvocation *context, const gchar *config_id);
85
86 gboolean handle_add_vsie(Wifi *wifi, GDBusMethodInvocation *context, int frame_id, const gchar *vsie);
87 gboolean handle_get_vsie(Wifi *wifi, GDBusMethodInvocation *context, int frame_id);
88 gboolean handle_remove_vsie(Wifi *wifi, GDBusMethodInvocation *context, int frame_id, const gchar *vsie);
89
90 #ifdef __cplusplus
91 }
92 #endif
93
94 #endif /* __NETCONFIG_WIFI_CONFIG_H */