237 lines
7.3 KiB
C
237 lines
7.3 KiB
C
/** 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
|
||
|