0

bitrateこの共用体からの値を読み取る必要があるカーネル モジュールを作成しています。

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

     ....
}

このコードはフォームwireless.hです。その値にアクセスする方法を知っている人はいますか? (Linux カーネル 2.6.35 を使用しています)

4

1 に答える 1

1

残念ながら、それを行う方法はありません...

見つかった構造体を詳しく見てみましょiw_param

struct  iw_param
{
  __s32     value;      /* The value of the parameter itself */
  __u8      fixed;      /* Hardware should not use auto select */
  __u8      disabled;   /* Disable the feature */
  __u16     flags;      /* Various specifc flags (if any) */
};

コードは次のようになりますwireless.h

union   iwreq_data
{
    /* Config - generic */
    char        name[IFNAMSIZ];
    /* Name : used to verify the presence of  wireless extensions.
     * Name of the protocol/provider... */

    struct iw_point essid;      /* Extended network name */
    struct iw_param nwid;       /* network id (or domain - the cell) */
    struct iw_freq  freq;       /* frequency or channel :
                     * 0-1000 = channel
                     * > 1000 = frequency in Hz */

    struct iw_param sens;       /* signal level threshold */
    struct iw_param bitrate;    /* default bit rate */
    struct iw_param txpower;    /* default transmit power */
    struct iw_param rts;        /* RTS threshold threshold */
    struct iw_param frag;       /* Fragmentation threshold */
    __u32       mode;       /* Operation mode */
    struct iw_param retry;      /* Retry limits & lifetime */

    struct iw_point encoding;   /* Encoding stuff : tokens */
    struct iw_param power;      /* PM duration/timeout */
    struct iw_quality qual;     /* Quality part of statistics */

    struct sockaddr ap_addr;    /* Access point address */
    struct sockaddr addr;       /* Destination address (hw/mac) */

    struct iw_param param;      /* Other small parameters */
    struct iw_point data;       /* Other large parameters */
};

以外にアクセスする方法が思いつかないbitrate->value

于 2012-07-07T15:28:35.757 に答える