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 回答