wpa_supplicant源码编译和使用说明

使用socket方式与wpa_supplicant通信

操作接口

struct wpa_ctrl {
    
    
#ifdef CONFIG_CTRL_IFACE_UDP
	int s;
	struct sockaddr_in local;
	struct sockaddr_in dest;
	char *cookie;
#endif /* CONFIG_CTRL_IFACE_UDP */
#ifdef CONFIG_CTRL_IFACE_UNIX
	int s;
	struct sockaddr_un local;
	struct sockaddr_un dest;
#endif /* CONFIG_CTRL_IFACE_UNIX */
#ifdef CONFIG_CTRL_IFACE_NAMED_PIPE
	HANDLE pipe;
#endif /* CONFIG_CTRL_IFACE_NAMED_PIPE */
};
/* 建立并初始化一个Unix domain socket的client结点,并与作为server的wpa_supplicant结点绑定 */
struct wpa_ctrl * wpa_ctrl_open(const char *ctrl_path);
/* 撤销并销毁已建立的Unix domain socket的client结点 */
void wpa_ctrl_close(struct wpa_ctrl *ctrl);
/* 用户模块直接调用该函数对wpa_supplicant发送命令并获取所需信息 */
int wpa_ctrl_request(struct wpa_ctrl *ctrl, const char *cmd, size_t cmd_len,
                   char *reply, size_t *reply_len,
                   void (*msg_cb)(char *msg, size_t len));
/* 注册 某个 control interface 作为 monitor interface */
int wpa_ctrl_attach(struct wpa_ctrl *ctrl);
/* 撤销某个 monitor interface 为 普通的 control interface  */ 
int wpa_ctrl_detach(struct wpa_ctrl *ctrl);
/* 判断是否有挂起的event 事件 */
int wpa_ctrl_pending(struct wpa_ctrl *ctrl)/* 获取挂起的event 事件 */
int wpa_ctrl_recv(struct wpa_ctrl *ctrl, char *reply, size_t *reply_len);

封装代码


wpa_supplicant下载地址
下载地址


wpa_supplicant通信接口(dbus/wpa_ctrl)说明


wpa_supplicant 移植及 linux 命令行模式配置无线上网
Linux之wpa_supplicant.conf文件详解
wpa_supplicant配置文件说明


wpa_supplicant demo 分析
wpa_supplicant的用法
WPA_Supplicant使用及配置

猜你喜欢

转载自blog.csdn.net/GeiGe123/article/details/118795636
今日推荐