Current Path : /usr/src/contrib/wpa/src/wps/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : //usr/src/contrib/wpa/src/wps/wps_er.h |
/* * Wi-Fi Protected Setup - External Registrar * Copyright (c) 2009, Jouni Malinen <j@w1.fi> * * 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 * published by the Free Software Foundation. * * Alternatively, this software may be distributed under the terms of BSD * license. * * See README and COPYING for more details. */ #ifndef WPS_ER_H #define WPS_ER_H #include "utils/list.h" struct wps_er_sta { struct dl_list list; struct wps_er_ap *ap; u8 addr[ETH_ALEN]; u16 config_methods; u8 uuid[WPS_UUID_LEN]; u8 pri_dev_type[8]; u16 dev_passwd_id; int m1_received; char *manufacturer; char *model_name; char *model_number; char *serial_number; char *dev_name; struct wps_data *wps; struct http_client *http; struct wps_credential *cred; }; struct wps_er_ap { struct dl_list list; struct wps_er *er; struct dl_list sta; /* list of STAs/Enrollees using this AP */ struct in_addr addr; char *location; struct http_client *http; struct wps_data *wps; u8 uuid[WPS_UUID_LEN]; u8 pri_dev_type[8]; u8 wps_state; u8 mac_addr[ETH_ALEN]; char *friendly_name; char *manufacturer; char *manufacturer_url; char *model_description; char *model_name; char *model_number; char *model_url; char *serial_number; char *udn; char *upc; char *scpd_url; char *control_url; char *event_sub_url; int subscribed; u8 sid[WPS_UUID_LEN]; unsigned int id; struct wps_credential *ap_settings; void (*m1_handler)(struct wps_er_ap *ap, struct wpabuf *m1); }; struct wps_er { struct wps_context *wps; char ifname[17]; u8 mac_addr[ETH_ALEN]; /* mac addr of network i.f. we use */ char *ip_addr_text; /* IP address of network i.f. we use */ unsigned ip_addr; /* IP address of network i.f. we use (host order) */ int multicast_sd; int ssdp_sd; struct dl_list ap; struct dl_list ap_unsubscribing; struct http_server *http_srv; int http_port; unsigned int next_ap_id; unsigned int event_id; int deinitializing; void (*deinit_done_cb)(void *ctx); void *deinit_done_ctx; }; /* wps_er.c */ void wps_er_ap_add(struct wps_er *er, const u8 *uuid, struct in_addr *addr, const char *location, int max_age); void wps_er_ap_remove(struct wps_er *er, struct in_addr *addr); /* wps_er_ssdp.c */ int wps_er_ssdp_init(struct wps_er *er); void wps_er_ssdp_deinit(struct wps_er *er); void wps_er_send_ssdp_msearch(struct wps_er *er); #endif /* WPS_ER_H */