⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vmini.h

📁 三星2410的BSP开发包
💻 H
字号:
//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
//
// Use of this source code is subject to the terms of the Microsoft end-user
// license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
// If you did not accept the terms of the EULA, you are not authorized to use
// this source code. For a copy of the EULA, please see the LICENSE.RTF on your
// install media.
//
/*++
THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
PARTICULAR PURPOSE.

Module Name:  
    VBridgeNdis.h

Abstract:  
    
    
Functions:
    
Notes: 
   
--*/


#ifndef _VMINI_H
#define _VMINI_H

#define OID_TYPE_MASK                       0xffff0000
#define OID_TYPE_GENERAL_OPERATIONAL        0x00010000
#define OID_TYPE_GENERAL_STATISTICS         0x00020000
#define OID_TYPE_802_3_OPERATIONAL          0x01010000
#define OID_TYPE_802_3_STATISTICS           0x01020000
#define OID_TYPE_CUSTOM_OPER                0xFF010000
#define OID_TYPE_OPTIONAL                   0x00000200

#define VMINI_INDICATE_MAXIMUM              1514                
#define MAC_HEADER_SIZE                     (UINT)14            
#define MAX_SEND_PACKETS                    4

#define VMini_DRIVER_MAJOR_VERSION          1
#define VMini_DRIVER_MINOR_VERSION          0

#define TRANSMIT_BUFFERS                    4 
#define RECEIVE_BUFFERS                     4 

#define TRANSMIT_BUFFER_SIZE                1536
#define RECEIVE_BUFFER_SIZE                 1536

#define	DEFAULT_MULTICASTLIST_MAX			8				//	Most adapters should support this minimum no..

typedef struct
{
    NDIS_HANDLE         vm_VMiniportHandle;                                                                                         
    NDIS_HANDLE         vm_VMiniWrapperHandle;
    UCHAR               vm_PermanentNetworkAddress[6];
    UCHAR               vm_CurrentNetworkAddress[6];
	UCHAR				vm_MulticastAddresses[DEFAULT_MULTICASTLIST_MAX][6];
	DWORD				vm_MulticastAddressesInUse;
    UINT                vm_CurrentPacketFilter;
    UINT                vm_MaxListSize;                     //  Maximum multicast addresses NIC driver can manage.
    HANDLE              vm_EdbgIntHandle;                   //  Trigger this event to get the TX packets sent.
	
	PNDIS_PACKET		pNdisPacket;
    NDIS_HANDLE         NdisPacketPool;
    NDIS_HANDLE         NdisBufferPool;
    
	HANDLE				vm_hInterruptEvent;					//	RX Interrupt event from VBridge..
	HANDLE				vm_hRxThread;						//	RX thread..	
	BOOL				vm_bHalt;							//	Indicate we are halting..
	
	

}   STRUCT_VMINI, *PSTRUCT_VMINI;



#endif  //  _VMINI_H



NDIS_STATUS
InternalVMiniQueryInformation(
    IN  NDIS_HANDLE         MiniportAdapterContext,
    IN  NDIS_OID            Oid,
    IN  PVOID               InformationBuffer,
    IN  ULONG               InformationBufferLength,
    OUT PULONG              BytesWritten,
    OUT PULONG              BytesNeeded
);


NDIS_STATUS
InternalVMiniSetInformation(
   IN   NDIS_HANDLE MiniportAdapterContext,
   IN   NDIS_OID    Oid,
   IN   PVOID       InformationBuffer,
   IN   ULONG       InformationBufferLength,
   OUT  PULONG      BytesRead,
   OUT  PULONG      BytesNeeded
);



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -