| /* |
| * UPnP WPS Device |
| * Copyright (c) 2000-2003 Intel Corporation |
| * Copyright (c) 2006-2007 Sony Corporation |
| * Copyright (c) 2008-2009 Atheros Communications |
| * Copyright (c) 2009, Jouni Malinen <j@w1.fi> |
| * |
| * See wps_upnp.c for more details on licensing and code history. |
| */ |
| |
| #ifndef WPS_UPNP_H |
| #define WPS_UPNP_H |
| |
| #include "utils/list.h" |
| |
| struct upnp_wps_device_sm; |
| struct wps_context; |
| struct wps_data; |
| |
| struct upnp_wps_peer { |
| struct dl_list list; |
| struct wps_data *wps; |
| }; |
| |
| enum upnp_wps_wlanevent_type { |
| UPNP_WPS_WLANEVENT_TYPE_PROBE = 1, |
| UPNP_WPS_WLANEVENT_TYPE_EAP = 2 |
| }; |
| |
| struct upnp_wps_device_ctx { |
| int (*rx_req_put_wlan_response)( |
| void *priv, enum upnp_wps_wlanevent_type ev_type, |
| const u8 *mac_addr, const struct wpabuf *msg, |
| enum wps_msg_type msg_type); |
| |
| char *ap_pin; |
| }; |
| |
| struct upnp_wps_device_sm * |
| upnp_wps_device_init(struct upnp_wps_device_ctx *ctx, struct wps_context *wps, |
| void *priv, char *net_if); |
| void upnp_wps_device_deinit(struct upnp_wps_device_sm *sm, void *priv); |
| |
| int upnp_wps_device_send_wlan_event(struct upnp_wps_device_sm *sm, |
| const u8 from_mac_addr[ETH_ALEN], |
| enum upnp_wps_wlanevent_type ev_type, |
| const struct wpabuf *msg); |
| int upnp_wps_subscribers(struct upnp_wps_device_sm *sm); |
| int upnp_wps_set_ap_pin(struct upnp_wps_device_sm *sm, const char *ap_pin); |
| |
| #endif /* WPS_UPNP_H */ |