/*++ Copyright (c) 2000, Microsoft Corporation Module Name: fwlogger.h Abstract: Support for firewall logging to a text file. Author: Jonathan Burstein (jonburs) 18 September 2000 Revision History: --*/ #pragma once #include #include #include #include "natschma.h" // // Protocol constants // #define NAT_PROTOCOL_ICMP 0x01 #define NAT_PROTOCOL_IGMP 0x02 #define NAT_PROTOCOL_TCP 0x06 #define NAT_PROTOCOL_UDP 0x11 #define NAT_PROTOCOL_PPTP 0x2F #define TCP_FLAG_FIN 0x0100 #define TCP_FLAG_SYN 0x0200 #define TCP_FLAG_RST 0x0400 #define TCP_FLAG_PSH 0x0800 #define TCP_FLAG_ACK 0x1000 #define TCP_FLAG_URG 0x2000 // // Structures // #define FW_LOG_BUFFER_SIZE 4096 - sizeof(OVERLAPPED) - sizeof(PCHAR) #define FW_LOG_BUFFER_REMAINING(pBuffer) \ FW_LOG_BUFFER_SIZE - ((pBuffer)->pChar - (pBuffer)->Buffer) typedef struct _FW_LOG_BUFFER { OVERLAPPED Overlapped; PCHAR pChar; CHAR Buffer[FW_LOG_BUFFER_SIZE]; } FW_LOG_BUFFER, *PFW_LOG_BUFFER; // // Prototypes // VOID FwCleanupLogger( VOID ); DWORD FwInitializeLogger( VOID ); VOID FwStartLogging( VOID ); VOID FwStopLogging( VOID ); VOID FwUpdateLoggingSettings( VOID );