209 lines
3.6 KiB
C
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
|
||
|
|