UPnP WPS Device. More...
#include "includes.h"
#include <assert.h>
#include <net/if.h>
#include <netdb.h>
#include <sys/ioctl.h>
#include "common.h"
#include "uuid.h"
#include "base64.h"
#include "wps.h"
#include "wps_i.h"
#include "wps_upnp.h"
#include "wps_upnp_i.h"
Go to the source code of this file.
Defines | |
#define | NO_DOMAIN_NAME_RESOLUTION 1 |
#define | MAX_SUBSCRIPTIONS 4 |
#define | MAX_ADDR_PER_SUBSCRIPTION 8 |
Functions | |
void | format_date (struct wpabuf *buf) |
int | send_wpabuf (int fd, struct wpabuf *buf) |
void | subscription_unlink (struct subscription *s) |
void | subscription_destroy (struct subscription *s) |
struct subscription * | subscription_find (struct upnp_wps_device_sm *sm, const u8 uuid[UUID_LEN]) |
struct subscription * | subscription_start (struct upnp_wps_device_sm *sm, const char *callback_urls) |
Remember a UPnP control point to send events to. | |
struct subscription * | subscription_renew (struct upnp_wps_device_sm *sm, const u8 uuid[UUID_LEN]) |
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) |
Event notification. | |
int | get_netif_info (const char *net_if, unsigned *ip_addr, char **ip_addr_text, u8 mac[ETH_ALEN], char **mac_addr_text) |
Get hw and IP addresses for network device. | |
void | upnp_wps_device_stop (struct upnp_wps_device_sm *sm) |
Stop WPS UPnP operations on an interface. | |
int | upnp_wps_device_start (struct upnp_wps_device_sm *sm, char *net_if) |
Start WPS UPnP operations on an interface. | |
void | upnp_wps_device_deinit (struct upnp_wps_device_sm *sm) |
Deinitialize WPS UPnP. | |
struct upnp_wps_device_sm * | upnp_wps_device_init (struct upnp_wps_device_ctx *ctx, struct wps_context *wps, void *priv) |
Initialize WPS UPnP. | |
int | upnp_wps_subscribers (struct upnp_wps_device_sm *sm) |
Check whether there are any event subscribers. |
UPnP WPS Device.
See below for more details on licensing and code history.
Definition in file wps_upnp.c.
int get_netif_info | ( | const char * | net_if, | |
unsigned * | ip_addr, | |||
char ** | ip_addr_text, | |||
u8 | mac[ETH_ALEN], | |||
char ** | mac_addr_text | |||
) |
Get hw and IP addresses for network device.
net_if | Selected network interface name | |
ip_addr | Buffer for returning IP address in network byte order | |
ip_addr_text | Buffer for returning a pointer to allocated IP address text | |
mac | Buffer for returning MAC address | |
mac_addr_text | Buffer for returning allocated MAC address text |
Definition at line 932 of file wps_upnp.c.
struct subscription* subscription_start | ( | struct upnp_wps_device_sm * | sm, | |
const char * | callback_urls | |||
) | [read] |
Remember a UPnP control point to send events to.
sm | WPS UPnP state machine from upnp_wps_device_init() | |
callback_urls | Callback URLs |
Definition at line 745 of file wps_upnp.c.
void upnp_wps_device_deinit | ( | struct upnp_wps_device_sm * | sm | ) |
Deinitialize WPS UPnP.
sm | WPS UPnP state machine from upnp_wps_device_init() |
Definition at line 1101 of file wps_upnp.c.
struct upnp_wps_device_sm* upnp_wps_device_init | ( | struct upnp_wps_device_ctx * | ctx, | |
struct wps_context * | wps, | |||
void * | priv | |||
) | [read] |
Initialize WPS UPnP.
ctx | callback table; we must eventually free it | |
wps | Pointer to longterm WPS context | |
priv | External context data that will be used in callbacks |
Definition at line 1126 of file wps_upnp.c.
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 | |||
) |
Event notification.
sm | WPS UPnP state machine from upnp_wps_device_init() | |
from_mac_addr | Source (Enrollee) MAC address for the event | |
ev_type | Event type | |
msg | Event data |
Tell external Registrars (UPnP control points) that something happened. In particular, events include WPS messages from clients that are proxied to external Registrars.
Definition at line 823 of file wps_upnp.c.
int upnp_wps_device_start | ( | struct upnp_wps_device_sm * | sm, | |
char * | net_if | |||
) |
Start WPS UPnP operations on an interface.
sm | WPS UPnP state machine from upnp_wps_device_init() | |
net_if | Selected network interface name |
Definition at line 1039 of file wps_upnp.c.
void upnp_wps_device_stop | ( | struct upnp_wps_device_sm * | sm | ) |
Stop WPS UPnP operations on an interface.
sm | WPS UPnP state machine from upnp_wps_device_init() |
Definition at line 997 of file wps_upnp.c.
int upnp_wps_subscribers | ( | struct upnp_wps_device_sm * | sm | ) |
Check whether there are any event subscribers.
sm | WPS UPnP state machine from upnp_wps_device_init() |
Definition at line 1151 of file wps_upnp.c.