/** FILE: cplib.h ********** Module Header ******************************** * * Control panel utility library routines for use by control panel applets. * Common definitions, resource ids, typedefs, external declarations and * library routine function prototypes. * * History: * 15:30 on Thur 25 Apr 1991 -by- Steve Cathcart [stevecat] * Took base code from Win 3.1 source * 10:30 on Tues 04 Feb 1992 -by- Steve Cathcart [stevecat] * Updated code to latest Win 3.1 sources * * Copyright (C) 1990-1992 Microsoft Corporation * *************************************************************************/ //========================================================================== // Typedefs and Definitions //========================================================================== // NOTE: The following lines are used by applets to define items in their // resource files. These are necessary to be compatible with some of // library routines. // // Resource String ids for Applets #define INITS 16 #define CLASS 36 #define COPY (CLASS + 4) #define UTILS 64 #define INSTALLIT 196 #define FOO -1 // for useless control ids #define IDD_HELP 200 // Help control id #define CP_ACCEL 100 // Keyboard Accelerator table // End resource file definitions #define PATHMAX 133 // path length max #define MYNUL (LPSTR) szNull #define COLOR_SAVE 711 #define NOSELECT -1 // indices for int Selected #define HOUR 0 // index into rDateTime, wDateTime, wRange #define MINUTE 1 #define SECOND 2 #define MONTH 3 #define DAY 4 #define YEAR 5 #define WEEKDAY 6 #if 0 #define UPTIME 6 #define DOWNTIME 7 #define UPDATE 8 #define DOWNDATE 9 #endif typedef BOOL (APIENTRY *BWNDPROC)(HWND, UINT, DWORD, LONG); #ifndef NOARROWS typedef struct { short lineup; /* lineup/down, pageup/down are relative */ short linedown; /* changes. top/bottom and the thumb */ short pageup; /* elements are absolute locations, with */ short pagedown; /* top & bottom used as limits. */ short top; short bottom; short thumbpos; short thumbtrack; BYTE flags; /* flags set on return */ } ARROWVSCROLL; typedef ARROWVSCROLL NEAR *NPARROWVSCROLL; typedef ARROWVSCROLL FAR *LPARROWVSCROLL; #define UNKNOWNCOMMAND 1 #define OVERFLOW 2 #define UNDERFLOW 4 #endif #define COPY_CANCEL 0 #define COPY_SELF -1 #define COPY_NOCREATE -2 #define COPY_DRIVEOPEN -3 #define COPY_NODISKSPACE -4 #define COPY_NOMEMORY -5 // AddStringToObject defines #define ASO_GLOBAL 0x0001 #define ASO_FIXED 0x0002 #define ASO_EXACT 0x0004 #define ASO_COMPACT 0x0008 /* Help defines */ #define IDH_HELPFIRST 5000 #define IDH_DLGFIRST (IDH_HELPFIRST + 3000) #define IDH_DLG_CONFLICT (IDH_DLGFIRST + DLG_CONFLICT) #define IDH_DLG_ADDFILE (IDH_DLGFIRST + DLG_ADDFILE) #define MENU_INDHELP 40 //========================================================================== // Macros //========================================================================== #define GSM(SM) GetSystemMetrics(SM) #define GDC(dc, index) GetDeviceCaps(dc, index) #define LPMIS LPMEASUREITEMSTRUCT #define LPDIS LPDRAWITEMSTRUCT #define LPCIS LPCOMPAREITEMSTRUCT #define LONG2POINT(l, pt) (pt.y = (int) HIWORD(l), pt.x = (int) LOWORD(l)) //========================================================================== // External Declarations //========================================================================== /* exported from applets */ extern HANDLE hModule; /* exported from cplib */ /* initapp.c */ extern char szOnString[]; // separator printer/port in listboxes extern char szSeparator[]; // separator filename printer desc extern char szDefNullPort[]; // default null port name extern char szCtlPanel[]; extern char szErrMem[]; extern char szBasePath[]; /* Path to WIN.INI directory */ extern char szWinIni[]; /* Path to WIN.INI */ extern char szWinCom[]; /* Path to WIN.COM directory */ extern char szSystemIniPath[]; /* Path to SYSTEM.INI */ extern char szCtlIni[]; /* Path to CONTROL.INI */ extern char szControlHlp[]; extern char szSetupInfPath[]; extern char szSetupDir[]; extern char szSharedDir[]; extern char pszSysDir[]; extern char pszWinDir[]; extern char pszClose[]; extern char pszContinue[]; extern char szSYSTEMINI[]; extern char szSETUPINF[]; extern char szCONTROLINF[]; extern char BackSlash[]; extern char szFOT[]; extern char szDot[]; extern unsigned wMerge; /* MERGE SPEC FOR STRINGS */ /* utiltext.c */ extern char szGenErr[]; extern char szNull[]; extern char szComma[]; extern char szSpace[]; extern short wDateTime[]; // values for first 7 date/time items extern short wModulos[]; // highest value for hour, minute, second extern short wPrevDateTime[]; // only repaint fields if nec /* Help stuff */ extern DWORD dwContext; extern WORD wHelpMessage; extern WORD wBrowseMessage; extern WORD wBrowseDoneMessage; // Originally from cpprn.c extern short nDisk; extern char szDrv[]; extern char szDirOfSrc[]; // Directory for File copy extern WORD nConfID; // For conflict dialog //========================================================================== // Function Prototypes //========================================================================== /* utiltext.c */ void GetDate (void); void GetTime (void); void SetDate (void); void SetTime (void); void SetDateTime (void); // [stevecat] - new functions void GetDateTime (void); DWORD AddStringToObject(DWORD dwStringObject, LPSTR lpszSrc, WORD wFlags); LPSTR BackslashTerm (LPSTR pszPath); void ErrMemDlg(HWND hParent); HANDLE FindRHSIni (LPSTR pFile, LPSTR pSection, LPSTR pRHS); int GetSection (LPSTR lpFile, LPSTR lpSection, LPHANDLE hSection); short myatoi(LPSTR pszInt); HANDLE StringToLocalHandle (LPSTR lpStr); #ifdef LATER void ErrWinDlg(HWND hParent); short Copy(HWND hParent, char *szSrcFile, char *szDestFile); #endif // LATER /* util.c */ int DoDialogBoxParam(int nDlg, HWND hParent, WNDPROC lpProc, DWORD dwHelpContext, DWORD dwParam); void HourGlass (BOOL bOn); int MyMessageBox(HWND hWnd, DWORD wText, DWORD wCaption, DWORD wType, ...); void SendWinIniChange(LPSTR szSection); int strpos(LPSTR,char); char *strscan(char *, char *); void StripBlanks( char * ); /* arrow.c */ short ArrowVScrollProc(short wScroll, short nCurrent, LPARROWVSCROLL lpAVS); BOOL OddArrowWindow(HWND); // initapp.c (new) (Originally from control.c) BOOL AppletInit(); // addfile.c (new) (Originally from cpprn.c) BOOL AddFileDlg (HWND hDlg, UINT message, DWORD wParam, LONG lParam); // conflict.c (new) (Originally from cpprn.c) BOOL ConflictDlg(HWND hDlg, UINT message, DWORD wParam, LONG lParam); #if DBG void DbgPrint( char *, ... ); void DbgBreakPoint( void ); #endif