about summary refs log tree commit diff stats
path: root/src/libwifi/gen/management/timing_ad.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libwifi/gen/management/timing_ad.h')
-rw-r--r--src/libwifi/gen/management/timing_ad.h50
1 files changed, 46 insertions, 4 deletions
diff --git a/src/libwifi/gen/management/timing_ad.h b/src/libwifi/gen/management/timing_ad.h index 51c7729..7f0de18 100644 --- a/src/libwifi/gen/management/timing_ad.h +++ b/src/libwifi/gen/management/timing_ad.h
@@ -18,15 +18,57 @@
18 18
19#include "../../core/frame/management/timing_ad.h" 19#include "../../core/frame/management/timing_ad.h"
20 20
21int libwifi_create_timing_advert(struct libwifi_timing_advert *adv, const unsigned char destination[6], 21/**
22 const unsigned char transmitter[6], struct libwifi_timing_advert_fields *adv_fields, 22 * Create a populated libwifi_timing_advert struct
23 const char country[3], uint16_t max_reg_power, uint8_t max_tx_power, uint8_t tx_power_used, 23 *
24 uint8_t noise_floor); 24 * A generated libwifi timing advert can be "dumped" into a buffer for packet injection
25 * via the libwifi_dump_timing_advert function.
26 *
27 * @param adv A new libwifi_timing_advert struct
28 * @param receiver The receiver MAC address, aka address 1
29 * @param transmitter The source MAC address, aka address 2
30 * @param address3 The address 3 frame field value, typically the BSSID
31 * @param adv_fields A libwifi_timing_advert_fields struct
32 * @param country The ISO 3166-1 country code field value
33 * @param max_reg_power Maximum Regulatory Power value
34 * @param max_tx_power Maximum Transmit Power value
35 * @param tx_power_used Transmit Power Used value
36 * @param noise_floor Noise Floor value
37 * @return Zero on success, or negative errno
38 */
39int libwifi_create_timing_advert(struct libwifi_timing_advert *adv,
40 const unsigned char receiver[6],
41 const unsigned char transmitter[6],
42 const unsigned char address3[6],
43 struct libwifi_timing_advert_fields *adv_fields,
44 const char country[3],
45 uint16_t max_reg_power,
46 uint8_t max_tx_power,
47 uint8_t tx_power_used,
48 uint8_t noise_floor);
25 49
50/**
51 * Get the length of the specified libwifi_timing_advert struct
52 *
53 * @return Length of the specified timing advert, or negative error
54 */
26size_t libwifi_get_timing_advert_length(struct libwifi_timing_advert *adv); 55size_t libwifi_get_timing_advert_length(struct libwifi_timing_advert *adv);
27 56
57/**
58 * Dump a libwifi_timing_advert into a raw format for packet injection.
59 *
60 * @param adv A libwifi_timing_advert
61 * @param buf The output buffer for the frame data
62 * @param buf_len The length of the output buffer
63 * @return The length of the dumped timing advert, or negative error
64 */
28size_t libwifi_dump_timing_advert(struct libwifi_timing_advert *adv, unsigned char *buf, size_t buf_len); 65size_t libwifi_dump_timing_advert(struct libwifi_timing_advert *adv, unsigned char *buf, size_t buf_len);
29 66
67/**
68 * Free any memory claimed by a libwifi_timing_advert back to the system.
69 *
70 * @param adv A libwifi_timing_advert struct
71 */
30void libwifi_free_timing_advert(struct libwifi_timing_advert *adv); 72void libwifi_free_timing_advert(struct libwifi_timing_advert *adv);
31 73
32#endif /* LIBWIFI_GEN_TIMINGAD_H */ 74#endif /* LIBWIFI_GEN_TIMINGAD_H */