摘自http://blog.csdn.net/fxfzz/article/details/6176414

wpa_supplicant提供的接口

从通信层次上划分,

上行接口:wpa_supplicant提供向上的控制接口 control interface,用于与其他模块(如UI)进行通信,其他模块可以通过control interface 来获取信息或下发命令。

下行接口:wpa_supplicant通过socket通信机制实现下行接口,与内核进行通信,获取信息或下发命令。

 

本篇博文主要分析wpa_supplicant的上行接口。

一共有两种方式:一种基于传统dbus机制实现与其他进程间的IPC通信;另一种通过Unix domain socket机制实现进程间的IPC通信。

Dbus接口

该接口主要在文件“ctrl_iface_dbus.h”,“ctrl_iface_dbus.c”,“ctrl_iface_dbus_handler.h”和“ctrl_iface_dbus_handler.c”中实现,提供一些基本的控制方法。

DBusMessage * wpas_dbus_new_invalid_iface_error(DBusMessage *message);
 
DBusMessage * wpas_dbus_global_add_interface(DBusMessage *message,
                                        struct wpa_global *global);
 
DBusMessage * wpas_dbus_global_remove_interface(DBusMessage *message,
                                          struct wpa_global *global);
 
DBusMessage * wpas_dbus_global_get_interface(DBusMessage *message,
                                        struct wpa_global *global);
 
DBusMessage * wpas_dbus_global_set_debugparams(DBusMessage *message,
                                          struct wpa_global *global);
 
DBusMessage * wpas_dbus_iface_scan(DBusMessage *message,
                               struct wpa_supplicant *wpa_s);
 
DBusMessage * wpas_dbus_iface_scan_results(DBusMessage *message,
                                      struct wpa_supplicant *wpa_s);
 
DBusMessage * wpas_dbus_bssid_properties(DBusMessage *message,
                                    struct wpa_supplicant *wpa_s,
                                    struct wpa_scan_res *res);
 
DBusMessage * wpas_dbus_iface_capabilities(DBusMessage *message,
                                      struct wpa_supplicant *wpa_s);
 
DBusMessage * wpas_dbus_iface_add_network(DBusMessage *message,
                                     struct wpa_supplicant *wpa_s);
 
DBusMessage * wpas_dbus_iface_remove_network(DBusMessage *message,
                                        struct wpa_supplicant *wpa_s);
 
DBusMessage * wpas_dbus_iface_set_network(DBusMessage *message,
                                     struct wpa_supplicant *wpa_s,
                                     struct wpa_ssid *ssid);
 
DBusMessage * wpas_dbus_iface_enable_network(DBusMessage *message,
                                        struct wpa_supplicant *wpa_s,
                                        struct wpa_ssid *ssid);
 
DBusMessage * wpas_dbus_iface_disable_network(DBusMessage *message,
                                         struct wpa_supplicant *wpa_s,
                                         struct wpa_ssid *ssid);
 
DBusMessage * wpas_dbus_iface_select_network(DBusMessage *message,
                                             struct wpa_supplicant *wpa_s);
 
DBusMessage * wpas_dbus_iface_disconnect(DBusMessage *message,
                                    struct wpa_supplicant *wpa_s);
 
DBusMessage * wpas_dbus_iface_set_ap_scan(DBusMessage *message,
                                          struct wpa_supplicant *wpa_s);
 
DBusMessage * wpas_dbus_iface_set_smartcard_modules(
       DBusMessage *message, struct wpa_supplicant *wpa_s);
 
DBusMessage * wpas_dbus_iface_get_state(DBusMessage *message,
                                   struct wpa_supplicant *wpa_s);
 
DBusMessage * wpas_dbus_iface_get_scanning(DBusMessage *message,
                                      struct wpa_supplicant *wpa_s);
 
DBusMessage * wpas_dbus_iface_set_blobs(DBusMessage *message,
                                    struct wpa_supplicant *wpa_s);
 
DBusMessage * wpas_dbus_iface_remove_blobs(DBusMessage *message,
                                      struct wpa_supplicant *wpa_s);
Dbus接口方法

相关文章:

  • 2021-10-21
  • 2022-01-06
  • 2021-10-20
  • 2023-01-30
  • 2021-10-21
  • 2021-11-21
  • 2021-10-15
  • 2022-02-13
猜你喜欢
  • 2021-11-02
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-25
  • 2022-12-23
相关资源
相似解决方案