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

📄 operfunc.c

📁 marvell8385 GSPI开发驱动
💻 C
字号:
/******************* (c) Marvell Semiconductor, Inc., 2001 ********************
 *
 *  $HEADER&
 *
 *          Purpose:
 *
 *          This file contains the function prototypes for MRVDRV operation functions
 *  
 *          Notes:
 *
 *****************************************************************************/

#ifndef _OPERFUNC_H_    /* filename in CAPS */
#define _OPERFUNC_H_


/*
===============================================================================
            PRIVATE PROCEDURES
===============================================================================
*/
NDIS_STATUS PostFwDownload ( IN PMRVDRV_ADAPTER Adapter );

VOID 
InitAdapterObject(
    IN PMRVDRV_ADAPTER Adapter
	);

NDIS_STATUS 
AllocateAdapterBuffer(
    IN PMRVDRV_ADAPTER Adapter
	);

NDIS_STATUS
InitSyncObjects(
	IN PMRVDRV_ADAPTER Adapter
	);

NDIS_STATUS 
SetUpStationHW(
	IN PMRVDRV_ADAPTER Adapter,
	IN  NDIS_HANDLE  WrapperConfigurationContext
	);

BOOL
AddKeyValues (
       IN LPWSTR KeyName, 
       IN PREG_VALUE_DESCR Vals
       );


VOID 
FreeAdapterObject(
	IN PMRVDRV_ADAPTER Adapter
	);

VOID
CleanUpStationHW(
	IN PMRVDRV_ADAPTER Adapter
	);

VOID
DisableInterrupt(
    IN PMRVDRV_ADAPTER Adapter
    );

VOID
EnableInterrupt(
    IN PMRVDRV_ADAPTER Adapter
    );

ULONG
GetConnectionStatus(
	IN PMRVDRV_ADAPTER Adapter
	);

NDIS_STATUS
SetMacPacketFilter(
	IN PMRVDRV_ADAPTER Adapter, 
	IN ULONG CurrentPacketFilter
	);

NDIS_STATUS
SetMacPacketFilterOID(
	IN PMRVDRV_ADAPTER Adapter, 
	IN ULONG CurrentPacketFilter
	);

VOID
ReadStatsCounters(
	IN PMRVDRV_ADAPTER Adapter
	);

NDIS_STATUS 
ReadRegistryInfo(
    IN PMRVDRV_ADAPTER Adapter,
    IN NDIS_HANDLE RegHdl
	);

VOID
HandleRxReadyEvent(
	IN PMRVDRV_ADAPTER Adapter
	);

VOID
HandleMACEvent(
	IN PMRVDRV_ADAPTER Adapter, 
	IN UINT INTCode
	);

 

NDIS_STATUS
HandleTxSingleDoneEvent(
	IN PMRVDRV_ADAPTER Adapter
	); 

VOID
HandleTxDMADoneEvent(
	IN PMRVDRV_ADAPTER Adapter
	);

VOID
HandleTxPPADoneEvent(
	IN PMRVDRV_ADAPTER Adapter
	);

NDIS_STATUS
HandleCommandFinishedEvent(
	IN PMRVDRV_ADAPTER Adapter
	);

NDIS_STATUS
HandleNDISSendPacket(
	IN PMRVDRV_ADAPTER Adapter,
	IN PNDIS_PACKET Packet,
	IN UINT Index,
	IN BOOLEAN SpinLockAcquired
	);

NDIS_STATUS AllocateCmdBuffer(
	IN PMRVDRV_ADAPTER Adapter
	);

NDIS_STATUS FreeCmdBuffer(
	IN PMRVDRV_ADAPTER Adapter
	);

NDIS_STATUS ResetCmdBuffer(
	IN PMRVDRV_ADAPTER Adapter
	);

NDIS_STATUS
ProcessHostCommand(
	IN PMRVDRV_ADAPTER Adapter,
	IN PUCHAR pCmdBuf
	);

NDIS_STATUS
PassHostCommand(
	IN PMRVDRV_ADAPTER Adapter,
	IN USHORT PendingInfo,
	IN PVOID InformationBuffer,
	IN ULONG InformationBufferLength,
	IN PULONG BytesWritten,
	IN PULONG BytesNeeded
	);

NDIS_STATUS
PrepareAndSendCommand(
	IN PMRVDRV_ADAPTER Adapter,
	IN USHORT Cmd,
	IN USHORT CmdOPtion,
	IN USHORT INTOPtion, 
	IN NDIS_OID PendingOID,
	IN USHORT PendingInfo,
	IN USHORT BatchQNum,
	IN BOOLEAN IsLastBatchCmd,
	IN PULONG BytesWritten,
	IN PULONG BytesRead,
	IN PULONG BytesNeeded,
	IN PVOID InformationBuffer
	);

USHORT 
GetExpectedRetCode(
	IN USHORT Cmd
	);

NDIS_STATUS AllocateRxQ(
	IN PMRVDRV_ADAPTER Adapter
	); 



/* dralee
NDIS_STATUS
FreeSingleTxBuffer(
IN PMRVDRV_ADAPTER Adapter
);
*/ 

NDIS_STATUS
CleanUpSingleTxBuffer(
IN PMRVDRV_ADAPTER Adapter
);

NDIS_STATUS 
FreeRxQ(
	IN PMRVDRV_ADAPTER Adapter
	);

VOID
ResetRxPDQ(
	IN PMRVDRV_ADAPTER Adapter
	);

NDIS_STATUS
SetStationPowerState(
    PMRVDRV_ADAPTER Adapter,
	NDIS_DEVICE_POWER_STATE NewPowerState,
	IN NDIS_OID Oid,
	IN PULONG BytesRead,
	IN PULONG BytesNeeded,
	IN PVOID InformationBuffer
);

NDIS_STATUS
CheckCurrentSationStatus(
	IN PMRVDRV_ADAPTER Adapter
);

NDIS_STATUS
SendSinglePacket(
	IN PMRVDRV_ADAPTER Adapter,
	IN PNDIS_PACKET Packet
	
);    

NDIS_STATUS 
AllocateSingleTx(
	IN PMRVDRV_ADAPTER Adapter
	); 

CmdCtrlNode *
GetFreeCmdCtrlNode(
	IN PMRVDRV_ADAPTER Adapter
);

VOID
SetCmdCtrlNode(
	IN PMRVDRV_ADAPTER Adapter,
	IN  CmdCtrlNode *pTempNode,
	IN  NDIS_OID PendingOID,
	IN  USHORT PendingInfo,
	IN  USHORT INTOption,
	IN  USHORT BatchQNum,
	IN  BOOLEAN IsLastBatchCmd,
	IN  PULONG BytesWritten,
	IN  PULONG BytesRead,
	IN  PULONG BytesNeeded,
	IN  PVOID InformationBuffer
);

VOID 
CleanUpCmdCtrlNode(
	IN  CmdCtrlNode *pTempNode
);

NDIS_STATUS
DownloadCommandToStation(
	IN PMRVDRV_ADAPTER Adapter,
	IN  CmdCtrlNode *pTempNode
);

NDIS_STATUS
ExecuteNextCommand(
	IN PMRVDRV_ADAPTER Adapter
);

NDIS_STATUS
InterpretBSSDescription(
	IN PMRVDRV_ADAPTER Adapter,
	PVOID pRetCommandBuffer,
	ULONG ulBSSDescriptionListSize
);

USHORT
CpVarIE(PNDIS_802_11_VARIABLE_IEs Dest,
        PUCHAR bcnp, 
        USHORT length);

VOID
HandleMicError(
               IN PMRVDRV_ADAPTER Adapter); 

VOID
ResetAdapterObject(
	PMRVDRV_ADAPTER Adapter
);

void
SendAutoAssociationCmds(
	IN PMRVDRV_ADAPTER Adapter
);

void
SendDesiredSSIDCmds(
	IN PMRVDRV_ADAPTER Adapter
);

NDIS_STATUS 
FirmwareDownload(
    IN PMRVDRV_ADAPTER Adapter
);

IX_STATUS
cf_HostBootFirmwareDownload(
	PCF_OBJECT pCf,
    IN PMRVDRV_ADAPTER Adapter
);

NDIS_STATUS
UpdateWEPKey(
	IN PMRVDRV_ADAPTER Adapter,
    IN PNDIS_802_11_SSID pInputSSID,
    IN PNDIS_802_11_WEP pWEP
);

NDIS_STATUS
AddWEPKey(
	IN PMRVDRV_ADAPTER Adapter,
    IN PNDIS_802_11_SSID pInputSSID,
    IN PNDIS_802_11_WEP pWEP
);

NDIS_STATUS
RemoveWEPKey(
	IN PMRVDRV_ADAPTER Adapter,
    IN PNDIS_802_11_SSID pInputSSID,
    IN PNDIS_802_11_WEP pWEP
);

NDIS_STATUS
SearchWEPKey(
	IN PMRVDRV_ADAPTER Adapter,
    IN PNDIS_802_11_SSID pInputSSID,
    OUT PNDIS_802_11_WEP pWEP
);

VOID
WEP_Encrypt(
	IN PMRVDRV_ADAPTER Adapter,
    IN PUCHAR Buf,
    IN ULONG Len
);


VOID
ResetDisconnectStatus(
	IN PMRVDRV_ADAPTER Adapter
);

VOID
ResetSingleTxDoneAck(
	IN PMRVDRV_ADAPTER Adapter
);

VOID 
HandleHostPendGetOid(
	USHORT Ret, 
	PMRVDRV_ADAPTER Adapter,
	PHostCmd_DS_GEN pRetPtr
);

