diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2009-07-16 04:45:07 +0200 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2009-07-16 04:45:07 +0200 |
commit | a51e0f01a2445438f0d4e438bb66ccffd9621480 (patch) | |
tree | 77c28d31c3aed3c7c950f282206a24855df1da9d /src/wifi.c | |
parent | af9fb9a2f08797407c8c2911df4cb27ff2490db3 (diff) | |
download | connman-a51e0f01a2445438f0d4e438bb66ccffd9621480.tar.gz connman-a51e0f01a2445438f0d4e438bb66ccffd9621480.tar.bz2 connman-a51e0f01a2445438f0d4e438bb66ccffd9621480.zip |
Add helper function for WiFi group name
Diffstat (limited to 'src/wifi.c')
-rw-r--r-- | src/wifi.c | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/src/wifi.c b/src/wifi.c new file mode 100644 index 00000000..72f25007 --- /dev/null +++ b/src/wifi.c @@ -0,0 +1,50 @@ +/* + * + * Connection Manager + * + * Copyright (C) 2007-2009 Intel Corporation. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * + */ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include <glib.h> + +#include "connman.h" + +char *connman_wifi_build_group_name(const unsigned char *ssid, + unsigned int ssid_len, + const char *mode, + const char *security) +{ + GString *str; + unsigned int i; + + str = g_string_sized_new((ssid_len * 2) + 24); + if (str == NULL) + return NULL; + + if (ssid_len > 0 && ssid[0] != '\0') { + for (i = 0; i < ssid_len; i++) + g_string_append_printf(str, "%02x", ssid[i]); + } + + g_string_append_printf(str, "_%s_%s", mode, security); + + return g_string_free(str, FALSE); +} |