Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reading Block Ack Control Field #379

Open
jvillasante opened this issue Dec 8, 2019 · 1 comment
Open

Reading Block Ack Control Field #379

jvillasante opened this issue Dec 8, 2019 · 1 comment

Comments

@jvillasante
Copy link

https://groups.google.com/forum/#!topic/libtins/yCX9rvbhjuc

Hello,

Is there a way to accomplish this with libints?
Basically, I don't see a way to access the bar control field of the block ack frame (which is 2 bytes) by using the bar_contol() getter which is only small_uint<4>.

If I wanted to get to this field and read the compressed bit (bit 2) and the TID (high 4 bytes) do I need to parse the raw data myself?

Please, see image. I'm having a hard time getting at this field.
block_ack

Regards and thanks in advance!

@jvillasante
Copy link
Author

Adding to this, according to the spec the bar_control is 16 bits and is read as 16 bits on the Dot11BlockAck class, the only problem is that the getter returns a small_uint<4>.

Maybe something like this on Dot11BlockAck class:

uint16_t bar_control_uint16() const { return Endian::le_to_host(_bar_control); }
void bar_control_uint16(uint16_t new_bar_control) { _bar_control = Endian::host_to_le(new_bar_control); }

I'm I missing something?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant