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

📄 vpn.h

📁 vc环境下的pgp源码
💻 H
📖 第 1 页 / 共 2 页
字号:
    );

VOID PgpMemoryUnmapWin32Address(
    IN PVOID                    VirtualAddress,
    IN ULONG                    NumBytes,
    IN HANDLE                   ProcessHandle
    );

VOID ProtocolIndicateReceive(
    IN PVPN_ADAPTER		adapter,
    IN NDIS_HANDLE		MacContext,
    IN PUCHAR           HeaderBuffer,
    IN UINT             HeaderBufferSize,
    IN PVOID            LookAheadBuffer,
    IN UINT             LookAheadBufferSize,
    IN UINT             PacketSize
    );

VOID ProtocolIndicateReceiveComplete(
    IN PVPN_ADAPTER		adapter
    );


/*
 *	Fragmentation and Reassembly support routines.
 */

void PacketEnqueue(
    PVPN_ADAPTER adapter,
    PPGPNDIS_PACKET *packet_list,
    PPGPNDIS_PACKET packet);

PPGPNDIS_PACKET PacketDequeue(
    PVPN_ADAPTER adapter,
    PPGPNDIS_PACKET *packet_list);

PPGPNDIS_PACKET PacketRemoveByXformPacket(
		PVPN_ADAPTER		adapter,
		PPGPNDIS_PACKET		*packet_list,
		PNDIS_PACKET		packet);

PPGPNDIS_PACKET PacketRemoveBySrcPacket(
		PVPN_ADAPTER		adapter,
		PPGPNDIS_PACKET		*packet_list,
		PNDIS_PACKET		packet);

NDIS_STATUS AllocatePGPnetPacketPool(PVPN_ADAPTER adapter);

PPGPNDIS_PACKET PGPNdisPacketAllocWithBindingContext(
    PNDIS_STATUS status,
    PVPN_ADAPTER adapter);

PPGPNDIS_PACKET PGPNdisPacketAllocWithXformPacket(
    PNDIS_STATUS status,
    PVPN_ADAPTER adapter);

PPGPNDIS_PACKET PGPNdisPacketAllocWithSrcPacket(
    PNDIS_STATUS status,
    PVPN_ADAPTER adapter);

VOID PGPNdisPacketFree(
		PVPN_ADAPTER adapter,
		PPGPNDIS_PACKET packet);

VOID PGPNdisPacketFreeWithBindingContext(
		PVPN_ADAPTER adapter,
		PPGPNDIS_PACKET packet);

VOID PGPNdisPacketFreeSrcPacket(
		PVPN_ADAPTER adapter,
		PPGPNDIS_PACKET packet);

VOID PGPCopyPacketToBlock(
		PNDIS_PACKET	packet,
		PUCHAR			block,
		PUINT			bytesCopied);

VOID PGPnetAdjustTransferCompletePacket(PPGPNDIS_PACKET pgpPacket);

VOID PGPnetAdjustPacket(PPGPNDIS_PACKET packet);

void RequestEnqueue(
    PVPN_ADAPTER adapter,
    PPGPNDIS_REQUEST *request_list,
    PPGPNDIS_REQUEST request);

PPGPNDIS_REQUEST RequestDequeue(
    PVPN_ADAPTER adapter,
    PPGPNDIS_REQUEST *reqeust_list);

PPGPNDIS_REQUEST RequestRemoveByNdisRequest(
		PVPN_ADAPTER		adapter,
		PPGPNDIS_REQUEST		*reqeust_list,
		PNDIS_REQUEST		packet);

PPGPNDIS_REQUEST PGPNdisRequestAlloc(
    PNDIS_STATUS status,
    PVPN_ADAPTER adapter);

VOID PGPNdisRequestFree(
		PVPN_ADAPTER adapter,
		PPGPNDIS_REQUEST request);

NDIS_STATUS QueueForTransferComplete(
		PVPN_ADAPTER	adapter,
		NDIS_HANDLE		MacReceiveContext,
		PUCHAR			HeaderBuffer,
		UINT			HeaderBufferLength,
		PUCHAR			LookAheadBuffer,
		UINT			LookAheadBufferLength,
		UINT			PacketSize);

NDIS_STATUS TransformAndIndicate(
		PVPN_ADAPTER	adapter,
		PPGPNDIS_PACKET	pgpPacket);

USHORT iphdr_cksum(USHORT *iph);

void CopySrcBlockToXformBlock(PGPNDIS_PACKET *packet);

void GetIPAddressFromARP(PVPN_ADAPTER adapter, PVOID block);

VOID FragmentCollection(
    PVOID SystemArg1,
    PVOID Context,
    PVOID SystemArg2,
    PVOID SystemArg3);

#ifdef CHICAGO
VOID EventTimerRoutine(
    PVOID SystemArg1,
    PVOID Context,
    PVOID SystemArg2,
    PVOID SystemArg3);
#endif

VOID RequestTimerRoutine(
    PVOID SystemArg1,
    PVOID Context,
    PVOID SystemArg2,
    PVOID SystemArg3);

void NdisRequestTrace(
	PNDIS_REQUEST NdisRequest);


VOID PgpEventSet(
    IN PPGPEVENT_CONTEXT    pPgpEvent
    );

PVPN_ADAPTER AllocateVpnAdapter();

VOID FreeVpnAdapter(
    IN PVPN_ADAPTER    VpnAdapter
    );

