windows-nt/Source/XPSP1/NT/net/dhcp/inc/dhcpexim.h
2020-09-26 16:20:57 +08:00

116 lines
1.8 KiB
C

/*++
Copyright (C) 1999 Microsoft Corporation
Module Name:
dhcpexim.h
Abstract:
Routines that are exported out of the exim.lib
--*/
#ifndef DHCPEXIM_H
#define DHCPEXIM_H
typedef struct _DHCPEXIM_CONTEXT {
LPWSTR FileName;
BOOL fExport;
BOOL fDisableExportedScopes;
HANDLE hFile;
LPBYTE Mem;
DWORD MemSize;
PVOID SvcConfig;
PVOID FileConfig;
DWORD nScopes;
struct {
BOOL fSelected;
LPWSTR SubnetName;
DWORD SubnetAddress;
} *Scopes;
} DHCPEXIM_CONTEXT, *PDHCPEXIM_CONTEXT;
DWORD
DhcpEximInitializeContext(
IN OUT PDHCPEXIM_CONTEXT Ctxt,
IN LPWSTR FileName,
IN BOOL fExport
);
DWORD
DhcpEximCleanupContext(
IN OUT PDHCPEXIM_CONTEXT Ctxt,
IN BOOL fAbort
);
DWORD
CmdLineDoImport(
IN LPWSTR *Args,
IN ULONG nArgs
);
DWORD
CmdLineDoExport(
IN LPWSTR *Args,
IN ULONG nArgs
);
//
// the following functions are not implemented in the exim.lib,
// but these should be implemented by whoever uses exim.lib
//
VOID
DhcpEximErrorClassConflicts(
IN LPWSTR SvcClass,
IN LPWSTR ConfigClass
);
VOID
DhcpEximErrorOptdefConflicts(
IN LPWSTR SvcOptdef,
IN LPWSTR ConfigOptdef
);
VOID
DhcpEximErrorOptionConflits(
IN LPWSTR SubnetName OPTIONAL,
IN LPWSTR ResAddress OPTIONAL,
IN LPWSTR OptId,
IN LPWSTR UserClass OPTIONAL,
IN LPWSTR VendorClass OPTIONAL
);
VOID
DhcpEximErrorSubnetNotFound(
IN LPWSTR SubnetAddress
);
VOID
DhcpEximErrorSubnetAlreadyPresent(
IN LPWSTR SubnetAddress,
IN LPWSTR SubnetName OPTIONAL
);
VOID
DhcpEximErrorDatabaseEntryFailed(
IN LPWSTR ClientAddress,
IN LPWSTR ClientHwAddress,
IN DWORD Error,
OUT BOOL *fAbort
);
#endif DHCPEXIM_H