记录linux(ubuntu 18.04)下调用wpa_supplicant的接口设置

目录

1.环境准备

2.要包含的.h文件

3.要包含的.c文件

4.设置宏定义

最终的CMakeLists.txt文件

从官方QT示例里截取的代码


1.环境准备

IDE: CLion

系统:Ubuntu 18.04 Desktop

2.要包含的.h文件

wpa_ctrl.h //源代码目录 src/common 下,在需要调用接口的源文件里包含此头文件

3.要包含的.c文件

wpa_ctrl.c //源代码目录 src/common 下,wpa_ctrl.h中定义的函数的实现

os_unix.c //源代码目录 src/utils 下,os_malloc等函数的实现,此文件与编译系统环境有关,linux系统选择这个

4.设置宏定义

CONFIG_CTRL_IFACE

CONFIG_CTRL_IFACE_UNIX

最终的CMakeLists.txt文件

cmake_minimum_required(VERSION 3.25)
project(项目名)

set(CMAKE_CXX_STANDARD 14)

set(WPA_SOURCE_PATH "源代码src目录绝对路径")


add_definitions(
        -DCONFIG_CTRL_IFACE_UNIX
        -DCONFIG_CTRL_IFACE
)

include_directories(
        ${WPA_SOURCE_PATH}
        ${WPA_SOURCE_PATH}/utils
)

add_executable(
        项目名 main.cpp
        ${WPA_SOURCE_PATH}/common/wpa_ctrl.c
        ${WPA_SOURCE_PATH}/common/wpa_ctrl.h
        ${WPA_SOURCE_PATH}/utils/os_unix.c
        )

从官方QT示例里截取的代码

#include <iostream>
#include "common/wpa_ctrl.h"

int main() {
    struct wpa_ctrl *ctrl;
    int ret;
    char buf[2048];
    size_t len;

    ctrl = wpa_ctrl_open(NULL);
    if (ctrl == NULL)
        return 0;

    len = sizeof(buf) - 1;
    ret = wpa_ctrl_request(ctrl, "INTERFACE_LIST", 14, buf, &len, NULL);
    if (ret < 0) {
        wpa_ctrl_close(ctrl);
        return 0;
    }
    buf[len] = '\0';

    wpa_ctrl_close(ctrl);
    std::cout << buf << std::endl;
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值