Add string conversion helper functions
[framework/connectivity/connman.git] / src / iface-helper.c
1 /*
2  *
3  *  Connection Manager
4  *
5  *  Copyright (C) 2007  Intel Corporation. All rights reserved.
6  *
7  *  This program is free software; you can redistribute it and/or modify
8  *  it under the terms of the GNU General Public License version 2 as
9  *  published by the Free Software Foundation.
10  *
11  *  This program is distributed in the hope that it will be useful,
12  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  *  GNU General Public License for more details.
15  *
16  *  You should have received a copy of the GNU General Public License
17  *  along with this program; if not, write to the Free Software
18  *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
19  *
20  */
21
22 #ifdef HAVE_CONFIG_H
23 #include <config.h>
24 #endif
25
26 #include <string.h>
27
28 #include "connman.h"
29
30 const char *__connman_iface_type2string(enum connman_iface_type type)
31 {
32         switch (type) {
33         case CONNMAN_IFACE_TYPE_UNKNOWN:
34                 return "unknown";
35         case CONNMAN_IFACE_TYPE_80203:
36                 return "80203";
37         case CONNMAN_IFACE_TYPE_80211:
38                 return "80211";
39         case CONNMAN_IFACE_TYPE_WIMAX:
40                 return "wimax";
41         case CONNMAN_IFACE_TYPE_MODEM:
42                 return "modem";
43         case CONNMAN_IFACE_TYPE_BLUETOOTH:
44                 return "bluetooth";
45         }
46
47         return "unknown";
48 }
49
50 const char *__connman_iface_state2string(enum connman_iface_state state)
51 {
52         switch (state) {
53         case CONNMAN_IFACE_STATE_UNKNOWN:
54                 return "unknown";
55         case CONNMAN_IFACE_STATE_OFF:
56                 return "off";
57         case CONNMAN_IFACE_STATE_ENABLED:
58                 return "enabled";
59         case CONNMAN_IFACE_STATE_CONNECT:
60                 return "connect";
61         case CONNMAN_IFACE_STATE_CONFIG:
62                 return "config";
63         case CONNMAN_IFACE_STATE_CARRIER:
64                 return "carrier";
65         case CONNMAN_IFACE_STATE_READY:
66                 return "ready";
67         case CONNMAN_IFACE_STATE_SHUTDOWN:
68                 return "shutdown";
69         }
70
71         return "unknown";
72 }
73
74 const char *__connman_iface_policy2string(enum connman_iface_policy policy)
75 {
76         switch (policy) {
77         case CONNMAN_IFACE_POLICY_UNKNOWN:
78                 return "unknown";
79         case CONNMAN_IFACE_POLICY_OFF:
80                 return "off";
81         case CONNMAN_IFACE_POLICY_IGNORE:
82                 return "ignore";
83         case CONNMAN_IFACE_POLICY_AUTO:
84                 return "auto";
85         }
86
87         return "unknown";
88 }
89
90 enum connman_iface_policy __connman_iface_string2policy(const char *policy)
91 {
92         if (strcasecmp(policy, "off") == 0)
93                 return CONNMAN_IFACE_POLICY_OFF;
94         else if (strcasecmp(policy, "ignore") == 0)
95                 return CONNMAN_IFACE_POLICY_IGNORE;
96         else if (strcasecmp(policy, "auto") == 0)
97                 return CONNMAN_IFACE_POLICY_AUTO;
98         else
99                 return CONNMAN_IFACE_POLICY_UNKNOWN;
100 }
101
102 const char *__connman_ipv4_method2string(enum connman_ipv4_method method)
103 {
104         switch (method) {
105         case CONNMAN_IPV4_METHOD_UNKNOWN:
106                 return "unknown";
107         case CONNMAN_IPV4_METHOD_OFF:
108                 return "off";
109         case CONNMAN_IPV4_METHOD_STATIC:
110                 return "static";
111         case CONNMAN_IPV4_METHOD_DHCP:
112                 return "dhcp";
113         }
114
115         return "unknown";
116 }
117
118 enum connman_ipv4_method __connman_ipv4_string2method(const char *method)
119 {
120         if (strcasecmp(method, "off") == 0)
121                 return CONNMAN_IPV4_METHOD_OFF;
122         else if (strcasecmp(method, "static") == 0)
123                 return CONNMAN_IPV4_METHOD_STATIC;
124         else if (strcasecmp(method, "dhcp") == 0)
125                 return CONNMAN_IPV4_METHOD_DHCP;
126         else
127                 return CONNMAN_IPV4_METHOD_UNKNOWN;
128 }