1 /* 2 * Driver interface for RADIUS server or WPS ER only (no driver) 3 * Copyright (c) 2008, Atheros Communications 4 * 5 * This software may be distributed under the terms of the BSD license. 6 * See README for more details. 7 */ 8 9 #include "includes.h" 10 11 #include "common.h" 12 #include "driver.h" 13 14 15 struct none_driver_data { 16 struct hostapd_data *hapd; 17 void *ctx; 18 }; 19 20 21 static void * none_driver_hapd_init(struct hostapd_data *hapd, 22 struct wpa_init_params *params) 23 { 24 struct none_driver_data *drv; 25 26 drv = os_zalloc(sizeof(struct none_driver_data)); 27 if (drv == NULL) { 28 wpa_printf(MSG_ERROR, "Could not allocate memory for none " 29 "driver data"); 30 return NULL; 31 } 32 drv->hapd = hapd; 33 34 return drv; 35 } 36 37 38 static void none_driver_hapd_deinit(void *priv) 39 { 40 struct none_driver_data *drv = priv; 41 42 os_free(drv); 43 } 44 45 46 static void * none_driver_init(void *ctx, const char *ifname) 47 { 48 struct none_driver_data *drv; 49 50 drv = os_zalloc(sizeof(struct none_driver_data)); 51 if (drv == NULL) { 52 wpa_printf(MSG_ERROR, "Could not allocate memory for none " 53 "driver data"); 54 return NULL; 55 } 56 drv->ctx = ctx; 57 58 return drv; 59 } 60 61 62 static void none_driver_deinit(void *priv) 63 { 64 struct none_driver_data *drv = priv; 65 66 os_free(drv); 67 } 68 69 70 const struct wpa_driver_ops wpa_driver_none_ops = { 71 .name = "none", 72 .desc = "no driver (RADIUS server/WPS ER)", 73 .hapd_init = none_driver_hapd_init, 74 .hapd_deinit = none_driver_hapd_deinit, 75 .init = none_driver_init, 76 .deinit = none_driver_deinit, 77 }; 78