88 lines
1.3 KiB
C
88 lines
1.3 KiB
C
|
/*++
|
||
|
|
||
|
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 <wmistr.h>
|
||
|
#include <evntrace.h>
|
||
|
#include <ntwmi.h>
|
||
|
#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
|
||
|
);
|