windows-nt/Source/XPSP1/NT/net/rras/ip/nathlp/dns/dnsfile.h

115 lines
2.2 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
/*++
Copyright (c) 2000, Microsoft Corporation
Module Name:
dnsfile.h
Abstract:
This module contains declarations for the DNS proxy's file
management.
Author:
Raghu Gatta (rgatta) 21-Nov-2000
Revision History:
--*/
#ifndef _NATHLP_DNSFILE_H_
#define _NATHLP_DNSFILE_H_
//
// Sockets hosts.ics file stuff
// NOTE: The hosts.ics file will reside in the same directory as the hosts file
//
#define HOSTS_FILE_DIRECTORY L"\\drivers\\etc"
#define HOSTDB_SIZE (MAX_PATH + 12) // 12 == strlen("\\hosts.ics") + 1
#define HOSTSICSFILE "hosts.ics"
#define HOSTSICSFILE_HEADER \
"# Copyright (c) 1993-2001 Microsoft Corp.\n" \
"#\n" \
"# This file has been automatically generated for use by Microsoft Internet\n" \
"# Connection Sharing. It contains the mappings of IP addresses to host names\n"\
"# for the home network. Please do not make changes to the HOSTS.ICS file.\n" \
"# Any changes may result in a loss of connectivity between machines on the\n" \
"# local network.\n" \
"#\n" \
"\n"
typedef struct _IP_DNS_PROXY_FILE_INFO
{
CRITICAL_SECTION Lock;
FILE *HostFile;
CHAR HostFileName[HOSTDB_SIZE];
CHAR HostLineBuf[BUFSIZ + 1];
// temp values in the context of current file processing
SYSTEMTIME HostTime;
PCHAR pHostName;
ULONG Ip4Address;
} IP_DNS_PROXY_FILE_INFO, *PIP_DNS_PROXY_FILE_INFO;
//
// FUNCTION DECLARATIONS
//
ULONG
DnsInitializeFileManagement(
VOID
);
VOID
DnsShutdownFileManagement(
VOID
);
BOOL
DnsEndHostsIcsFile(
VOID
);
BOOL
DnsSetHostsIcsFile(
BOOL fOverwrite
);
BOOL
GetHostFromHostsIcsFile(
BOOL fStartup
);
VOID
LoadHostsIcsFile(
BOOL fStartup
);
VOID
SaveHostsIcsFile(
BOOL fShutdown
);
BOOL
IsFileTimeExpired(
FILETIME *ftTime
);
BOOL
IsSuffixValid(
WCHAR *pszName,
WCHAR *pszSuffix
);
#endif // _NATHLP_DNSFILE_H_