[BACK]Return to awireg.h CVS log [TXT][DIR] Up to [local] / sys / dev / ic

Annotation of sys/dev/ic/awireg.h, Revision 1.1.1.1

1.1       nbrk        1: /* $OpenBSD: awireg.h,v 1.4 2001/07/04 09:02:59 niklas Exp $ */
                      2: /* $NetBSD: awireg.h,v 1.3 2000/03/22 11:22:22 onoe Exp $ */
                      3:
                      4: /*-
                      5:  * Copyright (c) 1999 The NetBSD Foundation, Inc.
                      6:  * All rights reserved.
                      7:  *
                      8:  * This code is derived from software contributed to The NetBSD Foundation
                      9:  * by Bill Sommerfeld
                     10:  *
                     11:  * Redistribution and use in source and binary forms, with or without
                     12:  * modification, are permitted provided that the following conditions
                     13:  * are met:
                     14:  * 1. Redistributions of source code must retain the above copyright
                     15:  *    notice, this list of conditions and the following disclaimer.
                     16:  * 2. Redistributions in binary form must reproduce the above copyright
                     17:  *    notice, this list of conditions and the following disclaimer in the
                     18:  *    documentation and/or other materials provided with the distribution.
                     19:  * 3. All advertising materials mentioning features or use of this software
                     20:  *    must display the following acknowledgement:
                     21:  *        This product includes software developed by the NetBSD
                     22:  *        Foundation, Inc. and its contributors.
                     23:  * 4. Neither the name of The NetBSD Foundation nor the names of its
                     24:  *    contributors may be used to endorse or promote products derived
                     25:  *    from this software without specific prior written permission.
                     26:  *
                     27:  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
                     28:  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
                     29:  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
                     30:  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
                     31:  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
                     32:  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
                     33:  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
                     34:  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
                     35:  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
                     36:  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
                     37:  * POSSIBILITY OF SUCH DAMAGE.
                     38:  */
                     39:
                     40: /*
                     41:  * The firmware typically loaded onto Am79C930-based 802.11 interfaces
                     42:  * uses a 32k or larger shared memory buffer to communicate with the
                     43:  * host.
                     44:  *
                     45:  * Depending on the exact configuration of the device, this buffer may
                     46:  * either be mapped into PCMCIA memory space, or accessible a byte at
                     47:  * a type through PCMCIA I/O space.
                     48:  *
                     49:  * This header defines offsets into this shared memory.
                     50:  */
                     51:
                     52:
                     53: /*
                     54:  * LAST_TXD block.  5 32-bit words.
                     55:  *
                     56:  * There are five different output queues; this defines pointers to
                     57:  * the last completed descriptor for each one.
                     58:  */
                     59: #define AWI_LAST_TXD           0x3ec   /* last completed Tx Descr */
                     60:
                     61: #define AWI_LAST_BCAST_TXD             AWI_LAST_TXD+0
                     62: #define AWI_LAST_MGT_TXD               AWI_LAST_TXD+4
                     63: #define AWI_LAST_DATA_TXD              AWI_LAST_TXD+8
                     64: #define AWI_LAST_PS_POLL_TXD           AWI_LAST_TXD+12
                     65: #define AWI_LAST_CF_POLL_TXD           AWI_LAST_TXD+16
                     66:
                     67: /*
                     68:  * Banner block; null-terminated string.
                     69:  *
                     70:  * The doc says it contains
                     71:  * "PCnetMobile:v2.00 mmddyy APIx.x\0"
                     72:  */
                     73:
                     74: #define AWI_BANNER             0x480   /* Version string */
                     75: #define AWI_BANNER_LEN                 0x20
                     76:
                     77: /*
                     78:  * Command block protocol:
                     79:  * write command byte to a zero value.
                     80:  * write command status to a zero value.
                     81:  * write arguments to AWI_COMMAND_PARAMS
                     82:  * write command byte to a non-zero value.
                     83:  * wait for command status to be non-zero.
                     84:  * write command byte to a zero value.
                     85:  * write command status to a zero value.
                     86:  */
                     87:
                     88: #define AWI_CMD                        0x4a0   /* Command opcode byte */
                     89:
                     90: #define AWI_CMD_IDLE                   0x0
                     91: #define AWI_CMD_NOP                    0x1
                     92:
                     93: #define AWI_CMD_SET_MIB                        0x2
                     94: #define AWI_CMD_GET_MIB                        0x9
                     95:
                     96: #define AWI_CA_MIB_TYPE                        0x0
                     97: #define AWI_CA_MIB_SIZE                        0x1
                     98: #define AWI_CA_MIB_INDEX               0x2
                     99: #define AWI_CA_MIB_DATA                        0x4
                    100:
                    101: #define AWI_MIB_LOCAL                  0x0
                    102: #define AWI_MIB_ADDR                   0x2
                    103: #define AWI_MIB_MAC                    0x3
                    104: #define AWI_MIB_STAT                   0x4
                    105: #define AWI_MIB_MGT                    0x5
                    106: #define AWI_MIB_DRVR                   0x6
                    107: #define AWI_MIB_PHY                    0x7
                    108:
                    109:
                    110: #define AWI_CMD_INIT_TX                        0x3
                    111:
                    112: #define AWI_CA_TX_LEN                  0x14
                    113: #define AWI_CA_TX_DATA                 0x0
                    114: #define AWI_CA_TX_MGT                  0x4
                    115: #define AWI_CA_TX_BCAST                        0x8
                    116: #define AWI_CA_TX_PS                   0xc
                    117: #define AWI_CA_TX_CF                   0x10
                    118:
                    119: #define AWI_CMD_FLUSH_TX               0x4
                    120:
                    121: #define AWI_CA_FTX_LEN                 0x5
                    122: #define AWI_CA_FTX_DATA                        0x0
                    123: #define AWI_CA_FTX_MGT                 0x1
                    124: #define AWI_CA_FTX_BCAST               0x2
                    125: #define AWI_CA_FTX_PS                  0x3
                    126: #define AWI_CA_FTX_CF                  0x4
                    127:
                    128: #define AWI_CMD_INIT_RX                        0x5
                    129: #define AWI_CA_IRX_LEN                 0x8
                    130: #define AWI_CA_IRX_DATA_DESC           0x0 /* return */
                    131: #define AWI_CA_IRX_PS_DESC             0x4 /* return */
                    132:
                    133: #define AWI_CMD_KILL_RX                        0x6
                    134:
                    135: #define AWI_CMD_SLEEP                  0x7
                    136: #define AWI_CA_SLEEP_LEN               0x8
                    137: #define AWI_CA_WAKEUP                  0x0 /* uint64 */
                    138:
                    139: #define AWI_CMD_WAKE                   0x8
                    140:
                    141: #define AWI_CMD_SCAN                   0xa
                    142: #define AWI_CA_SCAN_LEN                        0x6
                    143: #define AWI_CA_SCAN_DURATION           0x0
                    144: #define AWI_CA_SCAN_SET                        0x2
                    145: #define AWI_CA_SCAN_PATTERN            0x3
                    146: #define AWI_CA_SCAN_IDX                        0x4
                    147: #define AWI_CA_SCAN_SUSP               0x5
                    148:
                    149: #define AWI_CMD_SYNC                   0xb
                    150: #define AWI_CA_SYNC_LEN                        0x14
                    151: #define AWI_CA_SYNC_SET                        0x0
                    152: #define AWI_CA_SYNC_PATTERN            0x1
                    153: #define AWI_CA_SYNC_IDX                        0x2
                    154: #define AWI_CA_SYNC_STARTBSS           0x3
                    155: #define AWI_CA_SYNC_DWELL              0x4
                    156: #define AWI_CA_SYNC_MBZ                        0x6
                    157: #define AWI_CA_SYNC_TIMESTAMP          0x8
                    158: #define AWI_CA_SYNC_REFTIME            0x10
                    159:
                    160: #define AWI_CMD_RESUME                 0xc
                    161:
                    162: #define AWI_CMD_STATUS                 0x4a1   /* Command status */
                    163:
                    164: #define AWI_STAT_IDLE                  0x0
                    165: #define AWI_STAT_OK                    0x1
                    166: #define AWI_STAT_BADCMD                        0x2
                    167: #define AWI_STAT_BADPARM               0x3
                    168: #define AWI_STAT_NOTIMP                        0x4
                    169: #define AWI_STAT_BADRES                        0x5
                    170: #define AWI_STAT_BADMODE               0x6
                    171:
                    172: #define AWI_ERROR_OFFSET       0x4a2   /* Offset to erroneous parameter */
                    173: #define AWI_CMD_PARAMS         0x4a4   /* Command parameters */
                    174:
                    175: #define AWI_CSB                        0x4f0   /* Control/Status block */
                    176:
                    177: #define AWI_SELFTEST           0x4f0
                    178:
                    179: #define AWI_SELFTEST_INIT              0x00 /* initial */
                    180: #define AWI_SELFTEST_FIRMCKSUM         0x01 /* firmware cksum running */
                    181: #define AWI_SELFTEST_HARDWARE          0x02 /* hardware tests running */
                    182: #define AWI_SELFTEST_MIB               0x03 /* mib initializing */
                    183:
                    184: #define AWI_SELFTEST_MIB_FAIL          0xfa
                    185: #define AWI_SELFTEST_RADIO_FAIL                0xfb
                    186: #define AWI_SELFTEST_MAC_FAIL          0xfc
                    187: #define AWI_SELFTEST_FLASH_FAIL                0xfd
                    188: #define AWI_SELFTEST_RAM_FAIL          0xfe
                    189: #define AWI_SELFTEST_PASSED            0xff
                    190:
                    191: #define AWI_STA_STATE          0x4f1
                    192:
                    193: #define AWI_STA_AP                     0x20 /* acting as AP */
                    194: #define AWI_STA_NOPSP                  0x10 /* Power Saving disabled */
                    195: #define AWI_STA_DOZE                   0x08 /* about to go to sleep */
                    196: #define AWI_STA_PSP                    0x04 /* enable PSP */
                    197: #define AWI_STA_RXEN                   0x02 /* enable RX */
                    198: #define AWI_STA_TXEN                   0x01 /* enable TX */
                    199:
                    200: #define AWI_INTSTAT            0x4f3
                    201: #define AWI_INTMASK            0x4f4
                    202:
                    203: /* Bits in AWI_INTSTAT/AWI_INTMASK */
                    204:
                    205: #define AWI_INT_GROGGY                 0x80 /* about to wake up */
                    206: #define AWI_INT_CFP_ENDING             0x40 /* cont. free period ending */
                    207: #define AWI_INT_DTIM                   0x20 /* beacon outgoing */
                    208: #define AWI_INT_CFP_START              0x10 /* cont. free period starting */
                    209: #define AWI_INT_SCAN_CMPLT             0x08 /* scan complete */
                    210: #define AWI_INT_TX                     0x04 /* tx done */
                    211: #define AWI_INT_RX                     0x02 /* rx done */
                    212: #define AWI_INT_CMD                    0x01 /* cmd done */
                    213:
                    214: /*
                    215:  * The following are used to implement a locking protocol between host
                    216:  * and MAC to protect the interrupt status and mask fields.
                    217:  *
                    218:  * driver: read lockout_host byte; if zero, set lockout_mac to non-zero,
                    219:  *     then reread lockout_host byte; if still zero, host has lock.
                    220:  *     if non-zero, clear lockout_mac, loop.
                    221:  */
                    222:
                    223: #define AWI_LOCKOUT_MAC                0x4f5
                    224: #define AWI_LOCKOUT_HOST       0x4f6
                    225:
                    226:
                    227: #define AWI_INTSTAT2           0x4f7
                    228: #define AWI_INTMASK2           0x4fd
                    229:
                    230: /* Bits in AWI_INTSTAT2/INTMASK2 */
                    231: #define AWI_INT2_RXMGT                 0x80            /* mgt/ps received */
                    232: #define AWI_INT2_RXDATA                        0x40            /* data received */
                    233: #define AWI_INT2_TXMGT                 0x10            /* mgt tx done */
                    234: #define AWI_INT2_TXCF                  0x08            /* CF tx done */
                    235: #define AWI_INT2_TXPS                  0x04            /* PS tx done */
                    236: #define AWI_INT2_TXBCAST               0x02            /* Broadcast tx done */
                    237: #define AWI_INT2_TXDATA                        0x01            /* data tx done */
                    238:
                    239: #define AWI_DIS_PWRDN          0x4fc           /* disable powerdown if set */
                    240:
                    241: #define AWI_DRIVERSTATE                0x4fe           /* driver state */
                    242:
                    243: #define AWI_DRV_STATEMASK              0x0f
                    244:
                    245: #define AWI_DRV_RESET                  0x0
                    246: #define AWI_DRV_INFSY                  0x1 /* inf synced */
                    247: #define AWI_DRV_ADHSC                  0x2 /* adhoc scan */
                    248: #define AWI_DRV_ADHSY                  0x3 /* adhoc synced */
                    249: #define AWI_DRV_INFSC                  0x4 /* inf scanning */
                    250: #define AWI_DRV_INFAUTH                        0x5 /* inf authed */
                    251: #define AWI_DRV_INFASSOC               0x6 /* inf associated */
                    252: #define AWI_DRV_INFTOSS                        0x7 /* inf handoff */
                    253: #define AWI_DRV_APNONE                 0x8 /* AP activity: no assoc */
                    254: #define AWI_DRV_APQUIET                        0xc /* AP: >=one assoc, no traffic */
                    255: #define AWI_DRV_APLO                   0xd /* AP: >=one assoc, light tfc */
                    256: #define AWI_DRV_APMED                  0xe /* AP: >=one assoc, mod tfc */
                    257: #define AWI_DRV_APHIGH                 0xf /* AP: >=one assoc, heavy tfc */
                    258:
                    259: #define AWI_DRV_AUTORXLED              0x10
                    260: #define AWI_DRV_AUTOTXLED              0x20
                    261: #define AWI_DRV_RXLED                  0x40
                    262: #define AWI_DRV_TXLED                  0x80
                    263:
                    264: #define AWI_VBM                        0x500   /* Virtual Bit Map */
                    265:
                    266: #define AWI_BUFFERS            0x600   /* Buffers */
                    267: #define        AWI_BUFFERS_END         0x6000
                    268:
                    269: /*
                    270:  * Receive descriptors; there are a linked list of these chained
                    271:  * through the "NEXT" fields, starting from XXX
                    272:  */
                    273:
                    274: #define AWI_RXD_SIZE                   0x18
                    275:
                    276: #define AWI_RXD_NEXT                   0x4
                    277: #define AWI_RXD_NEXT_LAST              0x80000000
                    278:
                    279:
                    280: #define AWI_RXD_HOST_DESC_STATE                0x9
                    281:
                    282: #define AWI_RXD_ST_OWN         0x80 /* host owns this */
                    283: #define AWI_RXD_ST_CONSUMED    0x40 /* host is done */
                    284: #define AWI_RXD_ST_LF          0x20 /* last frag */
                    285: #define AWI_RXD_ST_CRC         0x08 /* CRC error */
                    286: #define AWI_RXD_ST_OFLO                0x02 /* possible buffer overrun */
                    287: #define AWI_RXD_ST_RXERROR     0x01 /* this frame is borked; discard me */
                    288:
                    289: #define AWI_RXD_RSSI           0xa /* 1 byte: radio strength indicator */
                    290: #define AWI_RXD_INDEX          0xb /* 1 byte: FH hop index or DS channel */
                    291: #define AWI_RXD_LOCALTIME      0xc /* 4 bytes: local time of RX */
                    292: #define AWI_RXD_START_FRAME    0x10 /* 4 bytes: ptr to first received byte */
                    293: #define AWI_RXD_LEN            0x14 /* 2 bytes: rx len in bytes */
                    294: #define AWI_RXD_RATE           0x16 /* 1 byte: rx rate in 1e5 bps */
                    295:
                    296: /*
                    297:  * Transmit descriptors.
                    298:  */
                    299:
                    300: #define AWI_TXD_SIZE           0x18
                    301:
                    302: #define AWI_TXD_START          0x00 /* pointer to start of frame */
                    303: #define AWI_TXD_NEXT           0x04 /* pointer to next TXD */
                    304: #define AWI_TXD_LENGTH         0x08 /* length of frame */
                    305: #define AWI_TXD_STATE          0x0a /* state */
                    306:
                    307: #define AWI_TXD_ST_OWN         0x80 /* MAC owns this  */
                    308: #define AWI_TXD_ST_DONE                0x40 /* MAC is done */
                    309: #define AWI_TXD_ST_REJ         0x20 /* MAC doesn't like */
                    310: #define AWI_TXD_ST_MSDU                0x10 /* MSDU timeout */
                    311: #define AWI_TXD_ST_ABRT                0x08 /* TX aborted */
                    312: #define AWI_TXD_ST_RETURNED    0x04 /* TX returned */
                    313: #define AWI_TXD_ST_RETRY       0x02 /* TX retries exceeded */
                    314: #define AWI_TXD_ST_ERROR       0x01 /* TX error */
                    315:
                    316: #define AWI_TXD_RATE           0x0b /* rate */
                    317:
                    318: #define AWI_RATE_1MBIT         10
                    319: #define AWI_RATE_2MBIT         20
                    320:
                    321: #define AWI_TXD_NDA            0x0c /* num DIFS attempts */
                    322: #define AWI_TXD_NDF            0x0d /* num DIFS failures */
                    323: #define AWI_TXD_NSA            0x0e /* num SIFS attempts */
                    324: #define AWI_TXD_NSF            0x0f /* num SIFS failures */
                    325:
                    326: #define AWI_TXD_NRA            0x14 /* num RTS attempts */
                    327: #define AWI_TXD_NDTA           0x15 /* num data attempts */
                    328: #define AWI_TXD_CTL            0x16 /* control */
                    329:
                    330: #define AWI_TXD_CTL_PSN                0x80    /* preserve sequence in MAC frame */
                    331: #define AWI_TXD_CTL_BURST      0x02    /* host is doing 802.11 fragmt. */
                    332: #define AWI_TXD_CTL_FRAGS      0x01    /* override normal fragmentation */
                    333:
                    334: /*
                    335:  * MIB structures.
                    336:  */
                    337:
                    338: #define        AWI_ESS_ID_SIZE                 (IEEE80211_NWID_LEN+2)
                    339: struct awi_mib_local {
                    340:        u_int8_t        Fragmentation_Dis;
                    341:        u_int8_t        Add_PLCP_Dis;
                    342:        u_int8_t        MAC_Hdr_Prsv;
                    343:        u_int8_t        Rx_Mgmt_Que_En;
                    344:        u_int8_t        Re_Assembly_Dis;
                    345:        u_int8_t        Strip_PLCP_Dis;
                    346:        u_int8_t        Rx_Error_Dis;
                    347:        u_int8_t        Power_Saving_Mode_Dis;
                    348:        u_int8_t        Accept_All_Multicast_Dis;
                    349:        u_int8_t        Check_Seq_Cntl_Dis;
                    350:        u_int8_t        Flush_CFP_Queue_On_CF_End;
                    351:        u_int8_t        Network_Mode;
                    352:        u_int8_t        PWD_Lvl;
                    353:        u_int8_t        CFP_Mode;
                    354:        u_int8_t        Tx_Buffer_Offset[4];
                    355:        u_int8_t        Tx_Buffer_Size[4];
                    356:        u_int8_t        Rx_Buffer_Offset[4];
                    357:        u_int8_t        Rx_Buffer_Size[4];
                    358:        u_int8_t        Acting_as_AP;
                    359:        u_int8_t        Fill_CFP;
                    360: };
                    361:
                    362: struct awi_mib_mac {
                    363:        u_int8_t        _Reserved1[2];
                    364:        u_int8_t        _Reserved2[2];
                    365:        u_int8_t        aRTS_Threshold[2];
                    366:        u_int8_t        aCW_max[2];
                    367:        u_int8_t        aCW_min[2];
                    368:        u_int8_t        aPromiscuous_Enable;
                    369:        u_int8_t        _Reserved3;
                    370:        u_int8_t        _Reserved4[4];
                    371:        u_int8_t        aShort_Retry_Limit;
                    372:        u_int8_t        aLong_Retry_Limit;
                    373:        u_int8_t        aMax_Frame_Length[2];
                    374:        u_int8_t        aFragmentation_Threshold[2];
                    375:        u_int8_t        aProbe_Delay[2];
                    376:        u_int8_t        aMin_Probe_Response_Time[2];
                    377:        u_int8_t        aMax_Probe_Response_Time[2];
                    378:        u_int8_t        aMax_Transmit_MSDU_Lifetime[4];
                    379:        u_int8_t        aMax_Receive_MSDU_Lifetime[4];
                    380:        u_int8_t        aStation_Basic_Rate[2];
                    381:        u_int8_t        aDesired_ESS_ID[AWI_ESS_ID_SIZE];
                    382: };
                    383:
                    384: struct awi_mib_stat {
                    385:        u_int8_t        aTransmitted_MPDU_Count[4];
                    386:        u_int8_t        aTransmitted_MSDU_Count[4];
                    387:        u_int8_t        aOctets_Transmitted_Cnt[4];
                    388:        u_int8_t        aMulticast_Transmitted_Frame_Count[2];
                    389:        u_int8_t        aBroadcast_Transmitted_Frame_Count[2];
                    390:        u_int8_t        aFailed_Count[4];
                    391:        u_int8_t        aRetry_Count[4];
                    392:        u_int8_t        aMultiple_Retry_Count[4];
                    393:        u_int8_t        aFrame_Duplicate_Count[4];
                    394:        u_int8_t        aRTS_Success_Count[4];
                    395:        u_int8_t        aRTS_Failure_Count[4];
                    396:        u_int8_t        aACK_Failure_Count[4];
                    397:        u_int8_t        aReceived_Frame_Count [4];
                    398:        u_int8_t        aOctets_Received_Count[4];
                    399:        u_int8_t        aMulticast_Received_Count[2];
                    400:        u_int8_t        aBroadcast_Received_Count[2];
                    401:        u_int8_t        aFCS_Error_Count[4];
                    402:        u_int8_t        aError_Count[4];
                    403:        u_int8_t        aWEP_Undecryptable_Count[4];
                    404: };
                    405:
                    406: struct awi_mib_mgt {
                    407:        u_int8_t        aPower_Mgt_Mode;
                    408:        u_int8_t        aScan_Mode;
                    409: #define        AWI_SCAN_PASSIVE                0x00
                    410: #define        AWI_SCAN_ACTIVE                 0x01
                    411: #define        AWI_SCAN_BACKGROUND             0x02
                    412:        u_int8_t        aScan_State;
                    413:        u_int8_t        aDTIM_Period;
                    414:        u_int8_t        aATIM_Window[2];
                    415:        u_int8_t        Wep_Required;
                    416:        u_int8_t        _Reserved1;
                    417:        u_int8_t        aBeacon_Period[2];
                    418:        u_int8_t        aPassive_Scan_Duration[2];
                    419:        u_int8_t        aListen_Interval[2];
                    420:        u_int8_t        aMedium_Occupancy_Limit[2];
                    421:        u_int8_t        aMax_MPDU_Time[2];
                    422:        u_int8_t        aCFP_Max_Duration[2];
                    423:        u_int8_t        aCFP_Rate;
                    424:        u_int8_t        Do_Not_Receive_DTIMs;
                    425:        u_int8_t        aStation_ID[2];
                    426:        u_int8_t        aCurrent_BSS_ID[ETHER_ADDR_LEN];
                    427:        u_int8_t        aCurrent_ESS_ID[AWI_ESS_ID_SIZE];
                    428: };
                    429:
                    430: #define        AWI_GROUP_ADDR_SIZE     4
                    431: struct awi_mib_addr {
                    432:        u_int8_t        aMAC_Address[ETHER_ADDR_LEN];
                    433:        u_int8_t        aGroup_Addresses[AWI_GROUP_ADDR_SIZE][ETHER_ADDR_LEN];
                    434:        u_int8_t        aTransmit_Enable_Status;
                    435:        u_int8_t        _Reserved1;
                    436: };
                    437:
                    438: #define AWI_PWR_LEVEL_SIZE 4
                    439: struct awi_mib_phy {
                    440:        u_int8_t        aSlot_Time[2];
                    441:        u_int8_t        aSIFS[2];
                    442:        u_int8_t        aMPDU_Maximum[2];
                    443:        u_int8_t        aHop_Time[2];
                    444:        u_int8_t        aSuprt_Data_Rates[4];
                    445:        u_int8_t        aCurrent_Reg_Domain;
                    446: #define        AWI_REG_DOMAIN_US       0x10
                    447: #define        AWI_REG_DOMAIN_CA       0x20
                    448: #define        AWI_REG_DOMAIN_EU       0x30
                    449: #define        AWI_REG_DOMAIN_ES       0x31
                    450: #define        AWI_REG_DOMAIN_FR       0x32
                    451: #define        AWI_REG_DOMAIN_JP       0x40
                    452:        u_int8_t        aPreamble_Lngth;
                    453:        u_int8_t        aPLCP_Hdr_Lngth;
                    454:        u_int8_t        Pwr_Up_Time[AWI_PWR_LEVEL_SIZE][2];
                    455:        u_int8_t        IEEE_PHY_Type;
                    456: #define        AWI_PHY_TYPE_FH         1
                    457: #define        AWI_PHY_TYPE_DS         2
                    458: #define        AWI_PHY_TYPE_IR         3
                    459:        u_int8_t        RCR_33A_Bits[8];
                    460: };

CVSweb