diff options
Diffstat (limited to 'src/libwifi/gen/management/timing_ad.h')
-rw-r--r-- | src/libwifi/gen/management/timing_ad.h | 50 |
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 | ||
21 | int 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 | */ | ||
39 | int 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 | */ | ||
26 | size_t libwifi_get_timing_advert_length(struct libwifi_timing_advert *adv); | 55 | size_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 | */ | ||
28 | size_t libwifi_dump_timing_advert(struct libwifi_timing_advert *adv, unsigned char *buf, size_t buf_len); | 65 | size_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 | */ | ||
30 | void libwifi_free_timing_advert(struct libwifi_timing_advert *adv); | 72 | void libwifi_free_timing_advert(struct libwifi_timing_advert *adv); |
31 | 73 | ||
32 | #endif /* LIBWIFI_GEN_TIMINGAD_H */ | 74 | #endif /* LIBWIFI_GEN_TIMINGAD_H */ |