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

📄 cpgpnetdriver.h

📁 PGP8.0源码 请认真阅读您的文件包然后写出其具体功能
💻 H
字号:
/*____________________________________________________________________________
	Copyright (C) 2002 PGP Corporation
	All rights reserved.

	$Id: CPGPnetDriver.h,v 1.3 2002/08/06 20:10:26 dallen Exp $
____________________________________________________________________________*/

/*
	PGPnetDriver is a good place to hold global data
 */
#ifndef Included_CPGPnetDriver_h
#define Included_CPGPnetDriver_h

typedef struct _PGPnetPMContext	*PGPnetPMContextRef;

class CPGPnetDriver
{

public:

	PGPnetPMContextRef		PolicyManagerHandle;

	NDIS_SPIN_LOCK			general_lock;
	NDIS_SPIN_LOCK			doTransform_lock;

	PGPBoolean				Suspended;
	PGPBoolean				Resumed;

	// packet related field maybe should be moved down the tree.
    NDIS_HANDLE				packet_pool;
    NDIS_HANDLE				buffer_pool;

    PGPnetPacket*			free_packet_list;
    PGPnetPacketHead*		free_packet_head_list;

public:
	CPGPnetDriver();
	~CPGPnetDriver();

	PGPBoolean		isSuspended()	{ return Suspended; };
	PGPBoolean		isResumed()		{ return Resumed; };

	void			DriverLevelLock()	{NdisAcquireSpinLock(&general_lock);};
	void			DriverLevelUnlock() {NdisReleaseSpinLock(&general_lock);};

	NDIS_STATUS			AllocatePacketPool();
	VOID				FreePacketPool();

	virtual NDIS_STATUS Initialize() = 0;
	virtual VOID Uninitialize() = 0;

	static CPGPnetDriver* GetCurrentDriver();

};

#define PGPnetDriver CPGPnetDriver::GetCurrentDriver()

#endif // #define Included_CPGPnetDriver_h

⌨️ 快捷键说明

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