wireless_dev 头文件
时间: 2023-07-22 22:03:25 浏览: 18
`wireless_dev`是Linux内核中的一个结构体,定义在`include/net/cfg80211.h`头文件中。该结构体用于表示一个无线网络设备。
以下是`include/net/cfg80211.h`头文件中`wireless_dev`结构体的定义:
```c
struct wireless_dev {
const char *name;
struct net_device *netdev;
/* 一些回调函数 */
int (*change_mtu)(struct wireless_dev *wdev, int new_mtu);
int (*set_mac_addr)(struct wireless_dev *wdev, const uint8_t *mac);
int (*set_channel)(struct wireless_dev *wdev, struct cfg80211_chan_def *chandef);
int (*set_bitrate_mask)(struct wireless_dev *wdev, struct cfg80211_bitrate_mask *mask);
int (*add_key)(struct wireless_dev *wdev, enum nl80211_key_type key_type,
const uint8_t *key, uint32_t key_len);
int (*del_key)(struct wireless_dev *wdev, enum nl80211_key_type key_type,
const uint8_t *key, uint32_t key_len);
int (*set_default_mgmt_key)(struct wireless_dev *wdev, uint8_t *key, uint32_t key_len);
int (*set_wiphy_params)(struct wireless_dev *wdev, uint32_t changed);
int (*set_mesh_config)(struct wireless_dev *wdev, struct mesh_config *conf);
int (*set_power_mgmt)(struct wireless_dev *wdev, bool enabled, int timeout);
int (*set_cqm_rssi_config)(struct wireless_dev *wdev, struct cfg80211_cqm_rssi_config *config);
int (*set_quiet)(struct wireless_dev *wdev, struct cfg80211_quiet *quiet);
int (*set_ap_chanwidth)(struct wireless_dev *wdev, struct cfg80211_chan_def *chandef);
int (*set_rekey_data)(struct wireless_dev *wdev, const uint8_t *kek, uint32_t kek_len,
const uint8_t *kck, uint32_t kck_len,
uint64_t replay_ctr);
int (*set_noack_map)(struct wireless_dev *wdev, uint16_t noack_map);
struct wireless_dev_p2p_info p2p;
struct wiphy *wiphy;
void *priv;
struct cfg80211_registered_device *ieee80211_ptr;
/* 一些设备状态 */
atomic_t iftype;
unsigned int mesh_id_len;
uint8_t mesh_id[0];
};
```
该结构体中包含了一个网络设备的名称、对应的net_device结构体、一些回调函数、设备状态、P2P信息等。在无线网络驱动中,可以通过该结构体来管理无线网络设备。
相关推荐