VOID 
HandleHostPendSetOid(
	USHORT Ret, 
	PMRVDRV_ADAPTER Adapter
);

VOID 
HandleHostPendCommand(
	USHORT Ret, 
	PMRVDRV_ADAPTER Adapter,
	PHostCmd_DS_GEN pRetPtr
);

NDIS_STATUS
HandleHostCmdFailure(
	USHORT Ret, 
	PMRVDRV_ADAPTER Adapter,
	PHostCmd_DS_GEN pRetPtr
	);

VOID
MacEventDisconnected(
	PMRVDRV_ADAPTER Adapter,
	UINT TimerValue,
	BOOLEAN PowerFlag
);

VOID
HandleHardwareSpec(
	PHostCmd_DS_GET_HW_SPEC pHWSpec,
	PMRVDRV_ADAPTER Adapter
);

VOID
HandleScanResponse(
	PHostCmd_DS_802_11_SCAN_RSP pScanResponse,
	PMRVDRV_ADAPTER Adapter
);

VOID
HandleAssocReassoc(
	PHostCmd_DS_802_11_ASSOCIATE_RESULT pAssoResult,
	PMRVDRV_ADAPTER Adapter
);

VOID
HandleAdHocJoinStart(
	PHostCmd_DS_802_11_AD_HOC_RESULT pAdHocResult,
	USHORT Ret,
	PMRVDRV_ADAPTER Adapter
);

VOID 
SetupDataRate(
	USHORT PendingInfo,
	PHostCmd_DS_802_11_DATA_RATE pDataRate,
	PMRVDRV_ADAPTER Adapter,
	PVOID InformationBuffer
	);

VOID
SetupWepKeys(
	NDIS_OID PendingOID,
	PHostCmd_DS_802_11_SET_WEP pSetWEP,
	PNDIS_802_11_WEP pNewWEP,
	PVOID InformationBuffer,
	PMRVDRV_ADAPTER Adapter,
	USHORT CmdOption
	);

NDIS_STATUS
SetupAssociation (
	PHostCmd_DS_802_11_ASSOCIATE pAsso,
	USHORT PendingInfo,
	PMRVDRV_ADAPTER Adapter, 
	CmdCtrlNode *pTempCmd,
	PVOID InformationBuffer
	);

VOID 
SetupAdHocStart(
	PHostCmd_DS_802_11_AD_HOC_START pAdHocStart,
	USHORT PendingInfo,
    PMRVDRV_ADAPTER Adapter, 
   	CmdCtrlNode *pTempCmd,
	PVOID InformationBuffer
	);

NDIS_STATUS
SetupAdHocJoin(
	PHostCmd_DS_802_11_AD_HOC_JOIN pAdHocJoin,
	USHORT PendingInfo,
    PMRVDRV_ADAPTER Adapter, 
   	CmdCtrlNode *pTempCmd,
	PVOID InformationBuffer
    );

VOID
InitializeWirelessConfig(
	PMRVDRV_ADAPTER Adapter
	);

VOID
CleanupAndInsertCmd(
	PMRVDRV_ADAPTER Adapter,
	CmdCtrlNode *pTempCmd
	);


NDIS_STATUS
SendPowerModeCAM(
	IN PMRVDRV_ADAPTER Adapter,
	IN NDIS_OID Oid, 
	OUT PULONG BytesRead,
	OUT PULONG BytesNeeded,	 
	PVOID InformationBuffer 
);

VOID
HandlePendingReset(
	PMRVDRV_ADAPTER Adapter
);

VOID
CopyBSSIDInfo(
	PMRVDRV_ADAPTER Adapter
);

VOID
PSWakeup(
	IN PMRVDRV_ADAPTER Adapter
	);

VOID
PSSleep(
	IN PMRVDRV_ADAPTER Adapter,
	IN USHORT PSMode
	);

VOID
PSConfirmSleep(
	IN PMRVDRV_ADAPTER Adapter,
	IN USHORT PSMode
	);
CmdCtrlNode *
GetFreePSCmdCtrlNode(
	IN PMRVDRV_ADAPTER Adapter	
	);

NDIS_STATUS 
ResetPSCmdBuffer(
	IN PMRVDRV_ADAPTER Adapter
	);

NDIS_STATUS 
FreePSCmdBuffer(
	IN PMRVDRV_ADAPTER Adapter
	);

NDIS_STATUS 
AllocatePSCmdBuffer(
	IN PMRVDRV_ADAPTER Adapter
	);

NDIS_STATUS
ExecuteNextPSCommand(
	IN PMRVDRV_ADAPTER Adapter
	);

NDIS_STATUS
DownloadPSCommand(
	IN PMRVDRV_ADAPTER Adapter,
	IN CmdCtrlNode *pTempNode
	);  
       
#endif /* _OPERFUNC_H_ */


⌨️ 快捷键说明

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