aboutsummaryrefslogtreecommitdiff
path: root/wmediumd/wmediumd.h
diff options
context:
space:
mode:
Diffstat (limited to 'wmediumd/wmediumd.h')
-rw-r--r--wmediumd/wmediumd.h37
1 files changed, 36 insertions, 1 deletions
diff --git a/wmediumd/wmediumd.h b/wmediumd/wmediumd.h
index 3c9818d..695f871 100644
--- a/wmediumd/wmediumd.h
+++ b/wmediumd/wmediumd.h
@@ -39,6 +39,9 @@ enum {
HWSIM_CMD_GET_RADIO,
HWSIM_CMD_ADD_MAC_ADDR,
HWSIM_CMD_DEL_MAC_ADDR,
+ HWSIM_CMD_START_PMSR,
+ HWSIM_CMD_ABORT_PMSR,
+ HWSIM_CMD_REPORT_PMSR,
__HWSIM_CMD_MAX,
};
#define HWSIM_CMD_MAX (_HWSIM_CMD_MAX - 1)
@@ -78,6 +81,16 @@ enum {
* @HWSIM_ATTR_RADIO_NAME: Name of radio, e.g. phy666
* @HWSIM_ATTR_NO_VIF: Do not create vif (wlanX) when creating radio.
* @HWSIM_ATTR_FREQ: Frequency at which packet is transmitted or received.
+ * @HWSIM_ATTR_TX_INFO_FLAGS: additional flags for corresponding
+ * rates of %HWSIM_ATTR_TX_INFO
+ * @HWSIM_ATTR_PERM_ADDR: permanent mac address of new radio
+ * @HWSIM_ATTR_IFTYPE_SUPPORT: u32 attribute of supported interface types bits
+ * @HWSIM_ATTR_CIPHER_SUPPORT: u32 array of supported cipher types
+ * @HWSIM_ATTR_MLO_SUPPORT: claim MLO support (exact parameters TBD) for
+ * the new radio
+ * @HWSIM_ATTR_PMSR_SUPPORT: claim peer measurement support
+ * @HWSIM_ATTR_PMSR_REQUEST: peer measurement request
+ * @HWSIM_ATTR_PMSR_RESULT: peer measurement result
* @__HWSIM_ATTR_MAX: enum limit
*/
@@ -104,6 +117,14 @@ enum {
HWSIM_ATTR_NO_VIF,
HWSIM_ATTR_FREQ,
HWSIM_ATTR_PAD,
+ HWSIM_ATTR_TX_INFO_FLAGS,
+ HWSIM_ATTR_PERM_ADDR,
+ HWSIM_ATTR_IFTYPE_SUPPORT,
+ HWSIM_ATTR_CIPHER_SUPPORT,
+ HWSIM_ATTR_MLO_SUPPORT,
+ HWSIM_ATTR_PMSR_SUPPORT,
+ HWSIM_ATTR_PMSR_REQUEST,
+ HWSIM_ATTR_PMSR_RESULT,
__HWSIM_ATTR_MAX,
};
#define HWSIM_ATTR_MAX (__HWSIM_ATTR_MAX - 1)
@@ -147,6 +168,7 @@ struct wqueue {
struct addr {
u8 addr[ETH_ALEN];
+ uint16_t count;
};
struct station {
@@ -154,6 +176,8 @@ struct station {
u8 addr[ETH_ALEN]; /* virtual interface mac address */
u8 hwaddr[ETH_ALEN]; /* hardware address of hwsim radio */
double x, y; /* position of the station [m] */
+ char *lci; /* LCI */
+ char *civicloc; /* CIVIC */
double dir_x, dir_y; /* direction of the station [meter per MOVE_INTERVAL] */
int tx_power; /* transmission power [dBm] */
struct wqueue queues[IEEE80211_NUM_ACS];
@@ -190,9 +214,10 @@ struct client {
struct wmediumd {
int timerfd;
+ int msq_id;
struct nl_sock *sock;
- struct usfstl_loop_entry nl_loop;
+ struct usfstl_loop_entry nl_loop, grpc_loop;
struct usfstl_sched_ctrl *ctrl;
@@ -282,4 +307,14 @@ int w_flogf(struct wmediumd *ctx, u8 level, FILE *stream, const char *format, ..
int index_to_rate(size_t index, u32 freq);
int get_max_index(void);
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+int wmediumd_main(int argc, char *argv[], int event_fd, int msq_id);
+
+#ifdef __cplusplus
+}
+#endif
+
#endif /* WMEDIUMD_H_ */