/* Copyright (c) 1991, Microsoft Corporation, all rights reserved ipaddr.h - TCP/IP Address custom control, global definitions November 10, 1992 - Greg Strange */ #ifndef _IPADDR_H_ #define _IPADDR_H_ // Messages sent to IPAddress controls #define IP_CLEARADDRESS WM_USER+100 // no parameters #define IP_SETADDRESS WM_USER+101 // lparam = TCP/IP address #define IP_GETADDRESS WM_USER+102 // lresult = TCP/IP address #define IP_SETRANGE WM_USER+103 // wparam = field, lparam = range #define IP_SETFOCUS WM_USER+104 // wparam = field #define IP_ISBLANK WM_USER+105 // no parameters // The following is a useful macro for passing the range values in the // IP_SETRANGE message. #define MAKERANGE(low,high) ((LPARAM)(WORD)(((BYTE)(high)<<8)+(BYTE)(low))) // And this is a useful macro for making the IP Address to be passed // as a LPARAM. #define MAKEIPADDRESS(b1,b2,b3,b4) ((LPARAM)(((DWORD)(b1)<<24)+((DWORD)(b2)<<16)+((DWORD)(b3)<<8)+((DWORD)(b4)))) // Get individual number #define FIRST_IPADDRESS(x) ((x>>24) & 0xff) #define SECOND_IPADDRESS(x) ((x>>16) & 0xff) #define THIRD_IPADDRESS(x) ((x>>8) & 0xff) #define FOURTH_IPADDRESS(x) (x & 0xff) // Use this function to force the ip address entered to // be contiguous (series of 1's followed by a series of 0's). // This is useful for entering valid submasks // // Returns NO_ERROR if successful, error code otherwise // DWORD APIENTRY IpAddr_ForceContiguous( HWND hwndIpAddr ); // Call this function once during initialization. int FAR PASCAL IpAddrInit( IN HANDLE hInstance, IN DWORD dwErrorTitle, IN DWORD dwBadIpAddrRange ); #endif // _IPADDR_H_