home *** CD-ROM | disk | FTP | other *** search
/ H4CK3R 14 / hacker14.iso / programacao / cwin / c.exe / $INSTDIR / include / ddk / ndiswan.h < prev    next >
Encoding:
C/C++ Source or Header  |  2003-12-15  |  7.6 KB  |  256 lines

  1. /*
  2.  * ndiswan.h
  3.  *
  4.  * Definitions for NDIS WAN miniport drivers
  5.  *
  6.  * This file is part of the w32api package.
  7.  *
  8.  * Contributors:
  9.  *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
  10.  *
  11.  * THIS SOFTWARE IS NOT COPYRIGHTED
  12.  *
  13.  * This source code is offered for use in the public domain. You may
  14.  * use, modify or distribute it freely.
  15.  *
  16.  * This code is distributed in the hope that it will be useful but
  17.  * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
  18.  * DISCLAIMED. This includes but is not limited to warranties of
  19.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  20.  *
  21.  */
  22.  
  23. #ifndef __NDISWAN_H
  24. #define __NDISWAN_H
  25.  
  26. #if __GNUC__ >=3
  27. #pragma GCC system_header
  28. #endif
  29.  
  30. #ifdef __cplusplus
  31. extern "C" {
  32. #endif
  33.  
  34. #pragma pack(push,4)
  35.  
  36. #include "ndis.h"
  37.  
  38. #define NDIS_USE_WAN_WRAPPER                     0x00000001
  39.  
  40. #define NDIS_STATUS_TAPI_INDICATION             ((NDIS_STATUS)0x40010080L)
  41.  
  42. /* NDIS_WAN_INFO.FramingBits constants */
  43. #define RAS_FRAMING                     0x00000001
  44. #define RAS_COMPRESSION                 0x00000002
  45.  
  46. #define ARAP_V1_FRAMING                 0x00000004
  47. #define ARAP_V2_FRAMING                 0x00000008
  48. #define ARAP_FRAMING                    (ARAP_V1_FRAMING | ARAP_V2_FRAMING)
  49.  
  50. #define PPP_MULTILINK_FRAMING           0x00000010
  51. #define PPP_SHORT_SEQUENCE_HDR_FORMAT   0x00000020
  52. #define PPP_MC_MULTILINK_FRAMING        0x00000040
  53.  
  54. #define PPP_FRAMING                     0x00000100
  55. #define PPP_COMPRESS_ADDRESS_CONTROL    0x00000200
  56. #define PPP_COMPRESS_PROTOCOL_FIELD     0x00000400
  57. #define PPP_ACCM_SUPPORTED              0x00000800
  58.  
  59. #define SLIP_FRAMING                    0x00001000
  60. #define SLIP_VJ_COMPRESSION             0x00002000
  61. #define SLIP_VJ_AUTODETECT              0x00004000
  62.  
  63. #define MEDIA_NRZ_ENCODING              0x00010000
  64. #define MEDIA_NRZI_ENCODING             0x00020000
  65. #define MEDIA_NLPID                     0x00040000
  66.  
  67. #define RFC_1356_FRAMING                0x00100000
  68. #define RFC_1483_FRAMING                0x00200000
  69. #define RFC_1490_FRAMING                0x00400000
  70. #define LLC_ENCAPSULATION               0x00800000
  71.  
  72. #define SHIVA_FRAMING                   0x01000000
  73. #define NBF_PRESERVE_MAC_ADDRESS        0x01000000
  74.  
  75. #define PASS_THROUGH_MODE               0x10000000
  76. #define RAW_PASS_THROUGH_MODE           0x20000000
  77.  
  78. #define TAPI_PROVIDER                   0x80000000
  79.  
  80. typedef struct _NDIS_WAN_INFO {
  81.   OUT ULONG  MaxFrameSize; 
  82.   OUT ULONG  MaxTransmit; 
  83.   OUT ULONG  HeaderPadding; 
  84.   OUT ULONG  TailPadding; 
  85.   OUT ULONG  Endpoints; 
  86.   OUT UINT  MemoryFlags; 
  87.   OUT NDIS_PHYSICAL_ADDRESS  HighestAcceptableAddress; 
  88.   OUT ULONG  FramingBits; 
  89.   OUT ULONG  DesiredACCM; 
  90. } NDIS_WAN_INFO, *PNDIS_WAN_INFO;
  91.  
  92. typedef struct _NDIS_WAN_GET_LINK_INFO { 
  93.   IN NDIS_HANDLE  NdisLinkHandle; 
  94.   OUT ULONG  MaxSendFrameSize; 
  95.   OUT ULONG  MaxRecvFrameSize; 
  96.   OUT ULONG  HeaderPadding; 
  97.   OUT ULONG  TailPadding; 
  98.   OUT ULONG  SendFramingBits; 
  99.   OUT ULONG  RecvFramingBits; 
  100.   OUT ULONG  SendCompressionBits; 
  101.   OUT ULONG  RecvCompressionBits; 
  102.   OUT ULONG  SendACCM; 
  103.   OUT ULONG  RecvACCM; 
  104. } NDIS_WAN_GET_LINK_INFO, *PNDIS_WAN_GET_LINK_INFO;
  105.  
  106. typedef struct _NDIS_WAN_SET_LINK_INFO { 
  107.   IN NDIS_HANDLE  NdisLinkHandle; 
  108.   IN ULONG  MaxSendFrameSize; 
  109.   IN ULONG  MaxRecvFrameSize; 
  110.   IN ULONG  HeaderPadding; 
  111.   IN ULONG  TailPadding; 
  112.   IN ULONG  SendFramingBits; 
  113.   IN ULONG  RecvFramingBits; 
  114.   IN ULONG  SendCompressionBits; 
  115.   IN ULONG  RecvCompressionBits; 
  116.   IN ULONG  SendACCM; 
  117.   IN ULONG  RecvACCM; 
  118. } NDIS_WAN_SET_LINK_INFO, *PNDIS_WAN_SET_LINK_INFO; 
  119.  
  120. /* NDIS_WAN_COMPRESS_INFO.MSCompType constants */
  121. #define NDISWAN_COMPRESSION                    0x00000001
  122. #define NDISWAN_ENCRYPTION                  0x00000010
  123. #define NDISWAN_40_ENCRYPTION               0x00000020
  124. #define NDISWAN_128_ENCRYPTION              0x00000040
  125. #define NDISWAN_56_ENCRYPTION               0x00000080
  126. #define NDISWAN_HISTORY_LESS                0x01000000
  127.  
  128. /* NDIS_WAN_COMPRESS_INFO.CompType constants */
  129. #define COMPTYPE_OUI                                            0
  130. #define COMPTYPE_NT31RAS                                    254
  131. #define COMPTYPE_NONE                                            255
  132.  
  133. typedef struct _NDIS_WAN_COMPRESS_INFO {
  134.     UCHAR  SessionKey[8];
  135.     ULONG  MSCompType;
  136.     UCHAR  CompType;
  137.     USHORT  CompLength;
  138.     union {
  139.         struct {
  140.             UCHAR  CompOUI[3];
  141.             UCHAR  CompSubType;
  142.             UCHAR  CompValues[32];
  143.         } Proprietary;
  144.         struct {
  145.       UCHAR  CompValues[32];
  146.         } Public;
  147.     };
  148. } NDIS_WAN_COMPRESS_INFO;
  149.  
  150. typedef NDIS_WAN_COMPRESS_INFO *PNDIS_WAN_COMPRESS_INFO;
  151.  
  152. typedef struct _NDIS_WAN_GET_COMP_INFO { 
  153.   IN NDIS_HANDLE  NdisLinkHandle; 
  154.   OUT NDIS_WAN_COMPRESS_INFO  SendCapabilities; 
  155.   OUT NDIS_WAN_COMPRESS_INFO  RecvCapabilities; 
  156. } NDIS_WAN_GET_COMP_INFO, *PNDIS_WAN_GET_COMP_INFO;
  157.  
  158. typedef struct _NDIS_WAN_SET_COMP_INFO {
  159.   IN NDIS_HANDLE  NdisLinkHandle;
  160.   IN NDIS_WAN_COMPRESS_INFO  SendCapabilities;
  161.   IN NDIS_WAN_COMPRESS_INFO  RecvCapabilities;
  162. } NDIS_WAN_SET_COMP_INFO, *PNDIS_WAN_SET_COMP_INFO;
  163.  
  164. typedef struct _NDIS_WAN_GET_STATS_INFO {
  165.   IN NDIS_HANDLE  NdisLinkHandle;
  166.   OUT ULONG  BytesSent;
  167.   OUT ULONG  BytesRcvd;
  168.   OUT ULONG  FramesSent;
  169.   OUT ULONG  FramesRcvd;
  170.   OUT ULONG  CRCErrors;
  171.   OUT ULONG  TimeoutErrors;
  172.   OUT ULONG  AlignmentErrors;
  173.   OUT ULONG  SerialOverrunErrors;
  174.   OUT ULONG  FramingErrors;
  175.   OUT ULONG  BufferOverrunErrors;
  176.   OUT ULONG  BytesTransmittedUncompressed;
  177.   OUT ULONG  BytesReceivedUncompressed;
  178.   OUT ULONG  BytesTransmittedCompressed;
  179.   OUT ULONG  BytesReceivedCompressed;
  180. } NDIS_WAN_GET_STATS_INFO, *PNDIS_WAN_GET_STATS_INFO;
  181.  
  182. #define NdisMWanInitializeWrapper(NdisWrapperHandle,    \
  183.                                   SystemSpecific1,        \
  184.                                   SystemSpecific2,        \
  185.                                   SystemSpecific3)        \
  186. {                                                     \
  187.     NdisMInitializeWrapper(NdisWrapperHandle,              \
  188.                          SystemSpecific1,                  \
  189.                          SystemSpecific2,                  \
  190.                          SystemSpecific3);                 \
  191. }
  192.  
  193. typedef struct _NDIS_WAN_CO_INFO {
  194.   OUT ULONG  MaxFrameSize;
  195.   OUT ULONG  MaxSendWindow;
  196.   OUT ULONG  FramingBits;
  197.   OUT ULONG  DesiredACCM;
  198. } NDIS_WAN_CO_INFO, *PNDIS_WAN_CO_INFO;
  199.  
  200. typedef struct _NDIS_WAN_CO_GET_LINK_INFO {
  201.   OUT ULONG  MaxSendFrameSize;
  202.   OUT ULONG  MaxRecvFrameSize;
  203.   OUT ULONG  SendFramingBits;
  204.   OUT ULONG  RecvFramingBits;
  205.   OUT ULONG  SendCompressionBits;
  206.   OUT ULONG  RecvCompressionBits;
  207.   OUT ULONG  SendACCM;
  208.   OUT ULONG  RecvACCM;
  209. } NDIS_WAN_CO_GET_LINK_INFO, *PNDIS_WAN_CO_GET_LINK_INFO;
  210.  
  211. typedef struct _NDIS_WAN_CO_SET_LINK_INFO {
  212.   IN ULONG  MaxSendFrameSize;
  213.   IN ULONG  MaxRecvFrameSize;
  214.   IN ULONG  SendFramingBits;
  215.   IN ULONG  RecvFramingBits;
  216.   IN ULONG  SendCompressionBits;
  217.   IN ULONG  RecvCompressionBits;
  218.   IN ULONG  SendACCM;
  219.   IN ULONG  RecvACCM;
  220. } NDIS_WAN_CO_SET_LINK_INFO, *PNDIS_WAN_CO_SET_LINK_INFO;
  221.  
  222. typedef struct _NDIS_WAN_CO_GET_COMP_INFO { 
  223.   OUT NDIS_WAN_COMPRESS_INFO  SendCapabilities; 
  224.   OUT NDIS_WAN_COMPRESS_INFO  RecvCapabilities; 
  225. } NDIS_WAN_CO_GET_COMP_INFO, *PNDIS_WAN_CO_GET_COMP_INFO; 
  226.  
  227. typedef struct _NDIS_WAN_CO_SET_COMP_INFO {
  228.   IN NDIS_WAN_COMPRESS_INFO  SendCapabilities;
  229.   IN NDIS_WAN_COMPRESS_INFO  RecvCapabilities;
  230. } NDIS_WAN_CO_SET_COMP_INFO, *PNDIS_WAN_CO_SET_COMP_INFO;
  231.  
  232. typedef struct _NDIS_WAN_CO_GET_STATS_INFO {
  233.   OUT ULONG  BytesSent;
  234.   OUT ULONG  BytesRcvd;
  235.   OUT ULONG  FramesSent;
  236.   OUT ULONG  FramesRcvd;
  237.   OUT ULONG  CRCErrors;
  238.   OUT ULONG  TimeoutErrors;
  239.   OUT ULONG  AlignmentErrors;
  240.   OUT ULONG  SerialOverrunErrors;
  241.   OUT ULONG  FramingErrors;
  242.   OUT ULONG  BufferOverrunErrors;
  243.   OUT ULONG  BytesTransmittedUncompressed;
  244.   OUT ULONG  BytesReceivedUncompressed;
  245.   OUT ULONG  BytesTransmittedCompressed;
  246.   OUT ULONG  BytesReceivedCompressed;
  247. } NDIS_WAN_CO_GET_STATS_INFO, *PNDIS_WAN_CO_GET_STATS_INFO;
  248.  
  249. #pragma pack(pop)
  250.  
  251. #ifdef __cplusplus
  252. }
  253. #endif
  254.  
  255. #endif /* __NDISWAN_H */
  256.