3 * Copyright (c) 2000-2003 Intel Corporation
4 * Copyright (c) 2006-2007 Sony Corporation
5 * Copyright (c) 2008-2009 Atheros Communications
6 * Copyright (c) 2009, Jouni Malinen <j@w1.fi>
8 * See wps_upnp.c for more details on licensing and code history.
14 struct upnp_wps_device_sm
;
18 struct upnp_wps_peer
{
22 enum upnp_wps_wlanevent_type
{
23 UPNP_WPS_WLANEVENT_TYPE_PROBE
= 1,
24 UPNP_WPS_WLANEVENT_TYPE_EAP
= 2
27 struct upnp_wps_device_ctx
{
28 int (*rx_req_put_wlan_response
)(
29 void *priv
, enum upnp_wps_wlanevent_type ev_type
,
30 const u8
*mac_addr
, const struct wpabuf
*msg
,
31 enum wps_msg_type msg_type
);
36 struct upnp_wps_device_sm
*
37 upnp_wps_device_init(struct upnp_wps_device_ctx
*ctx
, struct wps_context
*wps
,
39 void upnp_wps_device_deinit(struct upnp_wps_device_sm
*sm
);
41 int upnp_wps_device_start(struct upnp_wps_device_sm
*sm
, char *net_if
);
42 void upnp_wps_device_stop(struct upnp_wps_device_sm
*sm
);
44 int upnp_wps_device_send_wlan_event(struct upnp_wps_device_sm
*sm
,
45 const u8 from_mac_addr
[ETH_ALEN
],
46 enum upnp_wps_wlanevent_type ev_type
,
47 const struct wpabuf
*msg
);
48 int upnp_wps_subscribers(struct upnp_wps_device_sm
*sm
);
49 int upnp_wps_set_ap_pin(struct upnp_wps_device_sm
*sm
, const char *ap_pin
);
51 #endif /* WPS_UPNP_H */