xref: /freebsd/contrib/wpa/src/fst/fst_ctrl_iface.h (revision af23369a6deaaeb612ab266eb88b8bb8d560c322)
1 /*
2  * FST module - internal Control interface definitions
3  * Copyright (c) 2014, Qualcomm Atheros, Inc.
4  *
5  * This software may be distributed under the terms of the BSD license.
6  * See README for more details.
7  */
8 
9 #ifndef FST_CTRL_IFACE_H
10 #define FST_CTRL_IFACE_H
11 
12 #include "fst/fst_ctrl_aux.h"
13 
14 #ifdef CONFIG_FST
15 
16 /* receiver */
17 int fst_ctrl_iface_mb_info(const u8 *addr, char *buf, size_t buflen);
18 
19 int fst_ctrl_iface_receive(const char *txtaddr, char *buf, size_t buflen);
20 
21 extern const struct fst_ctrl *fst_ctrl_cli;
22 
23 #else /* CONFIG_FST */
24 
25 static inline int
26 fst_ctrl_iface_mb_info(const u8 *addr, char *buf, size_t buflen)
27 {
28 	return 0;
29 }
30 
31 #endif /* CONFIG_FST */
32 
33 int fst_read_next_int_param(const char *params, bool *valid, char **endp);
34 int fst_read_next_text_param(const char *params, char *buf, size_t buflen,
35 			     char **endp);
36 int fst_read_peer_addr(const char *mac, u8 *peer_addr);
37 
38 struct fst_iface_cfg;
39 
40 int fst_parse_attach_command(const char *cmd, char *ifname, size_t ifname_size,
41 			     struct fst_iface_cfg *cfg);
42 int fst_parse_detach_command(const char *cmd, char *ifname, size_t ifname_size);
43 int fst_iface_detach(const char *ifname);
44 
45 #endif /* CTRL_IFACE_FST_H */
46