home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
ddkx86v1.zip
/
DDKX86
/
H
/
PMSHL.H
< prev
next >
Wrap
C/C++ Source or Header
|
1995-04-14
|
31KB
|
739 lines
/*DDK*************************************************************************/
/* */
/* COPYRIGHT Copyright (C) 1995 IBM Corporation */
/* */
/* The following IBM OS/2 WARP source code is provided to you solely for */
/* the purpose of assisting you in your development of OS/2 WARP device */
/* drivers. You may use this code in accordance with the IBM License */
/* Agreement provided in the IBM Device Driver Source Kit for OS/2. This */
/* Copyright statement may not be removed. */
/* */
/*****************************************************************************/
/****************************** Module Header ******************************\
*
* Module Name: PMSHL.H
*
* OS/2 Presentation Manager Shell constants, types, messages and
* function declarations include file.
*
*
* ===========================================================================
*
* The following symbols are used in this file for conditional sections.
*
* INCL_SHLERRORS defined if INCL_ERRORS is defined
* INCL_WINPROGRAMLIST Include Program List Calls
* INCL_WINSHELLDATA Include Presentation Manager profile calls
* INCL_WINSWITCHLIST Include Switch List Calls
*
* ===========================================================================
*
* Comments at the end of each typedef line give the name tags used in
* the assembler include version of this file.
*
* The assembler include version of this file excludes lines between XLATOFF
* and XLATON comments.
*
#ifndef __IBMC__
* The public version of this file (as shipped with the OS/2 Toolkit
* product) excludes all non 32-bit material marked in this file
* as well as any areas specifically marked with __IBMC__ conditional
* sections - including this paragraph. The H2IBMH rexx command file
* removes these sections.
#endif
\***************************************************************************/
/* XLATOFF */
#ifdef __IBMC__
#pragma checkout( suspend )
#ifndef __CHKHDR__
#pragma checkout( suspend )
#endif
#pragma checkout( resume )
#endif
/* XLATON */
#define SHL_INCLUDED
#ifndef INCL_32 /* If neither INCL_32 or INCL_16 set already */
#ifndef INCL_16 /* find out from compiler if 32-bit or not. */
#ifdef M_I386
#define INCL_32 /* Compiling for 32-bit */
#else
#define INCL_16 /* Compiling for 16-bit */
#endif
#endif
#endif
/*** if error definitions are required then allow Shell errors *************/
#ifdef INCL_ERRORS
#define INCL_SHLERRORS
#endif /* INCL_ERRORS */
#ifndef SESMGR
/*** common types, constants and function declarations ******************/
/*** maximum title length ***********************************************/
#define MAXNAMEL 60
/*** program handle *****************************************************/
typedef LHANDLE HPROGRAM; /* hprog */
typedef HPROGRAM FAR * PHPROGRAM;
typedef LHANDLE HAPP;
/*** ini file handle ****************************************************/
typedef LHANDLE HINI; /* hini */
typedef HINI FAR * PHINI;
#define HINI_PROFILE (HINI) NULL
#define HINI_USERPROFILE (HINI) -1L
#define HINI_SYSTEMPROFILE (HINI) -2L
#define HINI_USER HINI_USERPROFILE
#define HINI_SYSTEM HINI_SYSTEMPROFILE
typedef struct _PRFPROFILE { /* prfpro */
ULONG cchUserName;
PSZ pszUserName;
ULONG cchSysName;
PSZ pszSysName;
} PRFPROFILE;
typedef PRFPROFILE FAR *PPRFPROFILE;
#endif /* end #ifndef SESMGR */
#ifdef INCL_WINPROGRAMLIST
/*** program list section ***********************************************/
#ifndef SESMGR
/*** maximum path length *********************************************/
#define MAXPATHL 128
/*** root group handle ***********************************************/
#define SGH_ROOT (HPROGRAM)-1L
typedef struct _HPROGARRAY { /* hpga */
HPROGRAM ahprog[1];
} HPROGARRAY;
typedef HPROGARRAY FAR *PHPROGARRAY;
#endif /* end of #ifndef SESMGR */
#ifdef INCL_32
typedef ULONG PROGCATEGORY; /* progc */
#else
typedef char PROGCATEGORY; /* progc */
#endif
typedef PROGCATEGORY FAR *PPROGCATEGORY;
/*** values acceptable for PROGCATEGORY for PM groups *******************/
#define PROG_DEFAULT (PROGCATEGORY)0
#define PROG_FULLSCREEN (PROGCATEGORY)1
#define PROG_WINDOWABLEVIO (PROGCATEGORY)2
#define PROG_PM (PROGCATEGORY)3
#define PROG_GROUP (PROGCATEGORY)5
#define PROG_REAL (PROGCATEGORY)4
#define PROG_VDM (PROGCATEGORY)4
#define PROG_WINDOWEDVDM (PROGCATEGORY)7
#define PROG_DLL (PROGCATEGORY)6
#define PROG_PDD (PROGCATEGORY)8
#define PROG_VDD (PROGCATEGORY)9
#define PROG_WINDOW_REAL (PROGCATEGORY)10
#define PROG_WINDOW_PROT (PROGCATEGORY)11
#define PROG_30_STD (PROGCATEGORY)11
#define PROG_WINDOW_AUTO (PROGCATEGORY)12
#define PROG_SEAMLESSVDM (PROGCATEGORY)13
#define PROG_30_STDSEAMLESSVDM (PROGCATEGORY)13
#define PROG_SEAMLESSCOMMON (PROGCATEGORY)14
#define PROG_30_STDSEAMLESSCOMMON (PROGCATEGORY)14
#define PROG_31_STDSEAMLESSVDM (PROGCATEGORY)15
#define PROG_31_STDSEAMLESSCOMMON (PROGCATEGORY)16
#define PROG_31_ENHSEAMLESSVDM (PROGCATEGORY)17
#define PROG_31_ENHSEAMLESSCOMMON (PROGCATEGORY)18
#define PROG_31_ENH (PROGCATEGORY)19
#define PROG_31_STD (PROGCATEGORY)20
#define PROG_RESERVED (PROGCATEGORY)255
#ifndef SESMGR
#ifdef INCL_32
typedef struct _PROGTYPE { /* progt */
PROGCATEGORY progc;
ULONG fbVisible;
} PROGTYPE;
#else
typedef struct _PROGTYPE { /* progt */
char progc; /* should be PROGCATEGORY */
UCHAR fbVisible;
} PROGTYPE;
#endif
typedef PROGTYPE FAR *PPROGTYPE;
/*** visibility flag for PROGTYPE structure **************************/
#define SHE_VISIBLE 0x00
#define SHE_INVISIBLE 0x01
#define SHE_RESERVED 0xFF
/*** Protected group flag for PROGTYPE structure *********************/
#define SHE_UNPROTECTED 0x00
#define SHE_PROTECTED 0x02
#ifndef INCL_32
/*** window size structure ****************************************/
typedef struct _XYWINSIZE { /* xywin */
SHORT x;
SHORT y;
SHORT cx;
SHORT cy;
USHORT fsWindow;
} XYWINSIZE;
typedef XYWINSIZE FAR *PXYWINSIZE;
/*** Definitions for Window Positioning ***************************/
#define XYF_NOAUTOCLOSE 0x0008
#define XYF_MINIMIZED 0x0004
#define XYF_MAXIMIZED 0x0002
#define XYF_INVISIBLE 0x0001
#define XYF_NORMAL 0X0000
/*** these structures and definitions not used in 32-bit **********/
typedef struct _PROGRAMENTRY { /* proge */
HPROGRAM hprog;
PROGTYPE progt;
CHAR szTitle[MAXNAMEL+1];
} PROGRAMENTRY;
typedef PROGRAMENTRY FAR *PPROGRAMENTRY;
typedef struct _PIBSTRUCT { /* pib */
PROGTYPE progt;
CHAR szTitle[MAXNAMEL+1];
CHAR szIconFileName[MAXPATHL+1];
CHAR szExecutable[MAXPATHL+1];
CHAR szStartupDir[MAXPATHL+1];
XYWINSIZE xywinInitial;
USHORT res1;
LHANDLE res2;
USHORT cchEnvironmentVars;
PCH pchEnvironmentVars;
USHORT cchProgramParameter;
PCH pchProgramParameter;
} PIBSTRUCT;
typedef PIBSTRUCT FAR *PPIBSTRUCT;
#endif
/*** Structures associated with 'Prf' calls **************************/
#ifdef INCL_32
typedef struct _PROGDETAILS { /* progde */
ULONG Length; /* set this to sizeof(PROGDETAILS) */
PROGTYPE progt;
PSZ pszTitle; /* any of the pointers can be NULL */
PSZ pszExecutable;
PSZ pszParameters;
PSZ pszStartupDir;
PSZ pszIcon;
PSZ pszEnvironment; /* this is terminated by /0/0 */
SWP swpInitial; /* this replaces XYWINSIZE */
} PROGDETAILS;
#else
typedef struct _PROGDETAILS { /* progde */
ULONG Length; /* set this to sizeof(PROGDETAILS) */
PROGTYPE progt;
USHORT pad1[3];
PSZ pszTitle; /* any of the pointers can be NULL */
PSZ pszExecutable;
PSZ pszParameters;
PSZ pszStartupDir;
PSZ pszIcon;
PSZ pszEnvironment; /* this is terminated by /0/0 */
SWP swpInitial; /* this replaces XYWINSIZE */
USHORT pad2[5];
} PROGDETAILS;
#endif
typedef PROGDETAILS FAR *PPROGDETAILS;
#ifdef INCL_32
typedef struct _PROGTITLE { /* progti */
HPROGRAM hprog;
PROGTYPE progt;
PSZ pszTitle;
} PROGTITLE;
#else
typedef struct _PROGTITLE { /* progti */
HPROGRAM hprog;
PROGTYPE progt;
USHORT pad1[3];
PSZ pszTitle;
} PROGTITLE;
#endif
typedef PROGTITLE FAR *PPROGTITLE;
/*** Program List API Function Definitions ***************************/
#ifdef INCL_16
/* XLATOFF */
#ifndef INCL_NOXLATE_WIN16
#define WinQueryProgramTitles Win16QueryProgramTitles
#define WinAddProgram Win16AddProgram
#define WinQueryDefinition Win16QueryDefinition
#define WinCreateGroup Win16CreateGroup
#define PrfQueryProgramTitles Prf16QueryProgramTitles
#define PrfAddProgram Prf16AddProgram
#define PrfChangeProgram Prf16ChangeProgram
#define PrfQueryDefinition Prf16QueryDefinition
#define PrfRemoveProgram Prf16RemoveProgram
#define PrfQueryProgramHandle Prf16QueryProgramHandle
#define PrfCreateGroup Prf16CreateGroup
#define PrfDestroyGroup Prf16DestroyGroup
#define PrfQueryProgramCategory Prf16QueryProgramCategory
#define WinStartApp Win16StartApp
#define WinTerminateApp Win16TerminateApp
#endif /* INCL_NOXLATE_WIN16 */
/* XLATON */
#endif /* INCL_16 */
#ifndef INCL_32
/*** these API calls not used in 32-bit ***************************/
BOOL APIENTRY WinQueryProgramTitles(HAB hab,
HPROGRAM hprogGroup,
PPROGRAMENTRY aprogeBuffer,
USHORT usBufferLen,
PUSHORT pusTotal);
HPROGRAM APIENTRY WinAddProgram(HAB hab,
PPIBSTRUCT ppibProgramInfo,
HPROGRAM hprogGroupHandle);
USHORT APIENTRY WinQueryDefinition(HAB hab,
HPROGRAM hprogProgHandle,
PPIBSTRUCT ppibProgramInfo,
USHORT usMaxLength);
HPROGRAM APIENTRY WinCreateGroup(HAB hab,
PSZ pszTitle,
UCHAR ucVisibility,
ULONG flres1,
ULONG flres2);
#endif /* ifndef INCL_32 */
/*** Program List API available 'Prf' calls **************************/
ULONG APIENTRY PrfQueryProgramTitles(HINI hini,
HPROGRAM hprogGroup,
PPROGTITLE pTitles,
ULONG cchBufferMax,
PULONG pulCount);
/*********************************************************************/
/* NOTE: string information is concatanated after the array of */
/* PROGTITLE structures so you need to allocate storage */
/* greater than sizeof(PROGTITLE)*cPrograms to query programs */
/* in a group. */
/* */
/* PrfQueryProgramTitles recommended usage to obtain titles of all */
/* programs in a group (Hgroup=SGH_ROOT is for all groups): */
/* */
/* BufLen = PrfQueryProgramTitles(Hini, Hgroup, */
/* (PPROGTITLE)NULL, 0, &Count); */
/* */
/* Alocate buffer of Buflen */
/* */
/* Len = PrfQueryProgramTitles(Hini, Hgroup, (PPROGTITLE)pBuffer, */
/* BufLen, pCount); */
/* */
/*********************************************************************/
HPROGRAM APIENTRY PrfAddProgram(HINI hini,
PPROGDETAILS pDetails,
HPROGRAM hprogGroup);
BOOL APIENTRY PrfChangeProgram(HINI hini,
HPROGRAM hprog,
PPROGDETAILS pDetails);
ULONG APIENTRY PrfQueryDefinition(HINI hini,
HPROGRAM hprog,
PPROGDETAILS pDetails,
ULONG cchBufferMax);
/*********************************************************************/
/* NOTE: string information is concatanated after the PROGDETAILS */
/* field structure so you need to allocate storage greater */
/* than sizeof(PROGDETAILS) to query programs */
/* */
/* PrfQueryDefinition recomended usage: */
/* */
/* bufferlen = PrfQueryDefinition(Hini,Hprog,(PPROGDETAILS)NULL,0) */
/* */
/* Alocate buffer of bufferlen bytes */
/* set Length field (0 will be supported) */
/* */
/* (PPROGDETAILS)pBuffer->Length=sizeof(PPROGDETAILS) */
/* */
/* len = PrfQueryDefinition(Hini, Hprog, (PPROGDETAILS)pBuffer, */
/* bufferlen) */
/*********************************************************************/
BOOL APIENTRY PrfRemoveProgram(HINI hini,
HPROGRAM hprog);
ULONG APIENTRY PrfQueryProgramHandle(HINI hini,
PSZ pszExe,
PHPROGARRAY phprogArray,
ULONG cchBufferMax,
PULONG pulCount);
HPROGRAM APIENTRY PrfCreateGroup(HINI hini,
PSZ pszTitle,
UCHAR chVisibility);
BOOL APIENTRY PrfDestroyGroup(HINI hini,
HPROGRAM hprogGroup);
PROGCATEGORY APIENTRY PrfQueryProgramCategory(HINI hini,
PSZ pszExe);
HAPP APIENTRY WinStartApp(HWND hwndNotify,
PPROGDETAILS pDetails,
PSZ pszParams,
PVOID Reserved,
ULONG fbOptions);
/*** bit values for Options parameter ********************************/
#define SAF_VALIDFLAGS 0x001F
#define SAF_INSTALLEDCMDLINE 0x0001 /* use installed parameters */
#define SAF_STARTCHILDAPP 0x0002 /* related application */
#define SAF_MAXIMIZED 0x0004 /* Start App maximized */
#define SAF_MINIMIZED 0x0008 /* Start App minimized, if !SAF_MAXIMIZED */
#define SAF_BACKGROUND 0x0010 /* Start app in the background */
BOOL APIENTRY WinTerminateApp(HAPP happ);
#endif /* end of #ifndef SESMGR */
#endif /* INCL_WINPROGRAMLIST */
/*** switch list section ***************************************************/
typedef LHANDLE HSWITCH; /* hsw */
typedef HSWITCH FAR *PHSWITCH;
#ifndef SESMGR
#if (defined(INCL_WINSWITCHLIST) || !defined(INCL_NOCOMMON))
#ifdef INCL_32
typedef struct _SWCNTRL { /* swctl */
HWND hwnd;
HWND hwndIcon;
HPROGRAM hprog;
PID idProcess;
ULONG idSession;
ULONG uchVisibility;
ULONG fbJump;
CHAR szSwtitle[MAXNAMEL+4];
ULONG bProgType;
} SWCNTRL;
#else
typedef struct _SWCNTRL { /* swctl */
HWND hwnd;
HWND hwndIcon;
HPROGRAM hprog;
USHORT idProcess;
USHORT idSession;
BYTE uchVisibility;
BYTE fbJump;
CHAR szSwtitle[MAXNAMEL+1];
BYTE bProgType;
} SWCNTRL;
#endif
typedef SWCNTRL FAR *PSWCNTRL;
/*** visibility flag for SWCNTRL structure ***************************/
#define SWL_VISIBLE 0x04
#define SWL_INVISIBLE 0x01
#define SWL_GRAYED 0x02
/*** jump flag for SWCNTRL structure *********************************/
#define SWL_JUMPABLE 0x02
#define SWL_NOTJUMPABLE 0x01
#ifdef INCL_16
/* XLATOFF */
#ifndef INCL_NOXLATE_WIN16
#define WinAddSwitchEntry Win16AddSwitchEntry
#define WinRemoveSwitchEntry Win16RemoveSwitchEntry
#endif /* INCL_NOXLATE_WIN16 */
/* XLATON */
#endif /* INCL_16 */
/*** Switching Program functions *************************************/
HSWITCH APIENTRY WinAddSwitchEntry(PSWCNTRL);
#ifdef INCL_32
ULONG APIENTRY WinRemoveSwitchEntry(HSWITCH);
#else
USHORT APIENTRY WinRemoveSwitchEntry(HSWITCH);
#endif
#endif /* not INCL_NOCOMMON */
#ifdef INCL_WINSWITCHLIST
typedef struct _SWENTRY { /* swent */
HSWITCH hswitch;
SWCNTRL swctl;
} SWENTRY;
typedef SWENTRY FAR *PSWENTRY;
#ifdef INCL_32
typedef struct _SWBLOCK { /* swblk */
ULONG cswentry;
SWENTRY aswentry[1];
} SWBLOCK;
#else
typedef struct _SWBLOCK { /* swblk */
USHORT cswentry;
SWENTRY aswentry[1];
} SWBLOCK;
#endif
typedef SWBLOCK FAR *PSWBLOCK;
#ifdef INCL_16
/* XLATOFF */
#ifndef INCL_NOXLATE_WIN16
#define WinChangeSwitchEntry Win16ChangeSwitchEntry
#define WinCreateSwitchEntry Win16CreateSwitchEntry
#define WinQuerySessionTitle Win16QuerySessionTitle
#define WinQuerySwitchEntry Win16QuerySwitchEntry
#define WinQuerySwitchHandle Win16QuerySwitchHandle
#define WinQuerySwitchList Win16QuerySwitchList
#define WinQueryTaskSizePos Win16QueryTaskSizePos
#define WinQueryTaskTitle Win16QueryTaskTitle
#define WinSwitchToProgram Win16SwitchToProgram
#define WinInstStartApp Win16InstStartApp
#endif /* INCL_NOXLATE_WIN16 */
/* XLATON */
#endif /* INCL_16 */
#ifdef INCL_32
/*** 32-bit versions of these APIs have 32-bit parameters *********/
ULONG APIENTRY WinChangeSwitchEntry(HSWITCH hswitchSwitch,
PSWCNTRL pswctlSwitchData);
HSWITCH APIENTRY WinCreateSwitchEntry(HAB hab,
PSWCNTRL pswctlSwitchData);
ULONG APIENTRY WinQuerySessionTitle(HAB hab,
ULONG usSession,
PSZ pszTitle,
ULONG usTitlelen);
ULONG APIENTRY WinQuerySwitchEntry(HSWITCH hswitchSwitch,
PSWCNTRL pswctlSwitchData);
HSWITCH APIENTRY WinQuerySwitchHandle(HWND hwnd,
PID pidProcess);
ULONG APIENTRY WinQuerySwitchList(HAB hab,
PSWBLOCK pswblkSwitchEntries,
ULONG usDataLength);
ULONG APIENTRY WinQueryTaskSizePos(HAB hab,
ULONG usScreenGroup,
PSWP pswpPositionData);
ULONG APIENTRY WinQueryTaskTitle(ULONG usSession,
PSZ pszTitle,
ULONG usTitlelen);
ULONG APIENTRY WinSwitchToProgram(HSWITCH hswitchSwHandle);
#else
USHORT APIENTRY WinChangeSwitchEntry(HSWITCH hswitchSwitch,
PSWCNTRL pswctlSwitchData);
HSWITCH APIENTRY WinCreateSwitchEntry(HAB hab,
PSWCNTRL pswctlSwitchData);
USHORT APIENTRY WinQuerySessionTitle(HAB hab,
USHORT usSession,
PSZ pszTitle,
USHORT usTitlelen);
USHORT APIENTRY WinQuerySwitchEntry(HSWITCH hswitchSwitch,
PSWCNTRL pswctlSwitchData);
HSWITCH APIENTRY WinQuerySwitchHandle(HWND hwnd,
PID pidProcess);
USHORT APIENTRY WinQuerySwitchList(HAB hab,
PSWBLOCK pswblkSwitchEntries,
USHORT usDataLength);
USHORT APIENTRY WinQueryTaskSizePos(HAB hab,
USHORT usScreenGroup,
PSWP pswpPositionData);
USHORT APIENTRY WinQueryTaskTitle(USHORT usSession,
PSZ pszTitle,
USHORT usTitlelen);
USHORT APIENTRY WinSwitchToProgram(HSWITCH hswitchSwHandle);
#endif
#ifndef INCL_32
/*** this API calls not used in 32-bit ****************************/
HAPP APIENTRY WinInstStartApp(HINI hini,
HWND hwndNotifyWindow,
USHORT cCount,
PSZ FAR * aszApplication,
PSZ pszCmdLine,
PVOID pData,
USHORT fsOptions);
#endif /* ifndef INCL_32 */
#endif /* end of INCL_WINSWITCHLIST */
#ifdef INCL_WINSHELLDATA
#ifdef INCL_16
/* XLATOFF */
#ifndef INCL_NOXLATE_WIN16
#define WinQueryProfileInt Win16QueryProfileInt
#define WinQueryProfileString Win16QueryProfileString
#define WinWriteProfileString Win16WriteProfileString
#define WinQueryProfileSize Win16QueryProfileSize
#define WinQueryProfileData Win16QueryProfileData
#define WinWriteProfileData Win16WriteProfileData
#define PrfQueryProfileInt Prf16QueryProfileInt
#define PrfQueryProfileString Prf16QueryProfileString
#define PrfWriteProfileString Prf16WriteProfileString
#define PrfQueryProfileSize Prf16QueryProfileSize
#define PrfQueryProfileData Prf16QueryProfileData
#define PrfWriteProfileData Prf16WriteProfileData
#define PrfOpenProfile Prf16OpenProfile
#define PrfCloseProfile Prf16CloseProfile
#define PrfReset Prf16Reset
#define PrfQueryProfile Prf16QueryProfile
#endif /* INCL_NOXLATE_WIN16 */
/* XLATON */
#endif /* INCL_16 */
/*** OS2.INI Access functions ****************************************/
#ifndef INCL_32
/*** these API calls not used in 32-bit ***************************/
SHORT APIENTRY WinQueryProfileInt(HAB hab,
PSZ pszAppName,
PSZ pszKeyName,
SHORT sDefault);
USHORT APIENTRY WinQueryProfileString(HAB hab,
PSZ pszAppName,
PSZ pszKeyName,
PSZ pszDefault,
PVOID pProfileString,
USHORT usMaxPstring);
BOOL APIENTRY WinWriteProfileString(HAB hab,
PSZ pszAppName,
PSZ pszKeyName,
PSZ pszValue);
USHORT APIENTRY WinQueryProfileSize(HAB hab,
PSZ pszAppName,
PSZ pszKeyName,
PUSHORT pusValue);
BOOL APIENTRY WinQueryProfileData(HAB hab,
PSZ pszAppName,
PSZ pszKeyName,
PVOID pValue,
PUSHORT pusSize);
BOOL APIENTRY WinWriteProfileData(HAB hab,
PSZ pszAppName,
PSZ pszKeyName,
PVOID pValue,
USHORT usSize);
#endif /* ifndef INCL_32 */
#ifdef INCL_32
LONG APIENTRY PrfQueryProfileInt(HINI hini,
PSZ pszApp,
PSZ pszKey,
LONG sDefault);
#else
SHORT APIENTRY PrfQueryProfileInt(HINI hini,
PSZ pszApp,
PSZ pszKey,
SHORT sDefault);
#endif
ULONG APIENTRY PrfQueryProfileString(HINI hini,
PSZ pszApp,
PSZ pszKey,
PSZ pszDefault,
PVOID pBuffer,
ULONG cchBufferMax);
BOOL APIENTRY PrfWriteProfileString(HINI hini,
PSZ pszApp,
PSZ pszKey,
PSZ pszData);
BOOL APIENTRY PrfQueryProfileSize(HINI hini,
PSZ pszApp,
PSZ pszKey,
PULONG pulReqLen);
BOOL APIENTRY PrfQueryProfileData(HINI hini,
PSZ pszApp,
PSZ pszKey,
PVOID pBuffer,
PULONG pulBuffLen);
BOOL APIENTRY PrfWriteProfileData(HINI hini,
PSZ pszApp,
PSZ pszKey,
PVOID pData,
ULONG cchDataLen);
HINI APIENTRY PrfOpenProfile(HAB hab,
PSZ pszFileName);
BOOL APIENTRY PrfCloseProfile(HINI hini);
BOOL APIENTRY PrfReset(HAB hab,
PPRFPROFILE pPrfProfile);
BOOL APIENTRY PrfQueryProfile(HAB hab,
PPRFPROFILE pPrfProfile);
/*** public message, broadcast on WinReset ***************************/
#define PL_ALTERED 0x008E /* WM_SHELLFIRST + 0E */
#endif /* INCL_WINSHELLDATA */
#ifdef INCL_SHLERRORS
#include <pmerr.h>
#endif /* INCL_SHLERRORS */
#endif /* of #ifndef SESMGR */
/* XLATOFF */
#ifdef __IBMC__
#pragma checkout( suspend )
#ifndef __CHKHDR__
#pragma checkout( resume )
#endif
#pragma checkout( resume )
#endif
/* XLATON */
/**************************** end of file **********************************/