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

📄 procdef.h

📁 marvell8385 GSPI开发驱动
💻 H
字号:
/******************* (c) Marvell Semiconductor, Inc., 2001 ********************
 *
 *          Purpose:
 *
 *          This file contains the function prototypes for NDIS miniport event handlers
 *
 *  Notes:
 *		    (1) The following NDIS_MINIPORT_CHARACTERISTICS event handlers are 
 *			    declared as inline functions.
 *				1. MrvDrvDisableInterrupt() is declared for DisableInterruptHandler
 *				2. MrvDrvEnableInterrupt() is decalred for EnableInterruptHandler
 *
 *		    (2) The following NDIS_MINIPORT_CHARACTERISTICS event handlers are not
 *			    implemented.
 *				1. ReconfigureHandler
 *				2. SendHandler
 *				3. TransferDataHandler
 *
 *
 *	$Author: heb $
 *
 *	$Date: 2007/07/13 08:01:36 $
 *
 *	$Revision: 1.1.10.1 $
 *  
 *****************************************************************************/

#ifndef _PROCDEF_H_
#define _PROCDEF_H_

#include "If.h"

//===============================================================================
//          PUBLIC PROCEDURES
//===============================================================================

NTSTATUS
DriverEntry(
	IN PDRIVER_OBJECT DriverObject,
	IN PUNICODE_STRING RegistryPath
	);

BOOLEAN
MrvDrvCheckForHang(
	IN NDIS_HANDLE MiniportAdapterContext
	);

VOID
MrvDrvHalt(
	IN  NDIS_HANDLE MiniportAdapterContext
	);

NDIS_STATUS
MrvDrvInitialize(
	OUT PNDIS_STATUS OpenErrorStatus,
	OUT PUINT SelectedMediumIndex,
	IN PNDIS_MEDIUM MediumArray,
	IN UINT MediumArraySize,
	IN NDIS_HANDLE MiniportAdapterHandle,
	IN NDIS_HANDLE WrapperConfigurationContext
	);

VOID
MrvDrvReturnPacket(
    IN NDIS_HANDLE  MiniportAdapterContext,
    IN PNDIS_PACKET Packet);

NDIS_STATUS
MrvDrvReset(
	OUT PBOOLEAN AddressingReset,
	IN  NDIS_HANDLE MiniportAdapterContext
	);

VOID
MrvDrvAllocateComplete(NDIS_HANDLE MiniportAdapterContext,
	IN PVOID VirtualAddress,
	IN PNDIS_PHYSICAL_ADDRESS PhysicalAddress,
	IN ULONG Length,
	IN PVOID Context
	);

//VOID  dralee 20050802
//MrvDrvIsr(
//	OUT PBOOLEAN InterruptRecognized,
//	OUT PBOOLEAN QueueMiniportHandleInterrupt,
//	IN NDIS_HANDLE MiniportAdapterContext
//	);

VOID
MrvDrvHandleInterrupt(
	IN NDIS_HANDLE MiniportAdapterContext
	);

VOID
MrvDrvDisableInterrupt(
	IN NDIS_HANDLE MiniportAdapterContext
	);

VOID
MrvDrvEnableInterrupt(
	IN NDIS_HANDLE MiniportAdapterContext
	);

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

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

 

NDIS_STATUS
MrvDrvSend(
    IN NDIS_HANDLE MiniportAdapterContext,
    IN PNDIS_PACKET Packet,
    IN UINT Flags); 
    
VOID    
MrvDrvTxPktTimerFunction(
	IN PVOID SystemSpecific1,
	IN NDIS_HANDLE MiniportAdapterContext,
	IN PVOID SystemSpecific2,
	IN PVOID SystemSpecific3
	); 
VOID	
MrvDrvRssiHighTimerFunction(
	IN PVOID SystemSpecific1,
	IN NDIS_HANDLE MiniportAdapterContext,
	IN PVOID SystemSpecific2,
	IN PVOID SystemSpecific3
	);
#ifdef RETQ_TIMER
VOID MrvRetQTimerFunction(
	IN PVOID SystemSpecific1,
	IN PVOID FunctionContext,
	IN PVOID SystemSpecific2,
	IN PVOID SystemSpecific3
	);
#endif


VOID MrvDrvCheckTxQueueTimerFunction(
	IN PVOID SystemSpecific1,
	IN PVOID FunctionContext,
	IN PVOID SystemSpecific2,
	IN PVOID SystemSpecific3
	);

VOID MrvDrvPSCheckTxReadyTimerFunction(
	IN PVOID SystemSpecific1,
	IN PVOID FunctionContext,
	IN PVOID SystemSpecific2,
	IN PVOID SystemSpecific3
	);

#ifdef REASSOCIATE
VOID MrvDrvReConnectTimerFunction(
	IN PVOID SystemSpecific1,
	IN PVOID FunctionContext,
	IN PVOID SystemSpecific2,
	IN PVOID SystemSpecific3
	);
#endif //REASSOCIATE

