Jungo WinDriver  
Official Documentation
windrvr_32bit.h
Go to the documentation of this file.
1 #ifndef _WINDRVR_32BIT_H_
2 #define _WINDRVR_32BIT_H_
3 
4 /* This header contains 32bit representations of structures which
5  * are used internally and externally */
6 
7 #include "wd_types.h"
8 
9 #if defined(__cplusplus)
10 extern "C" {
11 #endif
12 
13 #if defined(LINUX)
14  #pragma pack(push,4)
15 #endif
16 
17 typedef u32 ptr32;
18 typedef u32 WD_BUS_TYPE_32B;
19 
20 typedef struct
21 {
22  WD_BUS_TYPE_32B dwBusType;
23  u32 dwDomainNum;
24  u32 dwBusNum;
25  u32 dwSlotFunc;
26 } WD_BUS_V30_32B;
27 
28 typedef struct
29 {
30  u32 item;
31  u32 fNotSharable;
32  union
33  {
34  struct
35  { /* ITEM_MEMORY */
36  u64 pPhysicalAddr;
37  u64 qwBytes;
38  u64 pTransAddr;
40  u32 pUserDirectAddr;
42  u32 dwBar;
43  u32 dwOptions;
44  u64 pReserved;
45  } Mem;
46  struct
47  { /* ITEM_IO */
48  u64 pAddr;
49  u32 dwBytes;
50  u32 dwBar;
51  } IO;
52  struct
53  { /* ITEM_INTERRUPT */
54  u32 dwInterrupt;
55  u32 dwOptions;
58  u32 hInterrupt;
60  u32 dwReserved1;
61  u64 pReserved2;
62  } Int;
63  WD_BUS_V30_32B Bus;
64  } I;
65 } WD_ITEMS_V118_32B;
66 
67 typedef struct
68 {
69  u32 dwItems;
70  WD_ITEMS_V118_32B Item[WD_CARD_ITEMS];
71 } WD_CARD_V118_32B;
72 
73 typedef struct
74 {
75  u32 dwVendorId;
76  u32 dwDeviceId;
77 } WD_PCI_ID_32B;
78 
79 typedef struct
80 {
81  u32 hKernelPlugIn;
82  u32 dwMessage;
83  ptr32 pData;
84  u32 dwResult;
85 } WD_KERNEL_PLUGIN_CALL_V40_32B;
86 
87 typedef struct
88 {
89  u32 hInterrupt;
90  u32 dwOptions;
93  u32 Cmd;
94  u32 dwCmds;
96  // For WD_IntEnable():
97  WD_KERNEL_PLUGIN_CALL_V40_32B kpCall;
98  u32 fEnableOk;
100  // For WD_IntWait() and WD_IntCount()
101  u32 dwCounter;
102  u32 dwLost;
104  u32 fStopped;
105  u32 dwLastMessage;
108  u32 dwEnabledIntType;
110 } WD_INTERRUPT_V91_32B;
111 
112 typedef struct
113 {
114  WD_CARD_V118_32B Card;
115  u32 fCheckLockOnly;
117  u32 hCard;
118  u32 dwOptions;
119  CHAR cName[32];
120  CHAR cDescription[100];
121 } WD_CARD_REGISTER_V118_32B;
122 
123 typedef struct
124 {
125  u32 hKernelPlugIn;
126  CHAR cDriverName[WD_MAX_KP_NAME_LENGTH];
127  CHAR cDriverPath[WD_MAX_KP_NAME_LENGTH];
128  ptr32 pOpenData;
129 } WD_KERNEL_PLUGIN_V40_32B;
130 
131 typedef struct
132 {
133  u32 dwDomain;
135  u32 dwBus;
136  u32 dwSlot;
137  u32 dwFunction;
138 } WD_PCI_SLOT_32B;
139 
140 typedef struct
141 {
142  u32 hEvent;
143  u32 dwEventType;
145  u32 dwAction;
146  u32 dwEventId;
147  u32 hKernelPlugIn;
148  u32 dwOptions;
149  union
150  {
151  struct
152  {
153  WD_PCI_ID_32B cardId;
154  WD_PCI_SLOT_32B pciSlot;
155  } Pci;
156  struct
157  {
158  u32 dwUniqueID;
159  } Usb;
160  struct
161  {
162  u32 hIpc;
163  u32 dwSubGroupID;
164  u32 dwGroupID;
165 
166  u32 dwSenderUID;
167  u32 dwMsgID;
168  u64 qwMsgData;
169  } Ipc;
170  } u;
171  u32 dwNumMatchTables;
172  WDU_MATCH_TABLE matchTables[1];
173 } WD_EVENT_V121_32B;
174 
175 /* Only wdc_defs.h structures should be packed */
176 #if defined(WINNT)
177  #include <pshpack1.h>
178 #endif
179 
181 typedef struct {
182  u32 dwAddrSpace;
183  u32 fIsMemory;
184  u32 dwItemIndex;
186  u32 reserved;
187  u64 qwBytes;
188  u64 pAddr;
191  u32 pUserDirectMemAddr;
192 } WDC_ADDR_DESC_32B;
193 
195 typedef struct WDC_DEVICE_32B{
196  WD_PCI_ID_32B id;
197  WD_PCI_SLOT_32B slot;
199  u32 dwNumAddrSpaces;
201  ptr32 pAddrDesc;
203  WD_CARD_REGISTER_V118_32B cardReg;
205  WD_KERNEL_PLUGIN_V40_32B kerPlug;
207  WD_INTERRUPT_V91_32B Int;
208  u32 hIntThread;
209 
210  WD_EVENT_V121_32B Event;
211  u32 hEvent;
212 
213  u32 pCtx;
214 } WDC_DEVICE_32B, *PWDC_DEVICE_32B;
215 
216 #if defined(WINNT)
217  #include <poppack.h>
218 #endif
219 
220 #if defined(LINUX)
221  #pragma pack(pop)
222 #endif
223 
224 #if defined(__cplusplus)
225 }
226 #endif
227 
228 #endif /* _WINDRVR_32BIT_H_ */
229 
unsigned int u32
Definition: wd_types.h:10
unsigned long long u64
Definition: wd_types.h:15
#define WD_MAX_KP_NAME_LENGTH
Definition: windrvr.h:60
@ WD_CARD_ITEMS
Definition: windrvr.h:763
u32 ptr32
Definition: windrvr_32bit.h:17