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 18struct radius_server_data; 19struct eap_user; 20 21struct 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 47struct radius_server_data * 48radius_server_init(struct radius_server_conf *conf); 49 50void radius_server_deinit(struct radius_server_data *data); 51 52int radius_server_get_mib(struct radius_server_data *data, char *buf, 53 size_t buflen); 54 55void radius_server_eap_pending_cb(struct radius_server_data *data, void *ctx); 56 57#else /* RADIUS_SERVER */ 58 59static inline struct radius_server_data * 60radius_server_init(struct radius_server_conf *conf) 61{ 62 return NULL; 63} 64 65static inline void radius_server_deinit(struct radius_server_data *data) 66{ 67} 68 69static inline int radius_server_get_mib(struct radius_server_data *data, 70 char *buf, size_t buflen) 71{ 72 return 0; 73} 74 75static inline void 76radius_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