📄 operfunc.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 + -