115 lines
2.2 KiB
C
115 lines
2.2 KiB
C
/*++
|
|
|
|
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_
|