1

このユニオンからビットレートの値を読み取る必要があるカーネルモジュールを作成しています:

union   iwreq_data
{
    .......
    struct iw_param bitrate;    /* default bit rate */

     ....
}

このコードは、wireless.h から取られたものです。その値を取得する方法を知っている人はいますか?つまり、net_device?wireless_dev を使用する必要がある構造体は? Linuxカーネル2.6.35を使用しています

4

1 に答える 1

2

がある場合はunion iwreq_data *data、単に使用できますdata->bitrate.value

ただし、この構造体は永続的に存在するわけではないため、特定のデバイスのポインターを取得することはできません。この構造体は、デバイスのパラメーターを設定または取得するときに使用され、設定/取得操作の間だけ存在します。
ビットレートを設定すると、ドライバーはドライバーに依存する方法で新しい値を保存し、構造体が解放されます (通常、設定関数のスタックに割り当てられます)。

電話ieee80211softmac_wx_get_rateして取得してみてください。初期化されていない へのポインタを渡すとunion iwreq_data、ビット レートが入力されます。

于 2012-06-24T13:27:08.977 に答える