VOID ProtocolCloseAdapterComplete(
    IN NDIS_HANDLE    ProtocolBindingContext,
    IN NDIS_STATUS    status
    );


VOID ProtocolOpenAdapterComplete(
    IN NDIS_HANDLE		ProtocolBindingContext,
    IN NDIS_STATUS      status,
    IN NDIS_STATUS      OpenErrorStatus
    );


NDIS_STATUS ProtocolReceive(
    IN NDIS_HANDLE		ProtocolBindingContext,
    IN NDIS_HANDLE      MacReceiveContext,
    IN PVOID            HeaderBuffer,
    IN UINT             HeaderBufferSize,
    IN PVOID            LookAheadBuffer,
    IN UINT             LookAheadBufferSize,
    IN UINT             PacketSize
    );


VOID ProtocolIndicateReceive(
    IN PVPN_ADAPTER		adapter,
    IN NDIS_HANDLE		MacContext,
    IN PUCHAR           HeaderBuffer,
    IN UINT             HeaderBufferSize,
    IN PVOID            LookAheadBuffer,
    IN UINT             LookAheadBufferSize,
    IN UINT             PacketSize
    );



VOID ProtocolReceiveComplete(
    IN NDIS_HANDLE		ProtocolBindingContext
    );


VOID ProtocolIndicateReceiveComplete(
    IN PVPN_ADAPTER		adapter
    );


VOID ProtocolRequestComplete(
    IN NDIS_HANDLE		ProtocolBindingContext,
    IN PNDIS_REQUEST    NdisRequest,
    IN NDIS_STATUS      Status
    );


VOID ProtocolResetComplete(
    IN NDIS_HANDLE		ProtocolBindingContext,
    IN NDIS_STATUS      status
    );


VOID ProtocolSendComplete(
    IN NDIS_HANDLE		ProtocolBindingContext,
    IN PNDIS_PACKET     Packet,
    IN NDIS_STATUS      Status
    );


VOID ProtocolStatus(
    IN NDIS_HANDLE		ProtocolBindingContext,
    IN NDIS_STATUS      Status,
    IN PVOID            StatusBuffer,
    IN UINT             StatusBufferSize
    );


VOID ProtocolStatusComplete(
    IN NDIS_HANDLE		ProtocolBindingContext
    );


VOID ProtocolTransferDataComplete(
    IN NDIS_HANDLE		ProtocolBindingContext,
    IN PNDIS_PACKET     Packet,
    IN NDIS_STATUS      Status,
    IN UINT             BytesTransferred
    );


VOID ProtocolBindAdapter(
    OUT PNDIS_STATUS    Status,
    IN NDIS_HANDLE      BindContext,
    IN PNDIS_STRING     DeviceName,
    IN PVOID            SystemSpecific1,
    IN PVOID            SystemSpecific2
    );


VOID ProtocolUnbindAdapter(
    OUT PNDIS_STATUS    Status,
    IN NDIS_HANDLE      ProtocolBindingContext,
    IN NDIS_HANDLE      UnbindContext
    );



VOID ProtocolUnload(
    VOID
    );

BOOLEAN BroadcastEthernetAddress(
	UCHAR* eth_dstAddress);

ULONG PgpKernelGetSystemTime();

void PacketHeadEnqueue(
    PVPN_ADAPTER adapter,
    PPGPNDIS_PACKET_HEAD *packet_head_list,
    PPGPNDIS_PACKET_HEAD packetHead);

PPGPNDIS_PACKET_HEAD PacketHeadDequeue(
    PVPN_ADAPTER adapter,
    PPGPNDIS_PACKET_HEAD *packet_head_list);

VOID PGPNdisPacketHeadFreeList(
		PVPN_ADAPTER adapter,
		PPGPNDIS_PACKET_HEAD packetHead,
		BOOLEAN outgoing);

VOID PGPNdisPacketHeadFree(
		PVPN_ADAPTER adapter,
		PPGPNDIS_PACKET_HEAD packetHead);

VOID PacketHeadListRemove(
		PVPN_ADAPTER			adapter,
		PPGPNDIS_PACKET_HEAD	*packet_list,
		PPGPNDIS_PACKET_HEAD	packetHead);

PPGPNDIS_PACKET_HEAD PacketHeadListQuery(
	PVPN_ADAPTER adapter,
	PPGPNDIS_PACKET_HEAD *packet_head_list,
	USHORT		 id,
	ULONG		 ipAddress);

PPGPNDIS_PACKET_HEAD PGPNdisPacketHeadAlloc(
    PNDIS_STATUS status,
    PVPN_ADAPTER adapter);

VOID InsertPGPNdisPacket(
	PVPN_ADAPTER adapter,
	PPGPNDIS_PACKET_HEAD packetHead,
	PPGPNDIS_PACKET pgpPacket);

VOID AppendPGPNdisPacket(
	PVPN_ADAPTER adapter,
	PPGPNDIS_PACKET_HEAD packetHead,
	PPGPNDIS_PACKET pgpPacket);

VOID IndicateReceiveClear(
		PVPN_ADAPTER adapter,
		PPGPNDIS_PACKET pgpPacket);

NDIS_STATUS MacSendPackets(
		PVPN_ADAPTER adapter,
		PPGPNDIS_PACKET_HEAD packetHead);

VOID ProtocolIndicatePackets(
		PVPN_ADAPTER adapter,
		PPGPNDIS_PACKET_HEAD packetHead);
#endif

⌨️ 快捷键说明

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