source: 2.19_branch/Sibyl/RTL/PMSHL.PAS@ 376

Last change on this file since 376 was 8, checked in by RBRi, 19 years ago

+ rest of sibyl stuff

  • Property svn:eol-style set to native
File size: 9.9 KB
Line 
1UNIT PMSHL;
2
3{****************************** Module Header *****************************
4* *
5* Module Name: PMSHL.PAS *
6* *
7* OS/2 Presentation Manager Shell constants, types, messages and *
8* function declarations include file. *
9* *
10***************************************************************************}
11
12INTERFACE
13
14USES Os2Def;
15
16
17{ maximum title length }
18CONST
19 MAXNAMEL =60;
20
21{ program handle }
22
23TYPE
24 HPROGRAM=LHANDLE;
25 HAPP=LHANDLE;
26
27{ ini file handle }
28TYPE
29 HINI=LHANDLE;
30
31CONST
32 HINI_PROFILE =0;
33 HINI_USERPROFILE =-1;
34 HINI_SYSTEMPROFILE =-2;
35 HINI_USER =HINI_USERPROFILE;
36 HINI_SYSTEM =HINI_SYSTEMPROFILE;
37
38TYPE
39 PRFPROFILE=RECORD
40 cchUserName:ULONG;
41 pszUserName:PChar;
42 cchSysName:ULONG;
43 pszSysName:PChar;
44 END;
45
46CONST
47 { maximum path length }
48 MAXPATHL =128;
49
50 { root group handle }
51 SGH_ROOT =-1;
52
53TYPE
54 HPROGARRAY=RECORD
55 ahprog:HPROGRAM;
56 END;
57
58 PROGCATEGORY=ULONG;
59
60 { values acceptable for PROGCATEGORY for PM groups }
61CONST
62 PROG_DEFAULT =0;
63 PROG_FULLSCREEN =1;
64 PROG_WINDOWABLEVIO =2;
65 PROG_PM =3;
66 PROG_GROUP =5;
67 PROG_REAL =4;
68 PROG_VDM =4;
69 PROG_WINDOWEDVDM =7;
70 PROG_DLL =6;
71 PROG_PDD =8;
72 PROG_VDD =9;
73 PROG_WINDOW_REAL =10;
74 PROG_WINDOW_PROT =11;
75 PROG_30_STD =11;
76 PROG_WINDOW_AUTO =12;
77 PROG_SEAMLESSVDM =13;
78 PROG_30_STDSEAMLESSVDM =13;
79 PROG_SEAMLESSCOMMON =14;
80 PROG_30_STDSEAMLESSCOMMON=14;
81 PROG_31_STDSEAMLESSVDM =15;
82 PROG_31_STDSEAMLESSCOMMON=16;
83 PROG_31_ENHSEAMLESSVDM =17;
84 PROG_31_ENHSEAMLESSCOMMON=18;
85 PROG_31_ENH =19;
86 PROG_31_STD =20;
87 PROG_RESERVED =255;
88
89TYPE
90 PROGTYPE=RECORD
91 progc:PROGCATEGORY;
92 fbVisible:ULONG;
93 END;
94
95 { visibility flag for PROGTYPE structue }
96CONST
97 SHE_VISIBLE =$00;
98 SHE_INVISIBLE =$01;
99 SHE_RESERVED =$FF;
100
101 { Protected group flag for PROGTYPE structure }
102 SHE_UNPROTECTED =$00;
103 SHE_PROTECTED =$02;
104
105 { Structures associated with 'Prf' calls }
106TYPE
107 PROGDETAILS=RECORD
108 Length:ULONG;
109 progt:PROGTYPE;
110 pszTitle:PChar;
111 pszExecutable:PChar;
112 pszParameters:PChar;
113 pszStartupDir:PChar;
114 pszIcon:PChar;
115 pszEnvironment:PChar;
116 swpInitial:SWP;
117 END;
118
119 PROGTITLE=RECORD
120 hprog:HPROGRAM;
121 progt:PROGTYPE;
122 pszTitle:PChar;
123 END;
124 { bit values for Options parameter }
125CONST
126 SAF_VALIDFLAGS =$001F;
127
128 SAF_INSTALLEDCMDLINE =$0001; { use installed parameters }
129 SAF_STARTCHILDAPP =$0002; { related application }
130 SAF_MAXIMIZED =$0004; { Start App maximized }
131 SAF_MINIMIZED =$0008; { Start App minimized, if !SAF_MAXIMIZED }
132 SAF_BACKGROUND =$0010; { Start app in the background }
133
134
135
136{ switch list section }
137
138TYPE
139 HSWITCH=LHANDLE;
140
141 PSWCNTRL=^SWCNTRL;
142 SWCNTRL=RECORD
143 hwnd:HWND;
144 hwndIcon:HWND;
145 hprog:HPROGRAM;
146 idProcess:PID;
147 idSession:ULONG;
148 uchVisibility:ULONG;
149 fbJump:ULONG;
150 szSwtitle:CSTRING[MAXNAMEL+3];
151 bProgType:ULONG;
152 END;
153
154{ visibility flag for SWCNTRL structure }
155CONST
156 SWL_VISIBLE =$04;
157 SWL_INVISIBLE =$01;
158 SWL_GRAYED =$02;
159
160{ jump flag for SWCNTRL structure }
161 SWL_JUMPABLE =$02;
162 SWL_NOTJUMPABLE =$01;
163
164TYPE
165 PSWENTRY=^SWENTRY;
166 SWENTRY=RECORD
167 hswitch:HSWITCH;
168 swctl:SWCNTRL;
169 END;
170
171 PSWBLOCK=^SWBLOCK;
172 SWBLOCK=RECORD
173 cswentry:ULONG;
174 swentry:array[0..0] of SWENTRY; // actually many entries... AaronL
175 END;
176
177CONST
178 PL_ALTERED =$008E; { WM_SHELLFIRST + 0E }
179
180
181IMPORTS
182
183FUNCTION WinAddSwitchEntry(VAR aps:SWCNTRL):HSWITCH;
184 APIENTRY; 'PMSHAPI' index 120;
185FUNCTION WinRemoveSwitchEntry(ah:HSWITCH):ULONG;
186 APIENTRY; 'PMSHAPI' index 129;
187FUNCTION PrfQueryProgramTitles(ahini:HINI;hprogGroup:HPROGRAM;
188 VAR pTitles:PROGTITLE;cchBufferMax:ULONG;
189 VAR pulCount:ULONG):ULONG;
190 APIENTRY; 'PMSHAPI' index 113;
191FUNCTION PrfAddProgram(ahini:HINI;VAR pDetails:PROGDETAILS;
192 hprogGroup:HPROGRAM):HPROGRAM;
193 APIENTRY; 'PMSHAPI' index 109;
194FUNCTION PrfChangeProgram(ahini:HINI;hprog:HPROGRAM;
195 VAR pDetails:PROGDETAILS):BOOL;
196 APIENTRY; 'PMSHAPI' index 110;
197FUNCTION PrfQueryDefinition(ahini:HINI;hprog:HPROGRAM;
198 VAR pDetails:PROGDETAILS;
199 cchBufferMax:ULONG):ULONG;
200 APIENTRY; 'PMSHAPI' index 111;
201FUNCTION PrfRemoveProgram(ahini:HINI;hprog:HPROGRAM):BOOL;
202 APIENTRY; 'PMSHAPI' index 104;
203FUNCTION PrfQueryProgramHandle(ahini:HINI;CONST pszExe:CSTRING;
204 aphprogArray:HPROGARRAY;cchBufferMax:ULONG;
205 VAR pulCount:ULONG):BOOL;
206 APIENTRY; 'PMSHAPI' index 58;
207FUNCTION PrfCreateGroup(ahini:HINI;CONST pszTitle:CSTRING;
208 chVisibility:UCHAR):HPROGRAM;
209 APIENTRY; 'PMSHAPI' index 55;
210FUNCTION PrfDestroyGroup(ahini:HINI;hprogGroup:HPROGRAM):BOOL;
211 APIENTRY; 'PMSHAPI' index 106;
212FUNCTION PrfQueryProgramCategory(ahini:HINI;CONST pszExe:CSTRING):PROGCATEGORY;
213 APIENTRY; 'PMSHAPI' index 59;
214FUNCTION WinStartApp(hwndNotify:HWND;VAR pDetails:PROGDETAILS;CONST pszParams:CSTRING;
215 Reserved:POINTER;fbOptions:ULONG):HAPP;
216 APIENTRY; 'PMSHAPI' index 119;
217FUNCTION WinTerminateApp(ahapp:HAPP):BOOL;
218 APIENTRY; 'PMSHAPI' index 130;
219FUNCTION WinChangeSwitchEntry(hswitchSwitch:HSWITCH;
220 VAR pswctlSwitchData:SWCNTRL):ULONG;
221 APIENTRY; 'PMSHAPI' index 123;
222FUNCTION WinCreateSwitchEntry(ahab:HAB;VAR pswctlSwitchData:SWCNTRL):HSWITCH;
223 APIENTRY; 'PMSHAPI' index 121;
224FUNCTION WinQuerySessionTitle(ahab:HAB;usSession:ULONG;VAR pszTitle:CSTRING;
225 usTitlelen:ULONG):ULONG;
226 APIENTRY; 'PMSHAPI' index 122;
227FUNCTION WinQuerySwitchEntry(hswitchSwitch:HSWITCH;
228 VAR pswctlSwitchData:SWCNTRL):ULONG;
229 APIENTRY; 'PMSHAPI' index 124;
230FUNCTION WinQuerySwitchHandle(ahwnd:HWND;pidProcess:PID):HSWITCH;
231 APIENTRY; 'PMSHAPI' index 125;
232FUNCTION WinQuerySwitchList(ahab:HAB;VAR pswblkSwitchEntries:SWBLOCK;
233 usDataLength:ULONG):ULONG;
234 APIENTRY; 'PMSHAPI' index 126;
235FUNCTION WinQueryTaskSizePos(ahab:HAB;usScreenGroup:ULONG;
236 VAR pswpPositionData:SWP):ULONG;
237 APIENTRY; 'PMSHAPI' index 127;
238FUNCTION WinQueryTaskTitle(usSession:ULONG;VAR pszTitle:CSTRING;
239 usTitlelen:ULONG):ULONG;
240 APIENTRY; 'PMSHAPI' index 128;
241FUNCTION WinSwitchToProgram(hswitchSwHandle:HSWITCH):ULONG;
242 APIENTRY; 'PMSHAPI' index 131;
243FUNCTION PrfQueryProfileInt(ahini:HINI;CONST pszApp,pszKey:CSTRING;
244 sDefault:LONG):LONG;
245 APIENTRY; 'PMSHAPI' index 114;
246FUNCTION PrfQueryProfileString(ahini:HINI;CONST pszApp,pszKey,pszDefault:CSTRING;
247 VAR pBuffer;cchBufferMax:ULONG):ULONG;
248 APIENTRY; 'PMSHAPI' index 115;
249FUNCTION PrfWriteProfileString(ahini:HINI;CONST pszApp,pszKey,pszData:CSTRING):BOOL;
250 APIENTRY; 'PMSHAPI' index 116;
251FUNCTION PrfQueryProfileSize(ahini:HINI;CONST pszApp,pszKey:CSTRING;
252 VAR pulReqLen:ULONG):BOOL;
253 APIENTRY; 'PMSHAPI' index 101;
254FUNCTION PrfQueryProfileData(ahini:HINI;CONST pszApp,pszKey:CSTRING;VAR pBuffer;
255 VAR pulBuffLen:ULONG):BOOL;
256 APIENTRY; 'PMSHAPI' index 117;
257FUNCTION PrfWriteProfileData(ahini:HINI;CONST pszApp,pszKey:CSTRING;VAR pData;
258 cchDataLen:ULONG):BOOL;
259 APIENTRY; 'PMSHAPI' index 118;
260FUNCTION PrfOpenProfile(ahab:HAB;CONST pszFileName:CSTRING):HINI;
261 APIENTRY; 'PMSHAPI' index 102;
262FUNCTION PrfCloseProfile(ahini:HINI):BOOL;
263 APIENTRY; 'PMSHAPI' index 103;
264FUNCTION PrfReset(ahab:HAB;VAR apPrfProfile:PRFPROFILE):BOOL;
265 APIENTRY; 'PMSHAPI' index 108;
266FUNCTION PrfQueryProfile(ahab:HAB;VAR apPrfProfile:PRFPROFILE):BOOL;
267 APIENTRY; 'PMSHAPI' index 107;
268
269END;
270
271
272IMPLEMENTATION
273
274BEGIN
275END.
Note: See TracBrowser for help on using the repository browser.