?? recvlist.h
字號:
//**********************************************************************
//
// Filename: reclist.h
//
// Description: Contains the recieve packet list class.
//
// 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.
// Copyright(c) Cirrus Logic Corporation 2001, All Rights Reserved
//
//**********************************************************************
#ifndef _H_RECIEVE_LIST
#define _H_RECIEVE_LIST
#define NUM_RX_BUFFERS 9
//
// RX_BUFFER - Maintain NDIS receive packets and buffers to indicate
// receive data to the protocol.
//
struct RX_BUFFER : public LIST_ENTRY
{
// LIST_ENTRY Linkage;
PNDIS_PACKET pPacket;
DWORD cbData;
DWORD cbBuffer;
LPBYTE pbBuffer;
};
typedef struct RX_BUFFER * PRX_BUFFER;
//
// Recieve List class.
//
class ReceiveList
{
public:
ReceiveList(NDIS_HANDLE hNdisAdapter);
~ReceiveList();
NDIS_STATUS Initialize();
PRX_BUFFER GetFree();
void ReturnBuffer(PRX_BUFFER pRxBuf);
void AddPendingBuffer
(
PRX_BUFFER pRxBuf
);
PRX_BUFFER RemovePendingBuffer
(
PNDIS_PACKET pNdisPacket
);
NDIS_STATUS ProcessFrame
(
PRX_BUFFER pRxBuf
);
//
// Removes all pending buffers.
//
void Reset();
private:
LIST_ENTRY m_FreeList;
LIST_ENTRY m_PendingList;
CRITICAL_SECTION m_CritSection;
HANDLE m_hPacketPool;
HANDLE m_hBufferPool;
NDIS_HANDLE m_hNdisAdapter;
};
#endif // _H_RECIEVE_LIST
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -