Я не уверен, правильно ли я вас понял, но я думаю, что вы можете использовать структуру iw_range, определенную в библиотеке libiw (обратите внимание, что она лицензирована под лицензией GPL, поэтому будьте осторожны при ее использовании в коммерческих приложениях). Вы можете сделать это следующим образом:
#include<iwlib.h>
int main(int argc, char** argv)
{
char* dev = "wlan0";
int skfd = iw_sockets_open();
int has_range = 0;
struct iw_range range;
int i = 0;
has_range = (iw_get_range_info(skfd, dev, &range) >= 0);
printf("Available %d bitrates\n", range.num_bitrates);
while(i < range.num_bitrates)
{
printf("Available bitrate: %d\n", range.bitrate[i]);
i++;
}
}