X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=tools%2Fsupplicant.h;h=10d43d2157fe1ea55963229a62ad40d128e9e19f;hb=6ad26540be397ebc1b50dda6b71e5cd78c9ebc24;hp=64a2febcf22408e41a6bb8c8a02b2809e6e6f573;hpb=3497514256cdbc94a7c72e4f48c1f38e7b1e559a;p=framework%2Fconnectivity%2Fconnman.git diff --git a/tools/supplicant.h b/tools/supplicant.h index 64a2feb..10d43d2 100644 --- a/tools/supplicant.h +++ b/tools/supplicant.h @@ -2,7 +2,7 @@ * * Connection Manager * - * Copyright (C) 2007-2009 Intel Corporation. All rights reserved. + * Copyright (C) 2007-2010 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 @@ -27,11 +27,53 @@ #define SUPPLICANT_EAP_METHOD_GTC (1 << 5) #define SUPPLICANT_EAP_METHOD_OTP (1 << 6) #define SUPPLICANT_EAP_METHOD_LEAP (1 << 7) +#define SUPPLICANT_EAP_METHOD_WSC (1 << 8) + +#define SUPPLICANT_CAPABILITY_KEYMGMT_NONE (1 << 0) +#define SUPPLICANT_CAPABILITY_KEYMGMT_IEEE8021X (1 << 1) +#define SUPPLICANT_CAPABILITY_KEYMGMT_WPA_NONE (1 << 2) +#define SUPPLICANT_CAPABILITY_KEYMGMT_WPA_PSK (1 << 3) +#define SUPPLICANT_CAPABILITY_KEYMGMT_WPA_EAP (1 << 4) +#define SUPPLICANT_CAPABILITY_KEYMGMT_WPS (1 << 5) + +#define SUPPLICANT_CAPABILITY_AUTHALG_OPEN (1 << 0) +#define SUPPLICANT_CAPABILITY_AUTHALG_SHARED (1 << 1) +#define SUPPLICANT_CAPABILITY_AUTHALG_LEAP (1 << 2) + +#define SUPPLICANT_CAPABILITY_PROTO_WPA (1 << 0) +#define SUPPLICANT_CAPABILITY_PROTO_RSN (1 << 1) + +#define SUPPLICANT_CAPABILITY_GROUP_WEP40 (1 << 0) +#define SUPPLICANT_CAPABILITY_GROUP_WEP104 (1 << 1) +#define SUPPLICANT_CAPABILITY_GROUP_TKIP (1 << 2) +#define SUPPLICANT_CAPABILITY_GROUP_CCMP (1 << 3) + +#define SUPPLICANT_CAPABILITY_PAIRWISE_NONE (1 << 0) +#define SUPPLICANT_CAPABILITY_PAIRWISE_TKIP (1 << 1) +#define SUPPLICANT_CAPABILITY_PAIRWISE_CCMP (1 << 2) #define SUPPLICANT_CAPABILITY_SCAN_ACTIVE (1 << 0) #define SUPPLICANT_CAPABILITY_SCAN_PASSIVE (1 << 1) #define SUPPLICANT_CAPABILITY_SCAN_SSID (1 << 2) +#define SUPPLICANT_CAPABILITY_MODE_INFRA (1 << 0) +#define SUPPLICANT_CAPABILITY_MODE_IBSS (1 << 1) +#define SUPPLICANT_CAPABILITY_MODE_AP (1 << 2) + +enum supplicant_mode { + SUPPLICANT_MODE_UNKNOWN, + SUPPLICANT_MODE_INFRA, + SUPPLICANT_MODE_IBSS, +}; + +enum supplicant_security { + SUPPLICANT_SECURITY_UNKNOWN, + SUPPLICANT_SECURITY_NONE, + SUPPLICANT_SECURITY_WEP, + SUPPLICANT_SECURITY_PSK, + SUPPLICANT_SECURITY_IEEE8021X, +}; + enum supplicant_state { SUPPLICANT_STATE_UNKNOWN, SUPPLICANT_STATE_DISCONNECTED, @@ -47,26 +89,51 @@ enum supplicant_state { struct supplicant_interface; +typedef void (* supplicant_interface_create_callback) (int result, + struct supplicant_interface *interface, + void *user_data); +typedef void (* supplicant_interface_remove_callback) (int result, + void *user_data); +typedef void (* supplicant_interface_scan_callback) (int result, + void *user_data); +typedef void (* supplicant_interface_disconnect_callback) (int result, + void *user_data); + +int supplicant_interface_create(const char *ifname, const char *driver, + supplicant_interface_create_callback callback, + void *user_data); +int supplicant_interface_remove(struct supplicant_interface *interface, + supplicant_interface_remove_callback callback, + void *user_data); +int supplicant_interface_scan(struct supplicant_interface *interface, + supplicant_interface_scan_callback callback, + void *user_data); +int supplicant_interface_disconnect(struct supplicant_interface *interface, + supplicant_interface_disconnect_callback callback, + void *user_data); + const char *supplicant_interface_get_ifname(struct supplicant_interface *interface); +const char *supplicant_interface_get_driver(struct supplicant_interface *interface); struct supplicant_network; -enum supplicant_network_mode { - SUPPLICANT_NETWORK_MODE_UNKNOWN, - SUPPLICANT_NETWORK_MODE_INFRA, - SUPPLICANT_NETWORK_MODE_ADHOC, -}; - struct supplicant_interface *supplicant_network_get_interface(struct supplicant_network *network); const char *supplicant_network_get_name(struct supplicant_network *network); -enum supplicant_network_mode supplicant_network_get_mode(struct supplicant_network *network); +const char *supplicant_network_get_identifier(struct supplicant_network *network); +enum supplicant_mode supplicant_network_get_mode(struct supplicant_network *network); struct supplicant_callbacks { + void (*system_ready) (void); + void (*system_killed) (void); void (*interface_added) (struct supplicant_interface *interface); void (*interface_removed) (struct supplicant_interface *interface); + void (*scan_started) (struct supplicant_interface *interface); + void (*scan_finished) (struct supplicant_interface *interface); void (*network_added) (struct supplicant_network *network); void (*network_removed) (struct supplicant_network *network); }; int supplicant_register(const struct supplicant_callbacks *callbacks); void supplicant_unregister(const struct supplicant_callbacks *callbacks); + +void supplicant_set_debug_level(unsigned int level);