summaryrefslogtreecommitdiffstats
path: root/freebsd/contrib/wpa/src/common/ctrl_iface_common.h
blob: 0b6e3e740291d9a7cf2225d5d14c671ba98c925b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/*
 * Common hostapd/wpa_supplicant ctrl iface code.
 * Copyright (c) 2002-2013, Jouni Malinen <j@w1.fi>
 * Copyright (c) 2015, Qualcomm Atheros, Inc.
 *
 * This software may be distributed under the terms of the BSD license.
 * See README for more details.
 */
#ifndef CONTROL_IFACE_COMMON_H
#define CONTROL_IFACE_COMMON_H

#include "utils/list.h"

/**
 * struct wpa_ctrl_dst - Data structure of control interface monitors
 *
 * This structure is used to store information about registered control
 * interface monitors into struct wpa_supplicant.
 */
struct wpa_ctrl_dst {
	struct dl_list list;
	struct sockaddr_storage addr;
	socklen_t addrlen;
	int debug_level;
	int errors;
};

void sockaddr_print(int level, const char *msg, struct sockaddr_storage *sock,
		    socklen_t socklen);

int ctrl_iface_attach(struct dl_list *ctrl_dst, struct sockaddr_storage *from,
		       socklen_t fromlen);
int ctrl_iface_detach(struct dl_list *ctrl_dst, struct sockaddr_storage *from,
		      socklen_t fromlen);
int ctrl_iface_level(struct dl_list *ctrl_dst, struct sockaddr_storage *from,
		     socklen_t fromlen, const char *level);

#endif /* CONTROL_IFACE_COMMON_H */