VOID
MrvDrvSendPackets(
	IN  NDIS_HANDLE             MiniportAdapterContext,
	IN  PPNDIS_PACKET           PacketArray,
	IN  UINT                    NumberOfPackets
	);

VOID
MrvDrvShutdownHandler(
	IN  NDIS_HANDLE MiniportAdapterContext
	);

VOID	
MrvDrvPMCallback(
    IN struct _NDIS_WORK_ITEM *pWorkItem,
    IN PVOID  Context
	);
	
VOID
MrvDrvIndicateConnectStatusTimer(
	IN PVOID SystemSpecific1,
	IN NDIS_HANDLE MiniportAdapterContext,
	IN PVOID SystemSpecific2,
	IN PVOID SystemSpecific3
	);

VOID
MrvDrvCommandTimerFunction(
	IN PVOID SystemSpecific1,
	IN NDIS_HANDLE MiniportAdapterContext,
	IN PVOID SystemSpecific2,
	IN PVOID SystemSpecific3
	);

//tt ++ ra fail
VOID BatchIndicateRetQPkts(PMRVDRV_ADAPTER Adapter);
//tt --

#ifdef MRVL_WINXP_NDIS51
VOID
MrvDrvPnPEventNotify(
    IN NDIS_HANDLE  MiniportAdapterContext,
    IN NDIS_DEVICE_PNP_EVENT  PnPEvent,
    IN PVOID  InformationBuffer,
    IN ULONG  InformationBufferLength
    );


VOID
MrvDrvCancelSendPackets(
	IN  NDIS_HANDLE MiniportAdapterContext,
    IN  PVOID       GroupCancelId
	);

//lykao, 050505, begin
//NDIS_STATUS SetUpStationHW(
//	IN	PMRVDRV_ADAPTER Adapter,
//	IN  NDIS_HANDLE  WrapperConfigurationContext);
//lykao, 050505, end
#endif  

void MrvSdioIstThread(IN PVOID pContext);


#ifdef SDIO
// interrupt timer
VOID MrvDrvSdioIntTimerHandler(
	IN PVOID SystemSpecific1,
	IN PVOID FunctionContext,
	IN PVOID SystemSpecific2,
	IN PVOID SystemSpecific3
	);

VOID MrvDrvSdioCheckFWReadyTimerFunction(
	IN PVOID SystemSpecific1,
	IN PVOID FunctionContext,
	IN PVOID SystemSpecific2,
	IN PVOID SystemSpecific3
	);


VOID SDNdisSlotEventCallBack(SD_DEVICE_HANDLE    hDevice,
                             PVOID               pContext,                      
                             SD_SLOT_EVENT_TYPE  SlotEventType,         
                             PVOID               pData,                      
                             DWORD               DataLength);


///////////////////////////////////////////////////////////////////
//  SDNdisInterruptCallback - interrupt handler
//  Input:  hDevice - handle to the SDIO device
//          pAdapter - adapter context
//  Output: 
//  Returns:  SD_API_STATUS code
//  Notes:  
///////////////////////////////////////////////////////////////////
SD_API_STATUS SDNdisInterruptCallback(SD_DEVICE_HANDLE hDevice, 
                                      PVOID   pAdapter);

///////////////////////////////////////////////////////////////////
//  SDIODownloadPkt - download a SDIO paket to FW
//  Input:  Adapter - Adapter context
//          DownloadPkt - Pkt to be downloaded
//  Output: 
//  Returns:  SD_API_STATUS code
//  Notes:  
///////////////////////////////////////////////////////////////////
SD_API_STATUS SDIODownloadPkt(
    IN PVOID            pAdapter,
    IN PSDIO_TX_PKT      DownloadPkt
);

///////////////////////////////////////////////////////////////////
//  sdio_IsFirmwareLoaded - check if FW has been loaded/initialized
//  Input:  Adapter - Adapter context
//       
//  Output: 
//  Returns:  TRUE if the FW is loaded, FALSE otherwise
//  Notes:  
///////////////////////////////////////////////////////////////////
IF_FW_STATUS sdio_IsFirmwareLoaded( 
    IN PVOID Adapter
);

///////////////////////////////////////////////////////////////////
//  sdio_FirmwareDownload - download firmware
//  Input:  Adapter - Adapter context
//       
//  Output: 
//  Returns:  return SDIO_FW_STATUS
//  Notes:  
///////////////////////////////////////////////////////////////////

IF_FW_STATUS sdio_FirmwareDownload(
    IN PVOID Adapter
);


#endif // SDIO

///crlo:modify ++
#if defined(IF_SPI)
SD_API_STATUS SPINdisInterruptCallback(IN NDIS_HANDLE MiniportAdapterContext);
#endif ///IF_SPI;
///crlo:modify --
#ifdef AUTO_REASSOCIATION
VOID MrvDrvSendCmdTimerHandler(
	IN PVOID SystemSpecific1,
	IN PVOID FunctionContext,
	IN PVOID SystemSpecific2,
	IN PVOID SystemSpecific3
	);

#endif

void v5MrvPrintFileW(const unsigned short *fmt, ...);

#endif


⌨️ 快捷键说明

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