1 /* 2 * hostapd / RADIUS authentication server 3 * Copyright (c) 2005-2007, Jouni Malinen <j@w1.fi> 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License version 2 as 7 * published by the Free Software Foundation. 8 * 9 * Alternatively, this software may be distributed under the terms of BSD 10 * license. 11 * 12 * See README and COPYING for more details. 13 */ 14 15 #ifndef RADIUS_SERVER_H 16 #define RADIUS_SERVER_H 17 18 struct radius_server_data; 19 struct eap_user; 20 21 struct radius_server_conf { 22 int auth_port; 23 char *client_file; 24 void *conf_ctx; 25 void *eap_sim_db_priv; 26 void *ssl_ctx; 27 u8 *pac_opaque_encr_key; 28 u8 *eap_fast_a_id; 29 size_t eap_fast_a_id_len; 30 char *eap_fast_a_id_info; 31 int eap_fast_prov; 32 int pac_key_lifetime; 33 int pac_key_refresh_time; 34 int eap_sim_aka_result_ind; 35 int tnc; 36 struct wps_context *wps; 37 int ipv6; 38 int (*get_eap_user)(void *ctx, const u8 *identity, size_t identity_len, 39 int phase2, struct eap_user *user); 40 const char *eap_req_id_text; 41 size_t eap_req_id_text_len; 42 }; 43 44 45 #ifdef RADIUS_SERVER 46 47 struct radius_server_data * 48 radius_server_init(struct radius_server_conf *conf); 49 50 void radius_server_deinit(struct radius_server_data *data); 51 52 int radius_server_get_mib(struct radius_server_data *data, char *buf, 53 size_t buflen); 54 55 void radius_server_eap_pending_cb(struct radius_server_data *data, void *ctx); 56 57 #else /* RADIUS_SERVER */ 58 59 static inline struct radius_server_data * 60 radius_server_init(struct radius_server_conf *conf) 61 { 62 return NULL; 63 } 64 65 static inline void radius_server_deinit(struct radius_server_data *data) 66 { 67 } 68 69 static inline int radius_server_get_mib(struct radius_server_data *data, 70 char *buf, size_t buflen) 71 { 72 return 0; 73 } 74 75 static inline void 76 radius_server_eap_pending_cb(struct radius_server_data *data, void *ctx) 77 { 78 } 79 80 #endif /* RADIUS_SERVER */ 81 82 #endif /* RADIUS_SERVER_H */ 83