filter.h
上传用户:zhuzhu0204
上传日期:2020-07-13
资源大小:13165k
文件大小:2k
开发平台:

Visual C++

  1. ///////////////////////////////////////////////////////////
  2. // filter.h文件
  3. #ifndef __FILTER__H
  4. #define __FILTER__H
  5. #define MAX_PACKET_HEADER_LEN    100
  6. /*
  7. Mac 14 ip 20 tcp 20       = 54
  8. */
  9. //////////////////////////////////////////////////////////
  10. // 结构
  11. // 状态信息
  12. typedef struct _ADAPT_FILTER_RSVD ADAPT_FILTER_RSVD, *PADAPT_FILTER_RSVD;
  13. typedef struct _PassthruFilterList  PassthruFilterList, *PPassthruFilterList;
  14. void ClearFilterList(PADAPT_FILTER_RSVD pFilterContext);
  15. VOID FltOnDeinitAdapter(PADAPT pAdapt);
  16. VOID FltOnInitAdapter(PADAPT pAdapt);
  17. BOOLEAN FltFilterSendPacket(PADAPT pAdapt,PNDIS_PACKET pSendPacket,BOOLEAN bDispatchLevel);
  18. void FltReadPacketData(PNDIS_PACKET pPacket, 
  19.  PUCHAR lpBufferIn, ULONG nNumberToRead, PUINT lpNumberOfRead);
  20. BOOLEAN FltCheckFilterRules(PPassthruFilterList pFilterList, PUCHAR pPacketData, ULONG nDataLen, BOOLEAN bIncludeETHdr, BOOLEAN bIsIn, BOOLEAN bIsARPPacket);
  21. GetPacketFlowRate(PUCHAR pPacketData, ULONG nDataLen);
  22. BOOLEAN FltFilterReceive(
  23.    IN PADAPT         pAdapt,
  24.    IN NDIS_HANDLE    MacReceiveContext,
  25.    IN PVOID          HeaderBuffer,
  26.    IN UINT           HeaderBufferSize,
  27.    IN PVOID          LookAheadBuffer,
  28.    IN UINT           LookAheadBufferSize,
  29.    IN UINT           PacketSize
  30.    );
  31. BOOLEAN FltFilterReceivePacket(PADAPT pAdapt,PNDIS_PACKET   pReceivedPacket);
  32. BOOLEAN FltFilterSendPacket(PADAPT pAdapt,PNDIS_PACKET pSendPacket,BOOLEAN bDispatchLevel);
  33. #endif // __FILTER__H