windows-nt/Source/XPSP1/NT/net/rras/ip/nathlp/natsvc/fwlogger.h

88 lines
1.3 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
/*++
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
);