eap_methods.h
Go to the documentation of this file.
00001 /*
00002  * EAP peer: Method registration
00003  * Copyright (c) 2004-2007, Jouni Malinen <j@w1.fi>
00004  *
00005  * This program is free software; you can redistribute it and/or modify
00006  * it under the terms of the GNU General Public License version 2 as
00007  * published by the Free Software Foundation.
00008  *
00009  * Alternatively, this software may be distributed under the terms of BSD
00010  * license.
00011  *
00012  * See README and COPYING for more details.
00013  */
00014 
00015 #ifndef EAP_METHODS_H
00016 #define EAP_METHODS_H
00017 
00018 #include "eap_common/eap_defs.h"
00019 
00020 const struct eap_method * eap_peer_get_eap_method(int vendor, EapType method);
00021 const struct eap_method * eap_peer_get_methods(size_t *count);
00022 
00023 struct eap_method * eap_peer_method_alloc(int version, int vendor,
00024                                           EapType method, const char *name);
00025 void eap_peer_method_free(struct eap_method *method);
00026 int eap_peer_method_register(struct eap_method *method);
00027 
00028 
00029 #ifdef IEEE8021X_EAPOL
00030 
00031 EapType eap_peer_get_type(const char *name, int *vendor);
00032 const char * eap_get_name(int vendor, EapType type);
00033 size_t eap_get_names(char *buf, size_t buflen);
00034 char ** eap_get_names_as_string_array(size_t *num);
00035 void eap_peer_unregister_methods(void);
00036 
00037 #else /* IEEE8021X_EAPOL */
00038 
00039 static inline EapType eap_peer_get_type(const char *name, int *vendor)
00040 {
00041         *vendor = EAP_VENDOR_IETF;
00042         return EAP_TYPE_NONE;
00043 }
00044 
00045 static inline const char * eap_get_name(int vendor, EapType type)
00046 {
00047         return NULL;
00048 }
00049 
00050 static inline size_t eap_get_names(char *buf, size_t buflen)
00051 {
00052         return 0;
00053 }
00054 
00055 static inline int eap_peer_register_methods(void)
00056 {
00057         return 0;
00058 }
00059 
00060 static inline void eap_peer_unregister_methods(void)
00061 {
00062 }
00063 
00064 static inline char ** eap_get_names_as_string_array(size_t *num)
00065 {
00066         return NULL;
00067 }
00068 
00069 #endif /* IEEE8021X_EAPOL */
00070 
00071 
00072 #ifdef CONFIG_DYNAMIC_EAP_METHODS
00073 
00074 int eap_peer_method_load(const char *so);
00075 int eap_peer_method_unload(struct eap_method *method);
00076 
00077 #else /* CONFIG_DYNAMIC_EAP_METHODS */
00078 
00079 static inline int eap_peer_method_load(const char *so)
00080 {
00081         return 0;
00082 }
00083 
00084 static inline int eap_peer_method_unload(struct eap_method *method)
00085 {
00086         return 0;
00087 }
00088 
00089 #endif /* CONFIG_DYNAMIC_EAP_METHODS */
00090 
00091 /* EAP peer method registration calls for statically linked in methods */
00092 int eap_peer_md5_register(void);
00093 int eap_peer_tls_register(void);
00094 int eap_peer_mschapv2_register(void);
00095 int eap_peer_peap_register(void);
00096 int eap_peer_ttls_register(void);
00097 int eap_peer_gtc_register(void);
00098 int eap_peer_otp_register(void);
00099 int eap_peer_sim_register(void);
00100 int eap_peer_leap_register(void);
00101 int eap_peer_psk_register(void);
00102 int eap_peer_aka_register(void);
00103 int eap_peer_aka_prime_register(void);
00104 int eap_peer_fast_register(void);
00105 int eap_peer_pax_register(void);
00106 int eap_peer_sake_register(void);
00107 int eap_peer_gpsk_register(void);
00108 int eap_peer_wsc_register(void);
00109 int eap_peer_ikev2_register(void);
00110 int eap_peer_vendor_test_register(void);
00111 int eap_peer_tnc_register(void);
00112 
00113 #endif /* EAP_METHODS_H */


wpa_supplicant
Author(s): Package maintained by Blaise Gassend
autogenerated on Thu Apr 24 2014 15:34:34