Embed:
(wiki syntax)
Show/hide line numbers
ndiswan.h
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 #ifndef __NDISWAN_H 00024 #define __NDISWAN_H 00025 00026 #if __GNUC__ >=3 00027 #pragma GCC system_header 00028 #endif 00029 00030 #ifdef __cplusplus 00031 extern "C" { 00032 #endif 00033 00034 #include "ndis.h" 00035 00036 #define NDIS_USE_WAN_WRAPPER 0x00000001 00037 00038 #define NDIS_STATUS_TAPI_INDICATION ((NDIS_STATUS)0x40010080L) 00039 00040 /* NDIS_WAN_INFO.FramingBits constants */ 00041 #define RAS_FRAMING 0x00000001 00042 #define RAS_COMPRESSION 0x00000002 00043 00044 #define ARAP_V1_FRAMING 0x00000004 00045 #define ARAP_V2_FRAMING 0x00000008 00046 #define ARAP_FRAMING (ARAP_V1_FRAMING | ARAP_V2_FRAMING) 00047 00048 #define PPP_MULTILINK_FRAMING 0x00000010 00049 #define PPP_SHORT_SEQUENCE_HDR_FORMAT 0x00000020 00050 #define PPP_MC_MULTILINK_FRAMING 0x00000040 00051 00052 #define PPP_FRAMING 0x00000100 00053 #define PPP_COMPRESS_ADDRESS_CONTROL 0x00000200 00054 #define PPP_COMPRESS_PROTOCOL_FIELD 0x00000400 00055 #define PPP_ACCM_SUPPORTED 0x00000800 00056 00057 #define SLIP_FRAMING 0x00001000 00058 #define SLIP_VJ_COMPRESSION 0x00002000 00059 #define SLIP_VJ_AUTODETECT 0x00004000 00060 00061 #define MEDIA_NRZ_ENCODING 0x00010000 00062 #define MEDIA_NRZI_ENCODING 0x00020000 00063 #define MEDIA_NLPID 0x00040000 00064 00065 #define RFC_1356_FRAMING 0x00100000 00066 #define RFC_1483_FRAMING 0x00200000 00067 #define RFC_1490_FRAMING 0x00400000 00068 #define LLC_ENCAPSULATION 0x00800000 00069 00070 #define SHIVA_FRAMING 0x01000000 00071 #define NBF_PRESERVE_MAC_ADDRESS 0x01000000 00072 00073 #define PASS_THROUGH_MODE 0x10000000 00074 #define RAW_PASS_THROUGH_MODE 0x20000000 00075 00076 #define TAPI_PROVIDER 0x80000000 00077 00078 typedef struct _NDIS_WAN_INFO { 00079 /*OUT*/ ULONG MaxFrameSize; 00080 /*OUT*/ ULONG MaxTransmit; 00081 /*OUT*/ ULONG HeaderPadding; 00082 /*OUT*/ ULONG TailPadding; 00083 /*OUT*/ ULONG Endpoints; 00084 /*OUT*/ UINT MemoryFlags; 00085 /*OUT*/ NDIS_PHYSICAL_ADDRESS HighestAcceptableAddress; 00086 /*OUT*/ ULONG FramingBits; 00087 /*OUT*/ ULONG DesiredACCM; 00088 } NDIS_WAN_INFO, *PNDIS_WAN_INFO; 00089 00090 typedef struct _NDIS_WAN_GET_LINK_INFO { 00091 /*IN*/ NDIS_HANDLE NdisLinkHandle; 00092 /*OUT*/ ULONG MaxSendFrameSize; 00093 /*OUT*/ ULONG MaxRecvFrameSize; 00094 /*OUT*/ ULONG HeaderPadding; 00095 /*OUT*/ ULONG TailPadding; 00096 /*OUT*/ ULONG SendFramingBits; 00097 /*OUT*/ ULONG RecvFramingBits; 00098 /*OUT*/ ULONG SendCompressionBits; 00099 /*OUT*/ ULONG RecvCompressionBits; 00100 /*OUT*/ ULONG SendACCM; 00101 /*OUT*/ ULONG RecvACCM; 00102 } NDIS_WAN_GET_LINK_INFO, *PNDIS_WAN_GET_LINK_INFO; 00103 00104 typedef struct _NDIS_WAN_SET_LINK_INFO { 00105 /*IN*/ NDIS_HANDLE NdisLinkHandle; 00106 /*IN*/ ULONG MaxSendFrameSize; 00107 /*IN*/ ULONG MaxRecvFrameSize; 00108 /*IN*/ ULONG HeaderPadding; 00109 /*IN*/ ULONG TailPadding; 00110 /*IN*/ ULONG SendFramingBits; 00111 /*IN*/ ULONG RecvFramingBits; 00112 /*IN*/ ULONG SendCompressionBits; 00113 /*IN*/ ULONG RecvCompressionBits; 00114 /*IN*/ ULONG SendACCM; 00115 /*IN*/ ULONG RecvACCM; 00116 } NDIS_WAN_SET_LINK_INFO, *PNDIS_WAN_SET_LINK_INFO; 00117 00118 /* NDIS_WAN_COMPRESS_INFO.MSCompType constants */ 00119 #define NDISWAN_COMPRESSION 0x00000001 00120 #define NDISWAN_ENCRYPTION 0x00000010 00121 #define NDISWAN_40_ENCRYPTION 0x00000020 00122 #define NDISWAN_128_ENCRYPTION 0x00000040 00123 #define NDISWAN_56_ENCRYPTION 0x00000080 00124 #define NDISWAN_HISTORY_LESS 0x01000000 00125 00126 /* NDIS_WAN_COMPRESS_INFO.CompType constants */ 00127 #define COMPTYPE_OUI 0 00128 #define COMPTYPE_NT31RAS 254 00129 #define COMPTYPE_NONE 255 00130 00131 typedef struct _NDIS_WAN_COMPRESS_INFO { 00132 UCHAR SessionKey[8]; 00133 ULONG MSCompType; 00134 UCHAR CompType; 00135 USHORT CompLength; 00136 _ANONYMOUS_UNION union { 00137 struct { 00138 UCHAR CompOUI[3]; 00139 UCHAR CompSubType; 00140 UCHAR CompValues[32]; 00141 } Proprietary; 00142 struct { 00143 UCHAR CompValues[32]; 00144 } Public; 00145 } DUMMYUNIONNAME; 00146 } NDIS_WAN_COMPRESS_INFO; 00147 00148 typedef NDIS_WAN_COMPRESS_INFO *PNDIS_WAN_COMPRESS_INFO; 00149 00150 typedef struct _NDIS_WAN_GET_COMP_INFO { 00151 /*IN*/ NDIS_HANDLE NdisLinkHandle; 00152 /*OUT*/ NDIS_WAN_COMPRESS_INFO SendCapabilities; 00153 /*OUT*/ NDIS_WAN_COMPRESS_INFO RecvCapabilities; 00154 } NDIS_WAN_GET_COMP_INFO, *PNDIS_WAN_GET_COMP_INFO; 00155 00156 typedef struct _NDIS_WAN_SET_COMP_INFO { 00157 /*IN*/ NDIS_HANDLE NdisLinkHandle; 00158 /*IN*/ NDIS_WAN_COMPRESS_INFO SendCapabilities; 00159 /*IN*/ NDIS_WAN_COMPRESS_INFO RecvCapabilities; 00160 } NDIS_WAN_SET_COMP_INFO, *PNDIS_WAN_SET_COMP_INFO; 00161 00162 typedef struct _NDIS_WAN_GET_STATS_INFO { 00163 /*IN*/ NDIS_HANDLE NdisLinkHandle; 00164 /*OUT*/ ULONG BytesSent; 00165 /*OUT*/ ULONG BytesRcvd; 00166 /*OUT*/ ULONG FramesSent; 00167 /*OUT*/ ULONG FramesRcvd; 00168 /*OUT*/ ULONG CRCErrors; 00169 /*OUT*/ ULONG TimeoutErrors; 00170 /*OUT*/ ULONG AlignmentErrors; 00171 /*OUT*/ ULONG SerialOverrunErrors; 00172 /*OUT*/ ULONG FramingErrors; 00173 /*OUT*/ ULONG BufferOverrunErrors; 00174 /*OUT*/ ULONG BytesTransmittedUncompressed; 00175 /*OUT*/ ULONG BytesReceivedUncompressed; 00176 /*OUT*/ ULONG BytesTransmittedCompressed; 00177 /*OUT*/ ULONG BytesReceivedCompressed; 00178 } NDIS_WAN_GET_STATS_INFO, *PNDIS_WAN_GET_STATS_INFO; 00179 00180 #define NdisMWanInitializeWrapper(NdisWrapperHandle, \ 00181 SystemSpecific1, \ 00182 SystemSpecific2, \ 00183 SystemSpecific3) \ 00184 { \ 00185 NdisMInitializeWrapper(NdisWrapperHandle, \ 00186 SystemSpecific1, \ 00187 SystemSpecific2, \ 00188 SystemSpecific3); \ 00189 } 00190 00191 typedef struct _NDIS_WAN_CO_INFO { 00192 /*OUT*/ ULONG MaxFrameSize; 00193 /*OUT*/ ULONG MaxSendWindow; 00194 /*OUT*/ ULONG FramingBits; 00195 /*OUT*/ ULONG DesiredACCM; 00196 } NDIS_WAN_CO_INFO, *PNDIS_WAN_CO_INFO; 00197 00198 typedef struct _NDIS_WAN_CO_GET_LINK_INFO { 00199 /*OUT*/ ULONG MaxSendFrameSize; 00200 /*OUT*/ ULONG MaxRecvFrameSize; 00201 /*OUT*/ ULONG SendFramingBits; 00202 /*OUT*/ ULONG RecvFramingBits; 00203 /*OUT*/ ULONG SendCompressionBits; 00204 /*OUT*/ ULONG RecvCompressionBits; 00205 /*OUT*/ ULONG SendACCM; 00206 /*OUT*/ ULONG RecvACCM; 00207 } NDIS_WAN_CO_GET_LINK_INFO, *PNDIS_WAN_CO_GET_LINK_INFO; 00208 00209 typedef struct _NDIS_WAN_CO_SET_LINK_INFO { 00210 /*IN*/ ULONG MaxSendFrameSize; 00211 /*IN*/ ULONG MaxRecvFrameSize; 00212 /*IN*/ ULONG SendFramingBits; 00213 /*IN*/ ULONG RecvFramingBits; 00214 /*IN*/ ULONG SendCompressionBits; 00215 /*IN*/ ULONG RecvCompressionBits; 00216 /*IN*/ ULONG SendACCM; 00217 /*IN*/ ULONG RecvACCM; 00218 } NDIS_WAN_CO_SET_LINK_INFO, *PNDIS_WAN_CO_SET_LINK_INFO; 00219 00220 typedef struct _NDIS_WAN_CO_GET_COMP_INFO { 00221 /*OUT*/ NDIS_WAN_COMPRESS_INFO SendCapabilities; 00222 /*OUT*/ NDIS_WAN_COMPRESS_INFO RecvCapabilities; 00223 } NDIS_WAN_CO_GET_COMP_INFO, *PNDIS_WAN_CO_GET_COMP_INFO; 00224 00225 typedef struct _NDIS_WAN_CO_SET_COMP_INFO { 00226 /*IN*/ NDIS_WAN_COMPRESS_INFO SendCapabilities; 00227 /*IN*/ NDIS_WAN_COMPRESS_INFO RecvCapabilities; 00228 } NDIS_WAN_CO_SET_COMP_INFO, *PNDIS_WAN_CO_SET_COMP_INFO; 00229 00230 typedef struct _NDIS_WAN_CO_GET_STATS_INFO { 00231 /*OUT*/ ULONG BytesSent; 00232 /*OUT*/ ULONG BytesRcvd; 00233 /*OUT*/ ULONG FramesSent; 00234 /*OUT*/ ULONG FramesRcvd; 00235 /*OUT*/ ULONG CRCErrors; 00236 /*OUT*/ ULONG TimeoutErrors; 00237 /*OUT*/ ULONG AlignmentErrors; 00238 /*OUT*/ ULONG SerialOverrunErrors; 00239 /*OUT*/ ULONG FramingErrors; 00240 /*OUT*/ ULONG BufferOverrunErrors; 00241 /*OUT*/ ULONG BytesTransmittedUncompressed; 00242 /*OUT*/ ULONG BytesReceivedUncompressed; 00243 /*OUT*/ ULONG BytesTransmittedCompressed; 00244 /*OUT*/ ULONG BytesReceivedCompressed; 00245 } NDIS_WAN_CO_GET_STATS_INFO, *PNDIS_WAN_CO_GET_STATS_INFO; 00246 00247 #ifdef __cplusplus 00248 } 00249 #endif 00250 00251 #endif /* __NDISWAN_H */
Generated on Tue Jul 12 2022 19:59:54 by
1.7.2