dc72f4c6a80b86a40c199464b6f282936f187dff
[platform/upstream/libpcap.git] / msdos / ndis2.h
1 /* \r
2  * Copyright (c) 1993,1994\r
3  *      Texas A&M University.  All rights reserved.\r
4  *\r
5  * Redistribution and use in source and binary forms, with or without\r
6  * modification, are permitted provided that the following conditions\r
7  * are met:\r
8  * 1. Redistributions of source code must retain the above copyright\r
9  *    notice, this list of conditions and the following disclaimer.\r
10  * 2. Redistributions in binary form must reproduce the above copyright\r
11  *    notice, this list of conditions and the following disclaimer in the\r
12  *    documentation and/or other materials provided with the distribution.\r
13  * 3. All advertising materials mentioning features or use of this software\r
14  *    must display the following acknowledgement:\r
15  *      This product includes software developed by Texas A&M University\r
16  *      and its contributors.\r
17  * 4. Neither the name of the University nor the names of its contributors\r
18  *    may be used to endorse or promote products derived from this software\r
19  *    without specific prior written permission.\r
20  *\r
21  * THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY AND CONTRIBUTORS ``AS IS'' AND\r
22  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r
23  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
24  * ARE DISCLAIMED.  IN NO EVENT SHALL THE UNIVERSITY OR CONTRIBUTORS BE LIABLE\r
25  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
26  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\r
27  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\r
28  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\r
29  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\r
30  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\r
31  * SUCH DAMAGE.\r
32  *\r
33  * Developers:\r
34  *             David K. Hess, Douglas Lee Schales, David R. Safford\r
35  *\r
36  * Heavily modified for Metaware HighC + GNU C 2.8+\r
37  *             Gisle Vanem 1998\r
38  */\r
39 \r
40 #ifndef __PCAP_NDIS_H\r
41 #define __PCAP_NDIS_H\r
42 \r
43 #if defined (__HIGHC__)\r
44   #define pascal          _CC(_CALLEE_POPS_STACK & ~_REVERSE_PARMS) /* calling convention */\r
45   #define CALLBACK(foo)   pascal WORD foo\r
46   #define PAS_PTR(x,arg)  typedef FAR WORD pascal (*x) arg\r
47   #define GUARD()         _inline (0x9C,0xFA)   /* pushfd, cli */\r
48   #define UNGUARD()       _inline (0x9D)        /* popfd */\r
49   #define FAR             _far\r
50 \r
51 #elif defined(__GNUC__)\r
52   #define CALLBACK(foo)   WORD foo __attribute__((stdcall))\r
53   #define PAS_PTR(x,arg)  typedef WORD (*x) arg __attribute__((stdcall))\r
54   #define GUARD()         __asm__ __volatile__ ("pushfd; cli")\r
55   #define UNGUARD()       __asm__ __volatile__ ("popfd")\r
56   #define FAR\r
57 \r
58 #elif defined (__TURBOC__)\r
59   #define CALLBACK(foo)   WORD pascal foo\r
60   #define PAS_PTR(x,arg)  typedef WORD pascal (_far *x) arg\r
61   #define GUARD()         _asm { pushf; cli }\r
62   #define UNGUARD()       _asm { popf }\r
63   #define FAR             _far\r
64 \r
65 #elif defined (__WATCOMC__)\r
66   #define CALLBACK(foo)   WORD pascal foo\r
67   #define PAS_PTR(x,arg)  typedef WORD pascal (_far *x) arg\r
68   #define GUARD()         _disable()\r
69   #define UNGUARD()       _enable()\r
70   #define FAR             _far\r
71 \r
72 #else\r
73   #error Unsupported compiler\r
74 #endif\r
75 \r
76 \r
77 /*\r
78  *  Forwards\r
79  */\r
80 struct _ReqBlock;\r
81 struct _TxBufDescr;\r
82 struct _TDBufDescr;\r
83 \r
84 /*\r
85  * Protocol Manager API\r
86  */\r
87 PAS_PTR (ProtMan, (struct _ReqBlock FAR*, WORD));\r
88 \r
89 /*\r
90  * System request\r
91  */\r
92 PAS_PTR (SystemRequest, (DWORD, DWORD, WORD, WORD, WORD));\r
93 \r
94 /*\r
95  * MAC API\r
96  */\r
97 PAS_PTR (TransmitChain, (WORD, WORD, struct _TxBufDescr FAR*, WORD));\r
98 PAS_PTR (TransferData,  (WORD*,WORD, struct _TDBufDescr FAR*, WORD));\r
99 PAS_PTR (Request,       (WORD, WORD, WORD, DWORD, WORD, WORD));\r
100 PAS_PTR (ReceiveRelease,(WORD, WORD));\r
101 PAS_PTR (IndicationOn,  (WORD));\r
102 PAS_PTR (IndicationOff, (WORD));\r
103 \r
104 \r
105 typedef enum {\r
106         HARDWARE_NOT_INSTALLED  = 0,\r
107         HARDWARE_FAILED_DIAG    = 1,\r
108         HARDWARE_FAILED_CONFIG  = 2,\r
109         HARDWARE_HARD_FAULT     = 3,\r
110         HARDWARE_SOFT_FAULT     = 4,\r
111         HARDWARE_OK             = 7,\r
112         HARDWARE_MASK           = 0x0007,\r
113         MAC_BOUND               = 0x0008,\r
114         MAC_OPEN                = 0x0010,\r
115         DIAG_IN_PROGRESS        = 0x0020\r
116       } NdisMacStatus;\r
117 \r
118 typedef enum {\r
119         STATUS_RING_STATUS      = 1,\r
120         STATUS_ADAPTER_CHECK    = 2,\r
121         STATUS_START_RESET      = 3,\r
122         STATUS_INTERRUPT        = 4,\r
123         STATUS_END_RESET        = 5\r
124       } NdisStatus;\r
125 \r
126 typedef enum {\r
127         FILTER_DIRECTED         = 1,\r
128         FILTER_BROADCAST        = 2,\r
129         FILTER_PROMISCUOUS      = 4,\r
130         FILTER_SOURCE_ROUTE     = 8\r
131       } NdisPacketFilter;\r
132 \r
133 typedef enum {\r
134         REQ_INITIATE_DIAGNOSTICS     = 1,\r
135         REQ_READ_ERROR_LOG           = 2,\r
136         REQ_SET_STATION_ADDRESS      = 3,\r
137         REQ_OPEN_ADAPTER             = 4,\r
138         REQ_CLOSE_ADAPTER            = 5,\r
139         REQ_RESET_MAC                = 6,\r
140         REQ_SET_PACKET_FILTER        = 7,\r
141         REQ_ADD_MULTICAST_ADDRESS    = 8,\r
142         REQ_DELETE_MULTICAST_ADDRESS = 9,\r
143         REQ_UPDATE_STATISTICS        = 10,\r
144         REQ_CLEAR_STATISTICS         = 11,\r
145         REQ_INTERRUPT_REQUEST        = 12,\r
146         REQ_SET_FUNCTIONAL_ADDRESS   = 13,\r
147         REQ_SET_LOOKAHEAD            = 14\r
148       } NdisGeneralRequest;\r
149 \r
150 typedef enum {\r
151         SF_BROADCAST             = 0x00000001L,\r
152         SF_MULTICAST             = 0x00000002L,\r
153         SF_FUNCTIONAL            = 0x00000004L,\r
154         SF_PROMISCUOUS           = 0x00000008L,\r
155         SF_SOFT_ADDRESS          = 0x00000010L,\r
156         SF_STATS_CURRENT         = 0x00000020L,\r
157         SF_INITIATE_DIAGS        = 0x00000040L,\r
158         SF_LOOPBACK              = 0x00000080L,\r
159         SF_RECEIVE_CHAIN         = 0x00000100L,\r
160         SF_SOURCE_ROUTING        = 0x00000200L,\r
161         SF_RESET_MAC             = 0x00000400L,\r
162         SF_OPEN_CLOSE            = 0x00000800L,\r
163         SF_INTERRUPT_REQUEST     = 0x00001000L,\r
164         SF_SOURCE_ROUTING_BRIDGE = 0x00002000L,\r
165         SF_VIRTUAL_ADDRESSES     = 0x00004000L\r
166       } NdisMacServiceFlags;\r
167 \r
168 typedef enum {\r
169         REQ_INITIATE_BIND        = 1,\r
170         REQ_BIND                 = 2,\r
171         REQ_INITIATE_PREBIND     = 3,\r
172         REQ_INITIATE_UNBIND      = 4,\r
173         REQ_UNBIND               = 5\r
174       } NdisSysRequest;\r
175 \r
176 typedef enum  {\r
177         PM_GET_PROTOCOL_MANAGER_INFO      = 1,\r
178         PM_REGISTER_MODULE                = 2,\r
179         PM_BIND_AND_START                 = 3,\r
180         PM_GET_PROTOCOL_MANAGER_LINKAGE   = 4,\r
181         PM_GET_PROTOCOL_INI_PATH          = 5,\r
182         PM_REGISTER_PROTOCOL_MANAGER_INFO = 6,\r
183         PM_INIT_AND_REGISTER              = 7,\r
184         PM_UNBIND_AND_STOP                = 8,\r
185         PM_BIND_STATUS                    = 9,\r
186         PM_REGISTER_STATUS                = 10\r
187       } NdisProtManager;\r
188 \r
189 \r
190 typedef enum {\r
191         ERR_SUCCESS                      = 0x00,\r
192         ERR_WAIT_FOR_RELEASE             = 0x01,\r
193         ERR_REQUEST_QUEUED               = 0x02,\r
194         ERR_FRAME_NOT_RECOGNIZED         = 0x03,\r
195         ERR_FRAME_REJECTED               = 0x04,\r
196         ERR_FORWARD_FRAME                = 0x05,\r
197         ERR_OUT_OF_RESOURCE              = 0x06,\r
198         ERR_INVALID_PARAMETER            = 0x07,\r
199         ERR_INVALID_FUNCTION             = 0x08,\r
200         ERR_NOT_SUPPORTED                = 0x09,\r
201         ERR_HARDWARE_ERROR               = 0x0A,\r
202         ERR_TRANSMIT_ERROR               = 0x0B,\r
203         ERR_NO_SUCH_DESTINATION          = 0x0C,\r
204         ERR_BUFFER_TOO_SMALL             = 0x0D,\r
205         ERR_ALREADY_STARTED              = 0x20,\r
206         ERR_INCOMPLETE_BINDING           = 0x21,\r
207         ERR_DRIVER_NOT_INITIALIZED       = 0x22,\r
208         ERR_HARDWARE_NOT_FOUND           = 0x23,\r
209         ERR_HARDWARE_FAILURE             = 0x24,\r
210         ERR_CONFIGURATION_FAILURE        = 0x25,\r
211         ERR_INTERRUPT_CONFLICT           = 0x26,\r
212         ERR_INCOMPATIBLE_MAC             = 0x27,\r
213         ERR_INITIALIZATION_FAILED        = 0x28,\r
214         ERR_NO_BINDING                   = 0x29,\r
215         ERR_NETWORK_MAY_NOT_BE_CONNECTED = 0x2A,\r
216         ERR_INCOMPATIBLE_OS_VERSION      = 0x2B,\r
217         ERR_ALREADY_REGISTERED           = 0x2C,\r
218         ERR_PATH_NOT_FOUND               = 0x2D,\r
219         ERR_INSUFFICIENT_MEMORY          = 0x2E,\r
220         ERR_INFO_NOT_FOUND               = 0x2F,\r
221         ERR_GENERAL_FAILURE              = 0xFF\r
222       } NdisError;\r
223 \r
224 #define NDIS_PARAM_INTEGER   0\r
225 #define NDIS_PARAM_STRING    1\r
226 \r
227 #define NDIS_TX_BUF_LENGTH   8\r
228 #define NDIS_TD_BUF_LENGTH   1\r
229 #define NDIS_RX_BUF_LENGTH   8\r
230 \r
231 #define NDIS_PTR_PHYSICAL    0\r
232 #define NDIS_PTR_VIRTUAL     2\r
233 \r
234 #define NDIS_PATH    "PROTMAN$"\r
235 \r
236 \r
237 typedef struct _CommonChars {\r
238         WORD  tableSize;\r
239         BYTE  majorNdisVersion;        /* 2 - Latest version */\r
240         BYTE  minorNdisVersion;        /* 0                  */\r
241         WORD  reserved1;\r
242         BYTE  majorModuleVersion;\r
243         BYTE  minorModuleVersion;\r
244         DWORD moduleFlags;\r
245         /* 0 - Binding at upper boundary supported\r
246          * 1 - Binding at lower boundary supported\r
247          * 2 - Dynamically bound.\r
248          * 3-31 - Reserved, must be zero.\r
249          */\r
250         BYTE  moduleName[16];\r
251         BYTE  protocolLevelUpper;\r
252         /* 1 - MAC\r
253          * 2 - Data Link\r
254          * 3 - Network\r
255          * 4 - Transport\r
256          * 5 - Session\r
257          * -1 - Not specified\r
258          */\r
259         BYTE  interfaceUpper;\r
260         BYTE  protocolLevelLower;\r
261         /* 0 - Physical\r
262          * 1 - MAC\r
263          * 2 - Data Link\r
264          * 3 - Network\r
265          * 4 - Transport\r
266          * 5 - Session\r
267          * -1 - Not specified\r
268          */\r
269         BYTE  interfaceLower;\r
270         WORD  moduleId;\r
271         WORD  moduleDS;\r
272         SystemRequest systemRequest;\r
273         BYTE *serviceChars;\r
274         BYTE *serviceStatus;\r
275         BYTE *upperDispatchTable;\r
276         BYTE *lowerDispatchTable;\r
277         BYTE *reserved2;            /* Must be NULL */\r
278         BYTE *reserved3;            /* Must be NULL */\r
279       } CommonChars;\r
280 \r
281 \r
282 typedef struct _MulticastList {\r
283         WORD   maxMulticastAddresses;\r
284         WORD   numberMulticastAddresses;\r
285         BYTE   multicastAddress[16][16];\r
286       } MulticastList;\r
287 \r
288 \r
289 typedef struct _MacChars {\r
290         WORD   tableSize;\r
291         BYTE   macName[16];\r
292         WORD   addressLength;\r
293         BYTE   permanentAddress[16];\r
294         BYTE   currentAddress[16];\r
295         DWORD  currentFunctionalAddress;\r
296         MulticastList *multicastList;\r
297         DWORD  linkSpeed;\r
298         DWORD  serviceFlags;\r
299         WORD   maxFrameSize;\r
300         DWORD  txBufferSize;\r
301         WORD   txBufferAllocSize;\r
302         DWORD  rxBufferSize;\r
303         WORD   rxBufferAllocSize;\r
304         BYTE   ieeeVendor[3];\r
305         BYTE   vendorAdapter;\r
306         BYTE  *vendorAdapterDescription;\r
307         WORD   interruptLevel;\r
308         WORD   txQueueDepth;\r
309         WORD   maxDataBlocks;\r
310       } MacChars;\r
311 \r
312 \r
313 typedef struct _ProtocolChars {\r
314         WORD   length;\r
315         BYTE   name[16];\r
316         WORD   type;\r
317       } ProtocolChars;\r
318 \r
319 \r
320 typedef struct _MacUpperDispatch {\r
321         CommonChars      *backPointer;\r
322         Request           request;\r
323         TransmitChain     transmitChain;\r
324         TransferData      transferData;\r
325         ReceiveRelease    receiveRelease;\r
326         IndicationOn      indicationOn;\r
327         IndicationOff     indicationOff;\r
328       } MacUpperDispatch;\r
329 \r
330 \r
331 typedef struct _MacStatusTable {\r
332         WORD   tableSize;\r
333         DWORD  lastDiag;\r
334         DWORD  macStatus;\r
335         WORD   packetFilter;\r
336         BYTE  *mediaSpecificStats;\r
337         DWORD  lastClear;\r
338         DWORD  totalFramesRx;\r
339         DWORD  totalFramesCrc;\r
340         DWORD  totalBytesRx;\r
341         DWORD  totalDiscardBufSpaceRx;\r
342         DWORD  totalMulticastRx;\r
343         DWORD  totalBroadcastRx;\r
344         DWORD  obsolete1[5];\r
345         DWORD  totalDiscardHwErrorRx;\r
346         DWORD  totalFramesTx;\r
347         DWORD  totalBytesTx;\r
348         DWORD  totalMulticastTx;\r
349         DWORD  totalBroadcastTx;\r
350         DWORD  obsolete2[2];\r
351         DWORD  totalDiscardTimeoutTx;\r
352         DWORD  totalDiscardHwErrorTx;\r
353       } MacStatusTable;\r
354 \r
355 \r
356 typedef struct _ProtDispatch {\r
357         CommonChars *backPointer;\r
358         DWORD        flags;\r
359         /* 0 - handles non-LLC frames\r
360          * 1 - handles specific-LSAP LLC frames\r
361          * 2 - handles specific-LSAP LLC frames\r
362          * 3-31 - reserved must be 0\r
363          */\r
364         void  (*requestConfirm) (void);\r
365         void  (*transmitConfirm) (void);\r
366         void  (*receiveLookahead) (void);\r
367         void  (*indicationComplete) (void);\r
368         void  (*receiveChain) (void);\r
369         void  (*status) (void);\r
370       } ProtDispatch;\r
371 \r
372 \r
373 typedef struct _ReqBlock {\r
374         WORD      opcode;\r
375         WORD      status;\r
376         BYTE FAR *pointer1;\r
377         BYTE FAR *pointer2;\r
378         WORD      word1;\r
379       } ReqBlock;\r
380 \r
381 \r
382 typedef struct _TxBufDescrRec {\r
383         BYTE   txPtrType;\r
384         BYTE   dummy;\r
385         WORD   txDataLen;\r
386         BYTE  *txDataPtr;\r
387       } TxBufDescrRec;\r
388 \r
389 \r
390 typedef struct _TxBufDescr {\r
391         WORD          txImmedLen;\r
392         BYTE         *txImmedPtr;\r
393         WORD          txDataCount;\r
394         TxBufDescrRec txBufDescrRec[NDIS_TX_BUF_LENGTH];\r
395       } TxBufDescr;\r
396 \r
397 \r
398 typedef struct _TDBufDescrRec {\r
399         BYTE   tDPtrType;\r
400         BYTE   dummy;\r
401         WORD   tDDataLen;\r
402         BYTE  *tDDataPtr;\r
403       } TDBufDescrRec;\r
404 \r
405 \r
406 typedef struct _TDBufDescr {\r
407         WORD          tDDataCount;\r
408         TDBufDescrRec tDBufDescrRec[NDIS_TD_BUF_LENGTH];\r
409       } TDBufDescr;\r
410 \r
411 \r
412 typedef struct _RxBufDescrRec {\r
413         WORD   rxDataLen;\r
414         BYTE  *rxDataPtr;\r
415       } RxBufDescrRec;\r
416 \r
417 \r
418 typedef struct _RxBufDescr {\r
419         WORD          rxDataCount;\r
420         RxBufDescrRec rxBufDescrRec[NDIS_RX_BUF_LENGTH];\r
421       } RxBufDescr;\r
422 \r
423 \r
424 typedef struct _PktBuf {\r
425         struct _PktBuf *nextLink;\r
426         struct _PktBuf *prevLink;\r
427         int    handle;\r
428         int    length;\r
429         int    packetLength;\r
430         DWORD  sequence;\r
431         BYTE  *buffer;\r
432       } PktBuf;\r
433 \r
434 \r
435 typedef struct _CardHandle {\r
436         BYTE         moduleName[16];\r
437         CommonChars *common;\r
438       } CardHandle;\r
439 \r
440 \r
441 typedef struct _BindingsList {\r
442         WORD  numBindings;\r
443         BYTE  moduleName[2][16];\r
444       } BindingsList;\r
445 \r
446 \r
447 typedef struct _FailingModules {\r
448         BYTE  upperModuleName[16];\r
449         BYTE  lowerModuleName[16];\r
450       } FailingModules;\r
451 \r
452 \r
453 typedef union _HardwareAddress {\r
454         BYTE  bytes[6];\r
455         WORD  words[3];\r
456         struct {\r
457           BYTE bytes[6];\r
458         } addr;\r
459       } HardwareAddress;\r
460 \r
461 \r
462 typedef struct _FddiHeader {\r
463         BYTE             frameControl;\r
464         HardwareAddress  etherDestHost;\r
465         HardwareAddress  etherSrcHost;\r
466       } FddiHeader;\r
467 \r
468 \r
469 typedef struct _EthernetIIHeader {\r
470         HardwareAddress  etherDestHost;\r
471         HardwareAddress  etherSrcHost;\r
472         WORD             etherType;\r
473       } EthernetIIHeader;\r
474 \r
475 \r
476 typedef struct _Ieee802Dot5Header {\r
477         HardwareAddress  etherDestHost;\r
478         HardwareAddress  etherSrcHost;\r
479         BYTE             routeInfo[30];\r
480       } Ieee802Dot5Header;\r
481 \r
482 \r
483 typedef struct _Ieee802Dot2SnapHeader {\r
484         BYTE  dsap;                      /* 0xAA */\r
485         BYTE  ssap;                      /* 0xAA */\r
486         BYTE  control;                   /* 3    */\r
487         BYTE protocolId[5];\r
488       } Ieee802Dot2SnapHeader;\r
489 \r
490 \r
491 /*\r
492  *  Prototypes\r
493  */\r
494 extern char *NdisLastError        (void);\r
495 extern int   NdisOpen             (void);\r
496 extern int   NdisInit             (int promis);\r
497 extern int   NdisRegisterAndBind  (int promis);\r
498 extern void  NdisShutdown         (void);\r
499 extern void  NdisCheckMacFeatures (struct _CardHandle *card);\r
500 extern int   NdisSendPacket       (struct _PktBuf *pktBuf, int macId);\r
501 \r
502 /*\r
503  *  Assembly "glue" functions\r
504  */\r
505 extern int systemRequestGlue();\r
506 extern int requestConfirmGlue();\r
507 extern int transmitConfirmGlue();\r
508 extern int receiveLookaheadGlue();\r
509 extern int indicationCompleteGlue();\r
510 extern int receiveChainGlue();\r
511 extern int statusGlue();\r
512 \r
513 /*\r
514  *  IOCTL function\r
515  */\r
516 #ifdef __SMALL__\r
517 extern int _far NdisGetLinkage (int handle, char *data, int size);\r
518 #else\r
519 extern int NdisGetLinkage (int handle, char *data, int size);\r
520 #endif\r
521 \r
522 /*\r
523  *  NDIS callback handlers\r
524  */\r
525 CALLBACK (NdisSystemRequest     (DWORD,DWORD, WORD, WORD, WORD));\r
526 CALLBACK (NdisRequestConfirm    ( WORD, WORD, WORD, WORD, WORD,WORD));\r
527 CALLBACK (NdisTransmitConfirm   ( WORD, WORD, WORD, WORD, WORD));\r
528 CALLBACK (NdisReceiveLookahead  ( WORD, WORD, WORD, BYTE*, BYTE*, WORD));\r
529 CALLBACK (NdisReceiveChain      ( WORD, WORD, WORD, struct _RxBufDescr*, BYTE*, WORD));\r
530 CALLBACK (NdisStatusProc        ( WORD, WORD, BYTE*, WORD,WORD));\r
531 CALLBACK (NdisIndicationComplete( WORD, WORD));\r
532 \r
533 BYTE *NdisAllocStack (void);\r
534 void  NdisFreeStack  (BYTE*);\r
535 \r
536 #ifdef __HIGHC__\r
537   #define RENAME_ASM_SYM(x) pragma Alias(x,"@" #x "")  /* prepend `@' */\r
538   #define RENAME_C_SYM(x)   pragma Alias(x,"_" #x "")  /* prepend `_' */\r
539 \r
540   RENAME_ASM_SYM (systemRequestGlue);\r
541   RENAME_ASM_SYM (requestConfirmGlue);\r
542   RENAME_ASM_SYM (transmitConfirmGlue);\r
543   RENAME_ASM_SYM (receiveLookaheadGlue);\r
544   RENAME_ASM_SYM (indicationCompleteGlue);\r
545   RENAME_ASM_SYM (receiveChainGlue);\r
546   RENAME_ASM_SYM (statusGlue);\r
547   RENAME_ASM_SYM (NdisGetLinkage);\r
548   RENAME_C_SYM   (NdisSystemRequest);\r
549   RENAME_C_SYM   (NdisRequestConfirm);\r
550   RENAME_C_SYM   (NdisTransmitConfirm);\r
551   RENAME_C_SYM   (NdisReceiveLookahead);\r
552   RENAME_C_SYM   (NdisIndicationComplete);\r
553   RENAME_C_SYM   (NdisReceiveChain);\r
554   RENAME_C_SYM   (NdisStatusProc);\r
555   RENAME_C_SYM   (NdisAllocStack);\r
556   RENAME_C_SYM   (NdisFreeStack);\r
557 #endif\r
558 \r
559 #endif\r