Linux Audio

Check our new training course

Loading...
v3.1
  1/*
  2 * Copyright (c) 1996, 2003 VIA Networking Technologies, Inc.
  3 * All rights reserved.
  4 *
  5 * This program is free software; you can redistribute it and/or modify
  6 * it under the terms of the GNU General Public License as published by
  7 * the Free Software Foundation; either version 2 of the License, or
  8 * (at your option) any later version.
  9 *
 10 * This program is distributed in the hope that it will be useful,
 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 13 * GNU General Public License for more details.
 14 *
 15 * You should have received a copy of the GNU General Public License along
 16 * with this program; if not, write to the Free Software Foundation, Inc.,
 17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 18 *
 19 *
 20 * File: rndis.h
 21 *
 22 * Purpose: Interface between firmware and driver
 23 *
 24 * Author: Warren Hsu
 25 *
 26 * Date: Nov 24, 2004
 27 *
 28 */
 29
 30
 31#ifndef __RNDIS_H__
 32#define __RNDIS_H__
 33
 34/*---------------------  Export Definitions -------------------------*/
 35#define MESSAGE_TYPE_READ               0x01
 36#define MESSAGE_TYPE_WRITE              0x00
 37#define MESSAGE_TYPE_LOCK_OR            0x02
 38#define MESSAGE_TYPE_LOCK_AND           0x03
 39#define MESSAGE_TYPE_WRITE_MASK         0x04
 40#define MESSAGE_TYPE_CARDINIT           0x05
 41#define MESSAGE_TYPE_INIT_RSP           0x06
 42#define MESSAGE_TYPE_MACSHUTDOWN        0x07
 43#define MESSAGE_TYPE_SETKEY             0x08
 44#define MESSAGE_TYPE_CLRKEYENTRY        0x09
 45#define MESSAGE_TYPE_WRITE_MISCFF       0x0A
 46#define MESSAGE_TYPE_SET_ANTMD          0x0B
 47#define MESSAGE_TYPE_SELECT_CHANNLE     0x0C
 48#define MESSAGE_TYPE_SET_TSFTBTT        0x0D
 49#define MESSAGE_TYPE_SET_SSTIFS         0x0E
 50#define MESSAGE_TYPE_CHANGE_BBTYPE      0x0F
 51#define MESSAGE_TYPE_DISABLE_PS         0x10
 52#define MESSAGE_TYPE_WRITE_IFRF         0x11
 53
 54//used for read/write(index)
 55#define MESSAGE_REQUEST_MEM             0x01
 56#define MESSAGE_REQUEST_BBREG           0x02
 57#define MESSAGE_REQUEST_MACREG          0x03
 58#define MESSAGE_REQUEST_EEPROM          0x04
 59#define MESSAGE_REQUEST_TSF             0x05
 60#define MESSAGE_REQUEST_TBTT            0x06
 61#define MESSAGE_REQUEST_BBAGC           0x07
 62#define MESSAGE_REQUEST_VERSION         0x08
 63#define MESSAGE_REQUEST_RF_INIT         0x09
 64#define MESSAGE_REQUEST_RF_INIT2        0x0A
 65#define MESSAGE_REQUEST_RF_CH0          0x0B
 66#define MESSAGE_REQUEST_RF_CH1          0x0C
 67#define MESSAGE_REQUEST_RF_CH2          0x0D
 68
 69
 70#define VIAUSB20_PACKET_HEADER          0x04
 71
 72
 73/*---------------------  Export Classes  ----------------------------*/
 74
 75typedef struct _CMD_MESSAGE
 76{
 77    BYTE        byData[256];
 78} CMD_MESSAGE, *PCMD_MESSAGE;
 79
 80typedef struct _CMD_WRITE_MASK
 81{
 82    BYTE        byData;
 83    BYTE        byMask;
 84} CMD_WRITE_MASK, *PCMD_WRITE_MASK;
 85
 86typedef struct _CMD_CARD_INIT
 87{
 88    BYTE        byInitClass;
 89    BYTE        bExistSWNetAddr;
 90    BYTE        bySWNetAddr[6];
 91    BYTE        byShortRetryLimit;
 92    BYTE        byLongRetryLimit;
 93} CMD_CARD_INIT, *PCMD_CARD_INIT;
 94
 95typedef struct _RSP_CARD_INIT
 96{
 97    BYTE        byStatus;
 98    BYTE        byNetAddr[6];
 99    BYTE        byRFType;
100    BYTE        byMinChannel;
101    BYTE        byMaxChannel;
102} RSP_CARD_INIT, *PRSP_CARD_INIT;
103
104typedef struct _CMD_SET_KEY
105{
106    WORD        wKCTL;
107    BYTE        abyMacAddr[6];
108    BYTE        abyKey[16];
109} CMD_SET_KEY, *PCMD_SET_KEY;
110
111typedef struct _CMD_CLRKEY_ENTRY
112{
113    BYTE        abyKeyEntry[11];
114} CMD_CLRKEY_ENTRY, *PCMD_CLRKEY_ENTRY;
115
116typedef struct _CMD_WRITE_MISCFF
117{
118    DWORD       adwMiscFFData[22][4];  //a key entry has only 22 dwords
119} CMD_WRITE_MISCFF, *PCMD_WRITE_MISCFF;
120
121typedef struct _CMD_SET_TSFTBTT
122{
123    BYTE        abyTSF_TBTT[8];
124} CMD_SET_TSFTBTT, *PCMD_SET_TSFTBTT;
125
126typedef struct _CMD_SET_SSTIFS
127{
128    BYTE        bySIFS;
129    BYTE        byDIFS;
130    BYTE        byEIFS;
131    BYTE        bySlotTime;
132    BYTE        byCwMax_Min;
133    BYTE        byBBCR10;
134} CMD_SET_SSTIFS, *PCMD_SET_SSTIFS;
135
136typedef struct _CMD_CHANGE_BBTYPE
137{
138    BYTE        bySIFS;
139    BYTE        byDIFS;
140    BYTE        byEIFS;
141    BYTE        bySlotTime;
142    BYTE        byCwMax_Min;
143    BYTE        byBBCR10;
144    BYTE        byBB_BBType;    //CR88
145    BYTE        byMAC_BBType;
146    DWORD       dwRSPINF_b_1;
147    DWORD       dwRSPINF_b_2;
148    DWORD       dwRSPINF_b_55;
149    DWORD       dwRSPINF_b_11;
150    WORD        wRSPINF_a[9];
151} CMD_CHANGE_BBTYPE, *PCMD_CHANGE_BBTYPE;
152
153/*---------------------  Export Macros -------------------------*/
154
155#define EXCH_WORD(w) ((WORD)((WORD)(w)<<8) | (WORD)((WORD)(w)>>8))
156
157/*---------------------  Export Variables  --------------------------*/
158
159/*---------------------  Export Functions  --------------------------*/
160
161#endif /* _RNDIS_H_ */
v3.5.6
  1/*
  2 * Copyright (c) 1996, 2003 VIA Networking Technologies, Inc.
  3 * All rights reserved.
  4 *
  5 * This program is free software; you can redistribute it and/or modify
  6 * it under the terms of the GNU General Public License as published by
  7 * the Free Software Foundation; either version 2 of the License, or
  8 * (at your option) any later version.
  9 *
 10 * This program is distributed in the hope that it will be useful,
 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 13 * GNU General Public License for more details.
 14 *
 15 * You should have received a copy of the GNU General Public License along
 16 * with this program; if not, write to the Free Software Foundation, Inc.,
 17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 18 *
 19 *
 20 * File: rndis.h
 21 *
 22 * Purpose: Interface between firmware and driver
 23 *
 24 * Author: Warren Hsu
 25 *
 26 * Date: Nov 24, 2004
 27 *
 28 */
 29
 30
 31#ifndef __RNDIS_H__
 32#define __RNDIS_H__
 33
 34/*---------------------  Export Definitions -------------------------*/
 35#define MESSAGE_TYPE_READ               0x01
 36#define MESSAGE_TYPE_WRITE              0x00
 37#define MESSAGE_TYPE_LOCK_OR            0x02
 38#define MESSAGE_TYPE_LOCK_AND           0x03
 39#define MESSAGE_TYPE_WRITE_MASK         0x04
 40#define MESSAGE_TYPE_CARDINIT           0x05
 41#define MESSAGE_TYPE_INIT_RSP           0x06
 42#define MESSAGE_TYPE_MACSHUTDOWN        0x07
 43#define MESSAGE_TYPE_SETKEY             0x08
 44#define MESSAGE_TYPE_CLRKEYENTRY        0x09
 45#define MESSAGE_TYPE_WRITE_MISCFF       0x0A
 46#define MESSAGE_TYPE_SET_ANTMD          0x0B
 47#define MESSAGE_TYPE_SELECT_CHANNLE     0x0C
 48#define MESSAGE_TYPE_SET_TSFTBTT        0x0D
 49#define MESSAGE_TYPE_SET_SSTIFS         0x0E
 50#define MESSAGE_TYPE_CHANGE_BBTYPE      0x0F
 51#define MESSAGE_TYPE_DISABLE_PS         0x10
 52#define MESSAGE_TYPE_WRITE_IFRF         0x11
 53
 54//used for read/write(index)
 55#define MESSAGE_REQUEST_MEM             0x01
 56#define MESSAGE_REQUEST_BBREG           0x02
 57#define MESSAGE_REQUEST_MACREG          0x03
 58#define MESSAGE_REQUEST_EEPROM          0x04
 59#define MESSAGE_REQUEST_TSF             0x05
 60#define MESSAGE_REQUEST_TBTT            0x06
 61#define MESSAGE_REQUEST_BBAGC           0x07
 62#define MESSAGE_REQUEST_VERSION         0x08
 63#define MESSAGE_REQUEST_RF_INIT         0x09
 64#define MESSAGE_REQUEST_RF_INIT2        0x0A
 65#define MESSAGE_REQUEST_RF_CH0          0x0B
 66#define MESSAGE_REQUEST_RF_CH1          0x0C
 67#define MESSAGE_REQUEST_RF_CH2          0x0D
 68
 69
 70#define VIAUSB20_PACKET_HEADER          0x04
 71
 72
 73/*---------------------  Export Classes  ----------------------------*/
 74
 75typedef struct _CMD_MESSAGE
 76{
 77    BYTE        byData[256];
 78} CMD_MESSAGE, *PCMD_MESSAGE;
 79
 80typedef struct _CMD_WRITE_MASK
 81{
 82    BYTE        byData;
 83    BYTE        byMask;
 84} CMD_WRITE_MASK, *PCMD_WRITE_MASK;
 85
 86typedef struct _CMD_CARD_INIT
 87{
 88    BYTE        byInitClass;
 89    BYTE        bExistSWNetAddr;
 90    BYTE        bySWNetAddr[6];
 91    BYTE        byShortRetryLimit;
 92    BYTE        byLongRetryLimit;
 93} CMD_CARD_INIT, *PCMD_CARD_INIT;
 94
 95typedef struct _RSP_CARD_INIT
 96{
 97    BYTE        byStatus;
 98    BYTE        byNetAddr[6];
 99    BYTE        byRFType;
100    BYTE        byMinChannel;
101    BYTE        byMaxChannel;
102} RSP_CARD_INIT, *PRSP_CARD_INIT;
103
104typedef struct _CMD_SET_KEY
105{
106    WORD        wKCTL;
107    BYTE        abyMacAddr[6];
108    BYTE        abyKey[16];
109} CMD_SET_KEY, *PCMD_SET_KEY;
110
111typedef struct _CMD_CLRKEY_ENTRY
112{
113    BYTE        abyKeyEntry[11];
114} CMD_CLRKEY_ENTRY, *PCMD_CLRKEY_ENTRY;
115
116typedef struct _CMD_WRITE_MISCFF
117{
118    DWORD       adwMiscFFData[22][4];  //a key entry has only 22 dwords
119} CMD_WRITE_MISCFF, *PCMD_WRITE_MISCFF;
120
121typedef struct _CMD_SET_TSFTBTT
122{
123    BYTE        abyTSF_TBTT[8];
124} CMD_SET_TSFTBTT, *PCMD_SET_TSFTBTT;
125
126typedef struct _CMD_SET_SSTIFS
127{
128    BYTE        bySIFS;
129    BYTE        byDIFS;
130    BYTE        byEIFS;
131    BYTE        bySlotTime;
132    BYTE        byCwMax_Min;
133    BYTE        byBBCR10;
134} CMD_SET_SSTIFS, *PCMD_SET_SSTIFS;
135
136typedef struct _CMD_CHANGE_BBTYPE
137{
138    BYTE        bySIFS;
139    BYTE        byDIFS;
140    BYTE        byEIFS;
141    BYTE        bySlotTime;
142    BYTE        byCwMax_Min;
143    BYTE        byBBCR10;
144    BYTE        byBB_BBType;    //CR88
145    BYTE        byMAC_BBType;
146    DWORD       dwRSPINF_b_1;
147    DWORD       dwRSPINF_b_2;
148    DWORD       dwRSPINF_b_55;
149    DWORD       dwRSPINF_b_11;
150    WORD        wRSPINF_a[9];
151} CMD_CHANGE_BBTYPE, *PCMD_CHANGE_BBTYPE;
152
153/*---------------------  Export Macros -------------------------*/
154
155#define EXCH_WORD(w) ((WORD)((WORD)(w)<<8) | (WORD)((WORD)(w)>>8))
156
157/*---------------------  Export Variables  --------------------------*/
158
159/*---------------------  Export Functions  --------------------------*/
160
161#endif /* _RNDIS_H_ */