ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

ndiswan.h
Go to the documentation of this file.
00001 /*
00002  * ndiswan.h
00003  *
00004  * Definitions for NDIS WAN miniport drivers
00005  *
00006  * This file is part of the w32api package.
00007  *
00008  * Contributors:
00009  *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
00010  *
00011  * THIS SOFTWARE IS NOT COPYRIGHTED
00012  *
00013  * This source code is offered for use in the public domain. You may
00014  * use, modify or distribute it freely.
00015  *
00016  * This code is distributed in the hope that it will be useful but
00017  * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
00018  * DISCLAIMED. This includes but is not limited to warranties of
00019  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
00020  *
00021  */
00022 
00023 #pragma once
00024 
00025 #ifndef _NDIS_WAN_
00026 #define _NDIS_WAN_
00027 
00028 #ifdef __cplusplus
00029 extern "C" {
00030 #endif
00031 
00032 #define NDIS_USE_WAN_WRAPPER            0x00000001
00033 
00034 #define NDIS_STATUS_TAPI_INDICATION     ((NDIS_STATUS)0x40010080L)
00035 
00036 /* NDIS_WAN_INFO.FramingBits constants */
00037 #define RAS_FRAMING                     0x00000001
00038 #define RAS_COMPRESSION                 0x00000002
00039 
00040 #define ARAP_V1_FRAMING                 0x00000004
00041 #define ARAP_V2_FRAMING                 0x00000008
00042 #define ARAP_FRAMING                    (ARAP_V1_FRAMING | ARAP_V2_FRAMING)
00043 
00044 #define PPP_MULTILINK_FRAMING           0x00000010
00045 #define PPP_SHORT_SEQUENCE_HDR_FORMAT   0x00000020
00046 #define PPP_MC_MULTILINK_FRAMING        0x00000040
00047 
00048 #define PPP_FRAMING                     0x00000100
00049 #define PPP_COMPRESS_ADDRESS_CONTROL    0x00000200
00050 #define PPP_COMPRESS_PROTOCOL_FIELD     0x00000400
00051 #define PPP_ACCM_SUPPORTED              0x00000800
00052 
00053 #define SLIP_FRAMING                    0x00001000
00054 #define SLIP_VJ_COMPRESSION             0x00002000
00055 #define SLIP_VJ_AUTODETECT              0x00004000
00056 
00057 #define MEDIA_NRZ_ENCODING              0x00010000
00058 #define MEDIA_NRZI_ENCODING             0x00020000
00059 #define MEDIA_NLPID                     0x00040000
00060 
00061 #define RFC_1356_FRAMING                0x00100000
00062 #define RFC_1483_FRAMING                0x00200000
00063 #define RFC_1490_FRAMING                0x00400000
00064 #define LLC_ENCAPSULATION               0x00800000
00065 
00066 #define SHIVA_FRAMING                   0x01000000
00067 #define NBF_PRESERVE_MAC_ADDRESS        0x01000000
00068 
00069 #define PASS_THROUGH_MODE               0x10000000
00070 #define RAW_PASS_THROUGH_MODE           0x20000000
00071 
00072 #define TAPI_PROVIDER                   0x80000000
00073 
00074 #define BRIDGING_FLAG_LANFCS            0x00000001
00075 #define BRIDGING_FLAG_LANID             0x00000002
00076 #define BRIDGING_FLAG_PADDING           0x00000004
00077 
00078 #define BRIDGING_TINYGRAM               0x00000001
00079 #define BRIDGING_LANID                  0x00000002
00080 #define BRIDGING_NO_SPANNING_TREE       0x00000004
00081 #define BRIDGING_8021D_SPANNING_TREE    0x00000008
00082 #define BRIDGING_8021G_SPANNING_TREE    0x00000010
00083 #define BRIDGING_SOURCE_ROUTING         0x00000020
00084 #define BRIDGING_DEC_LANBRIDGE          0x00000040
00085 
00086 #define BRIDGING_TYPE_RESERVED          0x00000001
00087 #define BRIDGING_TYPE_8023_CANON        0x00000002
00088 #define BRIDGING_TYPE_8024_NO_CANON     0x00000004
00089 #define BRIDGING_TYPE_8025_NO_CANON     0x00000008
00090 #define BRIDGING_TYPE_FDDI_NO_CANON     0x00000010
00091 #define BRIDGING_TYPE_8024_CANON        0x00000400
00092 #define BRIDGING_TYPE_8025_CANON        0x00000800
00093 #define BRIDGING_TYPE_FDDI_CANON        0x00001000
00094 
00095 /* NDIS_WAN_COMPRESS_INFO.MSCompType constants */
00096 #define NDISWAN_COMPRESSION             0x00000001
00097 #define NDISWAN_ENCRYPTION              0x00000010
00098 #define NDISWAN_40_ENCRYPTION           0x00000020
00099 #define NDISWAN_128_ENCRYPTION          0x00000040
00100 #define NDISWAN_56_ENCRYPTION           0x00000080
00101 #define NDISWAN_HISTORY_LESS            0x01000000
00102 
00103 /* NDIS_WAN_COMPRESS_INFO.CompType constants */
00104 #define COMPTYPE_OUI                    0
00105 #define COMPTYPE_NT31RAS                254
00106 #define COMPTYPE_NONE                   255
00107 
00108 #define WAN_ERROR_CRC                   ((ULONG)0x00000001)
00109 #define WAN_ERROR_FRAMING               ((ULONG)0x00000002)
00110 #define WAN_ERROR_HARDWAREOVERRUN       ((ULONG)0x00000004)
00111 #define WAN_ERROR_BUFFEROVERRUN         ((ULONG)0x00000008)
00112 #define WAN_ERROR_TIMEOUT               ((ULONG)0x00000010)
00113 #define WAN_ERROR_ALIGNMENT             ((ULONG)0x00000020)
00114 
00115 #define NdisMWanInitializeWrapper(NdisWrapperHandle, \
00116                                   SystemSpecific1,   \
00117                                   SystemSpecific2,   \
00118                                   SystemSpecific3)   \
00119 {                                                     \
00120   NdisMInitializeWrapper(NdisWrapperHandle,           \
00121                          SystemSpecific1,             \
00122                          SystemSpecific2,             \
00123                          SystemSpecific3);            \
00124 }
00125 
00126 typedef struct _NDIS_WAN_INFO {
00127   OUT ULONG MaxFrameSize;
00128   OUT ULONG MaxTransmit;
00129   OUT ULONG HeaderPadding;
00130   OUT ULONG TailPadding;
00131   OUT ULONG Endpoints;
00132   OUT UINT MemoryFlags;
00133   OUT NDIS_PHYSICAL_ADDRESS HighestAcceptableAddress;
00134   OUT ULONG FramingBits;
00135   OUT ULONG DesiredACCM;
00136 } NDIS_WAN_INFO, *PNDIS_WAN_INFO;
00137 
00138 typedef struct _NDIS_WAN_GET_LINK_INFO {
00139   IN NDIS_HANDLE NdisLinkHandle;
00140   IN ULONG MaxSendFrameSize;
00141   OUT ULONG MaxRecvFrameSize;
00142   OUT ULONG HeaderPadding;
00143   OUT ULONG TailPadding;
00144   OUT ULONG SendFramingBits;
00145   OUT ULONG RecvFramingBits;
00146   OUT ULONG SendCompressionBits;
00147   OUT ULONG RecvCompressionBits;
00148   OUT ULONG SendACCM;
00149   OUT ULONG RecvACCM;
00150 } NDIS_WAN_GET_LINK_INFO, *PNDIS_WAN_GET_LINK_INFO;
00151 
00152 typedef struct _NDIS_WAN_SET_LINK_INFO {
00153   IN NDIS_HANDLE NdisLinkHandle;
00154   IN ULONG MaxSendFrameSize;
00155   IN ULONG MaxRecvFrameSize;
00156   IN ULONG HeaderPadding;
00157   IN ULONG TailPadding;
00158   IN ULONG SendFramingBits;
00159   IN ULONG RecvFramingBits;
00160   IN ULONG SendCompressionBits;
00161   IN ULONG RecvCompressionBits;
00162   IN ULONG SendACCM;
00163   IN ULONG RecvACCM;
00164 } NDIS_WAN_SET_LINK_INFO, *PNDIS_WAN_SET_LINK_INFO;
00165 
00166 typedef struct _NDIS_WAN_GET_BRIDGE_INFO {
00167   IN NDIS_HANDLE NdisLinkHandle;
00168   OUT USHORT LanSegmentNumber;
00169   OUT UCHAR BridgeNumber;
00170   OUT UCHAR BridgingOptions;
00171   OUT ULONG BridgingCapabilities;
00172   OUT UCHAR BridgingType;
00173   OUT UCHAR MacBytes[6];
00174 } NDIS_WAN_GET_BRIDGE_INFO, *PNDIS_WAN_GET_BRIDGE_INFO;
00175 
00176 typedef struct _NDIS_WAN_SET_BRIDGE_INFO {
00177   IN NDIS_HANDLE NdisLinkHandle;
00178   IN USHORT LanSegmentNumber;
00179   IN UCHAR BridgeNumber;
00180   IN UCHAR BridgingOptions;
00181   IN ULONG BridgingCapabilities;
00182   IN UCHAR BridgingType;
00183   IN UCHAR MacBytes[6];
00184 } NDIS_WAN_SET_BRIDGE_INFO, *PNDIS_WAN_SET_BRIDGE_INFO;
00185 
00186 typedef struct _NDIS_WAN_COMPRESS_INFO {
00187   UCHAR SessionKey[8];
00188   ULONG MSCompType;
00189   UCHAR CompType;
00190   USHORT CompLength;
00191   _ANONYMOUS_UNION union {
00192     struct {
00193       UCHAR CompOUI[3];
00194       UCHAR CompSubType;
00195       UCHAR CompValues[32];
00196     } Proprietary;
00197     struct {
00198       UCHAR CompValues[32];
00199     } Public;
00200   } DUMMYUNIONNAME;
00201 } NDIS_WAN_COMPRESS_INFO, *PNDIS_WAN_COMPRESS_INFO;
00202 
00203 typedef struct _NDIS_WAN_GET_COMP_INFO {
00204   IN NDIS_HANDLE NdisLinkHandle;
00205   OUT NDIS_WAN_COMPRESS_INFO SendCapabilities;
00206   OUT NDIS_WAN_COMPRESS_INFO RecvCapabilities;
00207 } NDIS_WAN_GET_COMP_INFO, *PNDIS_WAN_GET_COMP_INFO;
00208 
00209 typedef struct _NDIS_WAN_SET_COMP_INFO {
00210   IN NDIS_HANDLE NdisLinkHandle;
00211   IN NDIS_WAN_COMPRESS_INFO SendCapabilities;
00212   IN NDIS_WAN_COMPRESS_INFO RecvCapabilities;
00213 } NDIS_WAN_SET_COMP_INFO, *PNDIS_WAN_SET_COMP_INFO;
00214 
00215 typedef struct _NDIS_WAN_GET_STATS_INFO {
00216   IN NDIS_HANDLE NdisLinkHandle;
00217   OUT ULONG BytesSent;
00218   OUT ULONG BytesRcvd;
00219   OUT ULONG FramesSent;
00220   OUT ULONG FramesRcvd;
00221   OUT ULONG CRCErrors;
00222   OUT ULONG TimeoutErrors;
00223   OUT ULONG AlignmentErrors;
00224   OUT ULONG SerialOverrunErrors;
00225   OUT ULONG FramingErrors;
00226   OUT ULONG BufferOverrunErrors;
00227   OUT ULONG BytesTransmittedUncompressed;
00228   OUT ULONG BytesReceivedUncompressed;
00229   OUT ULONG BytesTransmittedCompressed;
00230   OUT ULONG BytesReceivedCompressed;
00231   OUT ULONG TunnelPacketsRecieved;
00232   OUT ULONG TunnelRecievePacketsPending;
00233   OUT ULONG TunnelPacketsIndicatedUp;
00234   OUT ULONG TunnelRecievePacketsRejected;
00235   OUT ULONG TunnelPacketsSent;
00236   OUT ULONG TunnelPacketsSentComplete;
00237   OUT ULONG TunnelTransmitPacketsPending;
00238   OUT ULONG TunnelPacketsTransmitError;
00239   OUT ULONG TunnelPacketsSentError;
00240   OUT ULONG TunnelTransmitPacketsRejected;
00241   OUT ULONG TunnelAcksSent;
00242   OUT ULONG TunnelAcksSentComplete;
00243   OUT ULONG TunnelGeneric1;
00244   OUT ULONG TunnelGeneric2;
00245   OUT ULONG TunnelGeneric3;
00246 } NDIS_WAN_GET_STATS_INFO, *PNDIS_WAN_GET_STATS_INFO;
00247 
00248 typedef struct _NDIS_MAC_LINE_UP {
00249   IN ULONG LinkSpeed;
00250   IN NDIS_WAN_QUALITY Quality;
00251   IN USHORT SendWindow;
00252   IN NDIS_HANDLE ConnectionWrapperID;
00253   IN NDIS_HANDLE NdisLinkHandle;
00254   OUT NDIS_HANDLE NdisLinkContext;
00255 } NDIS_MAC_LINE_UP, *PNDIS_MAC_LINE_UP;
00256 
00257 typedef struct _NDIS_MAC_LINE_DOWN {
00258   IN NDIS_HANDLE NdisLinkContext;
00259 } NDIS_MAC_LINE_DOWN, *PNDIS_MAC_LINE_DOWN;
00260 
00261 typedef struct _NDIS_MAC_FRAGMENT {
00262   IN NDIS_HANDLE NdisLinkContext;
00263   IN ULONG Errors;
00264 } NDIS_MAC_FRAGMENT, *PNDIS_MAC_FRAGMENT;
00265 
00266 typedef struct _NDIS_WAN_CO_INFO {
00267   OUT ULONG MaxFrameSize;
00268   OUT ULONG MaxSendWindow;
00269   OUT ULONG FramingBits;
00270   OUT ULONG DesiredACCM;
00271 } NDIS_WAN_CO_INFO, *PNDIS_WAN_CO_INFO;
00272 
00273 typedef struct _NDIS_WAN_CO_GET_LINK_INFO {
00274   OUT ULONG MaxSendFrameSize;
00275   OUT ULONG MaxRecvFrameSize;
00276   OUT ULONG SendFramingBits;
00277   OUT ULONG RecvFramingBits;
00278   OUT ULONG SendCompressionBits;
00279   OUT ULONG RecvCompressionBits;
00280   OUT ULONG SendACCM;
00281   OUT ULONG RecvACCM;
00282 } NDIS_WAN_CO_GET_LINK_INFO, *PNDIS_WAN_CO_GET_LINK_INFO;
00283 
00284 typedef struct _NDIS_WAN_CO_SET_LINK_INFO {
00285   IN ULONG MaxSendFrameSize;
00286   IN ULONG MaxRecvFrameSize;
00287   IN ULONG SendFramingBits;
00288   IN ULONG RecvFramingBits;
00289   IN ULONG SendCompressionBits;
00290   IN ULONG RecvCompressionBits;
00291   IN ULONG SendACCM;
00292   IN ULONG RecvACCM;
00293 } NDIS_WAN_CO_SET_LINK_INFO, *PNDIS_WAN_CO_SET_LINK_INFO;
00294 
00295 typedef struct _NDIS_WAN_CO_GET_COMP_INFO {
00296   OUT NDIS_WAN_COMPRESS_INFO SendCapabilities;
00297   OUT NDIS_WAN_COMPRESS_INFO RecvCapabilities;
00298 } NDIS_WAN_CO_GET_COMP_INFO, *PNDIS_WAN_CO_GET_COMP_INFO;
00299 
00300 typedef struct _NDIS_WAN_CO_SET_COMP_INFO {
00301   IN NDIS_WAN_COMPRESS_INFO SendCapabilities;
00302   IN NDIS_WAN_COMPRESS_INFO RecvCapabilities;
00303 } NDIS_WAN_CO_SET_COMP_INFO, *PNDIS_WAN_CO_SET_COMP_INFO;
00304 
00305 typedef struct _NDIS_WAN_CO_GET_STATS_INFO {
00306   OUT ULONG BytesSent;
00307   OUT ULONG BytesRcvd;
00308   OUT ULONG FramesSent;
00309   OUT ULONG FramesRcvd;
00310   OUT ULONG CRCErrors;
00311   OUT ULONG TimeoutErrors;
00312   OUT ULONG AlignmentErrors;
00313   OUT ULONG SerialOverrunErrors;
00314   OUT ULONG FramingErrors;
00315   OUT ULONG BufferOverrunErrors;
00316   OUT ULONG BytesTransmittedUncompressed;
00317   OUT ULONG BytesReceivedUncompressed;
00318   OUT ULONG BytesTransmittedCompressed;
00319   OUT ULONG BytesReceivedCompressed;
00320   OUT ULONG TunnelPacketsRecieved;
00321   OUT ULONG TunnelRecievePacketsPending;
00322   OUT ULONG TunnelPacketsIndicatedUp;
00323   OUT ULONG TunnelRecievePacketsRejected;
00324   OUT ULONG TunnelPacketsSent;
00325   OUT ULONG TunnelPacketsSentComplete;
00326   OUT ULONG TunnelTransmitPacketsPending;
00327   OUT ULONG TunnelPacketsTransmitError;
00328   OUT ULONG TunnelPacketsSentError;
00329   OUT ULONG TunnelTransmitPacketsRejected;
00330   OUT ULONG TunnelAcksSent;
00331   OUT ULONG TunnelAcksSentComplete;
00332   OUT ULONG TunnelGeneric1;
00333   OUT ULONG TunnelGeneric2;
00334   OUT ULONG TunnelGeneric3;
00335 } NDIS_WAN_CO_GET_STATS_INFO, *PNDIS_WAN_CO_GET_STATS_INFO;
00336 
00337 typedef struct _NDIS_WAN_CO_FRAGMENT {
00338   IN ULONG Errors;
00339 } NDIS_WAN_CO_FRAGMENT, *PNDIS_WAN_CO_FRAGMENT;
00340 
00341 typedef struct _WAN_CO_LINKPARAMS {
00342   ULONG TransmitSpeed;
00343   ULONG ReceiveSpeed;
00344   ULONG SendWindow;
00345 } WAN_CO_LINKPARAMS, *PWAN_CO_LINKPARAMS;
00346 
00347 typedef struct _WAN_CO_MTULINKPARAMS {
00348   ULONG Version;
00349   ULONG TransmitSpeed;
00350   ULONG ReceiveSpeed;
00351   ULONG SendWindow;
00352   ULONG MTU;
00353 } WAN_CO_MTULINKPARAMS, *PWAN_CO_MTULINKPARAMS;
00354 
00355 #ifdef __cplusplus
00356 }
00357 #endif
00358 
00359 #endif /* _NDIS_WAN_ */
00360 

Generated on Sat May 26 2012 04:28:46 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.