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

209 lines
3.6 KiB
C

/**********************************************************************/
/** Microsoft Windows NT **/
/** Copyright(c) Microsoft Corporation, 1991 - 1998 **/
/**********************************************************************/
/*
utils.h
Utility routine header file for DHCPSNAP.DLL
FILE HISTORY:
DavidHov 6/15/93 Created
EricDav 2/13/97 Updated
*/
#if !defined(_DHCPUTIL_H_)
#define _DHCPUTIL_H_
enum ENUM_HOST_NAME_TYPE
{
HNM_TYPE_INVALID,
HNM_TYPE_IP,
HNM_TYPE_DNS,
HNM_TYPE_NB,
HNM_TYPE_MAX
};
#define DHCPSNAP_STRING_MAX 256
#define DHCPSNAP_COMPUTER_NAME_MAX 20
extern wchar_t rgchHex[];
typedef struct
{
DHCP_IP_ADDRESS _dhipa ; // IP Address
TCHAR _chHostName [DHCPSNAP_STRING_MAX*2] ; // Host DNS name
TCHAR _chNetbiosName [DHCPSNAP_STRING_MAX*2] ; // Host NetBIOS name (if known)
} DHC_HOST_INFO_STRUCT ;
int
UtilGetOptionPriority(int nOpt1, int nOpt2);
BOOL
UtilGetFolderName(CString & strInitialPath, CString& strHelpText, CString& strSelectedPath);
void
UtilConvertLeaseTime(DWORD dwLeaseTime, int *pnDays, int *pnHours, int *pnMinutes);
DWORD
UtilConvertLeaseTime(int pnDays, int pnHours, int pnMinutes);
ENUM_HOST_NAME_TYPE
UtilCategorizeName (LPCTSTR pszName);
// Convert a string to an IP address
extern DHCP_IP_ADDRESS
UtilCvtStringToIpAddr
(
const CHAR * pszString
);
extern DHCP_IP_ADDRESS
UtilCvtWstrToIpAddr
(
const LPCWSTR pcwString
);
// Convert an IP address into a displayable string
extern void
UtilCvtIpAddrToString
(
DHCP_IP_ADDRESS dhipa,
CHAR * pszString,
UINT cBuffSize
);
extern BOOL
UtilCvtIpAddrToWstr
(
DHCP_IP_ADDRESS dhipa,
CString * pstrIpAddress
);
extern BOOL
UtilCvtIpAddrToWstr
(
DHCP_IP_ADDRESS dhipa,
WCHAR * pwcszString,
INT cBuffCount
);
extern WCHAR *
UtilDupIpAddrToWstr
(
DHCP_IP_ADDRESS dhipa
);
// "strdup" for C++ wcstrs.
extern WCHAR *
UtilWcstrDup
(
const WCHAR * pwcsz,
INT * pccwLength = NULL
);
extern WCHAR *
UtilWcstrDup
(
const CHAR * psz,
INT * pccwLength = NULL
);
extern CHAR *
UtilCstrDup
(
const WCHAR * pwcsz
);
extern CHAR *
UtilCstrDup
(
const CHAR * psz
);
// Return a standard information structure for the given
// host IP address
extern DWORD
UtilGetHostInfo
(
DHCP_IP_ADDRESS dhipa,
DHC_HOST_INFO_STRUCT * pdhsrvi
);
// Return the IP address of this host machine
extern HRESULT
UtilGetLocalHostAddress
(
DHCP_IP_ADDRESS * pdhipa
);
extern HRESULT
UtilGetHostAddressFQDN
(
LPCTSTR pszHostName,
CString * pstrFQDN,
DHCP_IP_ADDRESS * pdhipa
);
extern HRESULT
UtilGetHostAddress
(
LPCTSTR pszHostName,
DHCP_IP_ADDRESS * pdhipa
);
extern HRESULT
UtilGetLocalHostName
(
CString * pstrName
);
extern HRESULT
UtilGetNetbiosAddress
(
LPCTSTR pszNetbiosName,
DHCP_IP_ADDRESS * pdhipa
);
extern BOOL
UtilCvtHexString
(
LPCTSTR pszNum,
CByteArray & cByte
);
extern BOOL
UtilCvtByteArrayToString
(
const CByteArray & abAddr,
CString & str
);
WCHAR *
PchParseUnicodeString
(
CONST WCHAR * szwString,
DWORD dwLength,
CString& rString
);
BOOL FGetCtrlDWordValue(HWND hwndEdit, DWORD * pdwValue, DWORD dwMin, DWORD dwMax);
// Convert ASCII string of decimal or hex numbers to binary integer
BOOL FCvtAsciiToInteger(IN const TCHAR * pszNum, OUT DWORD * pdwValue);
void UtilConvertStringToDwordDword(LPCTSTR pszString, DWORD_DWORD * pdwdw);
void UtilConvertDwordDwordToString(DWORD_DWORD * pdwdw, CString * pstrString, BOOL bDecimal);
#endif // _DHCPUTIL_H_
// End of DHCPUTIL.H