Staging: rt28x0: updates from vendor's V2.1.0.0 drivers
[sfrench/cifs-2.6.git] / drivers / staging / rt2860 / rtmp_type.h
1 /*
2  *************************************************************************
3  * Ralink Tech Inc.
4  * 5F., No.36, Taiyuan St., Jhubei City,
5  * Hsinchu County 302,
6  * Taiwan, R.O.C.
7  *
8  * (c) Copyright 2002-2007, Ralink Technology, Inc.
9  *
10  * This program is free software; you can redistribute it and/or modify  *
11  * it under the terms of the GNU General Public License as published by  *
12  * the Free Software Foundation; either version 2 of the License, or     *
13  * (at your option) any later version.                                   *
14  *                                                                       *
15  * This program is distributed in the hope that it will be useful,       *
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of        *
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
18  * GNU General Public License for more details.                          *
19  *                                                                       *
20  * You should have received a copy of the GNU General Public License     *
21  * along with this program; if not, write to the                         *
22  * Free Software Foundation, Inc.,                                       *
23  * 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
24  *                                                                       *
25  *************************************************************************
26
27     Module Name:
28     rtmp_type.h
29
30     Abstract:
31
32     Revision History:
33     Who         When            What
34     --------    ----------      ----------------------------------------------
35     Name        Date            Modification logs
36     Paul Lin    1-2-2004
37 */
38 #ifndef __RTMP_TYPE_H__
39 #define __RTMP_TYPE_H__
40
41
42 #define PACKED  __attribute__ ((packed))
43
44 #ifdef LINUX
45 // Put platform dependent declaration here
46 // For example, linux type definition
47 typedef unsigned char           UINT8;
48 typedef unsigned short          UINT16;
49 typedef unsigned int            UINT32;
50 typedef unsigned long long      UINT64;
51 typedef int                                     INT32;
52 typedef long long                       INT64;
53 #endif // LINUX //
54
55 typedef unsigned char *                 PUINT8;
56 typedef unsigned short *                PUINT16;
57 typedef unsigned int *                  PUINT32;
58 typedef unsigned long long *    PUINT64;
59 typedef int     *                                       PINT32;
60 typedef long long *                     PINT64;
61
62 // modified for fixing compile warning on Sigma 8634 platform
63 typedef char                                    STRING;
64 typedef signed char                     CHAR;
65
66 typedef signed short            SHORT;
67 typedef signed int                      INT;
68 typedef signed long                     LONG;
69 typedef signed long long        LONGLONG;
70
71
72 #ifdef LINUX
73 typedef unsigned char           UCHAR;
74 typedef unsigned short          USHORT;
75 typedef unsigned int            UINT;
76 typedef unsigned long           ULONG;
77 #endif // LINUX //
78 typedef unsigned long long      ULONGLONG;
79
80 typedef unsigned char           BOOLEAN;
81 #ifdef LINUX
82 typedef void                            VOID;
83 #endif // LINUX //
84
85 typedef char *                          PSTRING;
86 typedef VOID *                          PVOID;
87 typedef CHAR *                          PCHAR;
88 typedef UCHAR *                         PUCHAR;
89 typedef USHORT *                        PUSHORT;
90 typedef LONG *                          PLONG;
91 typedef ULONG *                         PULONG;
92 typedef UINT *                          PUINT;
93
94 typedef unsigned int    NDIS_MEDIA_STATE;
95
96 typedef union _LARGE_INTEGER {
97     struct {
98         UINT LowPart;
99         INT32 HighPart;
100     } u;
101     INT64 QuadPart;
102 } LARGE_INTEGER;
103
104
105 //
106 // Register set pair for initialzation register set definition
107 //
108 typedef struct  _RTMP_REG_PAIR
109 {
110         ULONG   Register;
111         ULONG   Value;
112 } RTMP_REG_PAIR, *PRTMP_REG_PAIR;
113
114 typedef struct  _REG_PAIR
115 {
116         UCHAR   Register;
117         UCHAR   Value;
118 } REG_PAIR, *PREG_PAIR;
119
120 //
121 // Register set pair for initialzation register set definition
122 //
123 typedef struct  _RTMP_RF_REGS
124 {
125         UCHAR   Channel;
126         ULONG   R1;
127         ULONG   R2;
128         ULONG   R3;
129         ULONG   R4;
130 } RTMP_RF_REGS, *PRTMP_RF_REGS;
131
132 typedef struct _FREQUENCY_ITEM {
133         UCHAR   Channel;
134         UCHAR   N;
135         UCHAR   R;
136         UCHAR   K;
137 } FREQUENCY_ITEM, *PFREQUENCY_ITEM;
138
139
140 typedef int                             NTSTATUS;
141
142
143 #define STATUS_SUCCESS                          0x00
144 #define STATUS_UNSUCCESSFUL             0x01
145
146 #endif  // __RTMP_TYPE_H__ //
147