~ubuntu-branches/debian/lenny/fpc/lenny

« back to all changes in this revision

Viewing changes to fpcsrc/rtl/wince/wininc/base.inc

  • Committer: Bazaar Package Importer
  • Author(s): Mazen Neifer, Torsten Werner, Mazen Neifer
  • Date: 2008-05-17 17:12:11 UTC
  • mfrom: (3.1.9 intrepid)
  • Revision ID: james.westby@ubuntu.com-20080517171211-9qi33xhd9evfa0kg
Tags: 2.2.0-dfsg1-9
[ Torsten Werner ]
* Add Mazen Neifer to Uploaders field.

[ Mazen Neifer ]
* Moved FPC sources into a version dependent directory from /usr/share/fpcsrc
  to /usr/share/fpcsrc/${FPCVERSION}. This allow installing more than on FPC
  release.
* Fixed far call issue in compiler preventing building huge binearies.
  (closes: #477743)
* Updated building dependencies, recomennded and suggested packages.
* Moved fppkg to fp-utils as it is just a helper tool and is not required by
  compiler.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
{
 
2
    This file is part of the Free Pascal run time library.
 
3
    This unit contains base definition for the Win32 API
 
4
    Copyright (c) 1999-2000 by Florian Klaempfl,
 
5
    member of the Free Pascal development team.
 
6
 
 
7
    See the file COPYING.FPC, included in this distribution,
 
8
    for details about the copyright.
 
9
 
 
10
    This program is distributed in the hope that it will be useful,
 
11
    but WITHOUT ANY WARRANTY; without even the implied warranty of
 
12
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
13
 
 
14
 **********************************************************************}
 
15
 
 
16
{
 
17
  Base.h
 
18
 
 
19
  Base definitions
 
20
 
 
21
  Copyright (C) 1996, 1997 Free Software Foundation, Inc.
 
22
 
 
23
  Author: Scott Christley <scottc@net-community.com>
 
24
 
 
25
  This file is part of the Windows32 API Library.
 
26
 
 
27
  This library is free software; you can redistribute it and/or
 
28
  modify it under the terms of the GNU Library General Public
 
29
  License as published by the Free Software Foundation; either
 
30
  version 2 of the License, or (at your option) any later version.
 
31
 
 
32
  This library is distributed in the hope that it will be useful,
 
33
  but WITHOUT ANY WARRANTY; without even the implied warranty of
 
34
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 
35
  Library General Public License for more details.
 
36
 
 
37
  If you are interested in a warranty or support for this source code,
 
38
  contact Scott Christley <scottc@net-community.com> for more information.
 
39
 
 
40
 
 
41
  You should have received a copy of the GNU Library General Public
 
42
  License along with this library; see the file COPYING.LIB.
 
43
  If not, write to the Free Software Foundation,
 
44
  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
45
 
 
46
  Changes :
 
47
 
 
48
  08/15/2005 update for wince4.2 port,ORO06
 
49
}
 
50
 
 
51
{$ifdef read_interface}
 
52
 
 
53
{$PACKRECORDS C}
 
54
  const
 
55
     ANYSIZE_ARRAY = 1;               //~winnt, moved from define to compile SID
 
56
  type
 
57
 
 
58
     MAKEINTRESOURCE = pwidechar;
 
59
         ATOM = word;                     //windef
 
60
     TAtom = ATOM;
 
61
 
 
62
     WINBOOL = longbool;
 
63
     BOOL = WINBOOL;                  //windef
 
64
 
 
65
     CALTYPE = cardinal;
 
66
     CALID = cardinal;
 
67
 
 
68
     CCHAR = char;                    //winnt
 
69
 
 
70
     COLORREF = Cardinal;             //windef
 
71
     TCOLORREF = cardinal;
 
72
 
 
73
     SHORT = smallint;                //winnt
 
74
     WINT  = longint;
 
75
     LONG  = longint;                 //winnt
 
76
     DWORD = Cardinal;                //windef
 
77
 
 
78
     PINTEGER = ^longint;
 
79
     PBOOL    = ^BOOL;                //windef
 
80
 
 
81
     LONGLONG  = int64;               //winnt
 
82
     PLONGLONG = ^LONGLONG;           //winnt
 
83
     ULONGLONG  = qword;              //+winnt
 
84
     PULONGLONG = ^ULONGLONG;         //+winnt
 
85
 
 
86
     DWORDLONG  = qword;  { was unsigned long  }
 
87
     PDWORDLONG = ^DWORDLONG;
 
88
 
 
89
     HANDLE = System.THandle;
 
90
     HRESULT = System.HResult;  //winnt LONG
 
91
     PHRESULT= ^HRESULT;
 
92
 
 
93
     HACCEL = HANDLE;        //windef
 
94
     HBITMAP = HANDLE;       //windef
 
95
     HBRUSH = HANDLE;        //windef
 
96
     HCOLORSPACE = HANDLE;   //windef
 
97
     HCONV = HANDLE;
 
98
     HCONVLIST = HANDLE;
 
99
     HCURSOR = HANDLE;       //windef
 
100
     HDBC = HANDLE;
 
101
     HDC = HANDLE;           //windef
 
102
     HDDEDATA = HANDLE;
 
103
     HDESK = HANDLE;         //windef
 
104
     HDROP = HANDLE;
 
105
     HDWP = HANDLE;
 
106
     HENHMETAFILE = HANDLE;  //windef
 
107
     HENV = HANDLE;
 
108
     HEVENT = HANDLE;        //+windef
 
109
     HFILE = HANDLE;         //windef
 
110
     HFONT = HANDLE;         //windef
 
111
     HGDIOBJ = HANDLE;       //windef
 
112
     HGLOBAL = HANDLE;       //windef
 
113
     HGLRC = HANDLE;         //windef
 
114
     HHOOK = HANDLE;         //windef
 
115
     HICON = HCURSOR;        //~windef
 
116
     LPHICON = ^HICON;       //+tapi
 
117
     HIMAGELIST = HANDLE;
 
118
     HINST = HANDLE;   { Not HINSTANCE, else it has problems with the var HInstance }
 
119
     HKEY = HANDLE;          //windef
 
120
     HKL = HANDLE;           //windef
 
121
     HLOCAL = HANDLE;        //windef
 
122
     HMENU = HANDLE;         //windef
 
123
     HMETAFILE = HANDLE;     //windef
 
124
     HMODULE = HANDLE;       //windef
 
125
     HMONITOR = HANDLE;      //+windef
 
126
     HPALETTE = HANDLE;      //windef
 
127
     HPEN = HANDLE;          //windef
 
128
     HRASCONN = HANDLE;
 
129
     HRGN = HANDLE;          //windef
 
130
     HRSRC = HANDLE;         //windef
 
131
     HSTMT = HANDLE;
 
132
     HSTR  = HANDLE;         //windef
 
133
     HSZ = HANDLE;
 
134
     HTASK = HANDLE;         //windef
 
135
     HWINSTA = HANDLE;       //windef
 
136
     HWND = HANDLE;          //windef
 
137
     HWINEVENTHOOK = HANDLE; //+windef
 
138
 
 
139
     LANGID = word;          //winnt
 
140
     LCID   = DWORD;         //winnt
 
141
     PLCID  = ^LCID;         //+winnt
 
142
     LCTYPE = DWORD;
 
143
     LPARAM = longint;       //windef LONG_PTR
 
144
 
 
145
     LP     = ^word;
 
146
     LPBOOL = ^WINBOOL;      //windef
 
147
     LPBYTE = ^BYTE;         //windef
 
148
     LPCCH  = PCHAR;         //winnt
 
149
     LPCH   = PCHAR;         //winnt
 
150
 
 
151
     LPCOLORREF = ^COLORREF; //windef
 
152
 
 
153
     LPCSTR  = Pchar;        //winnt
 
154
{$ifdef UNICODE}
 
155
     LPCTSTR = Pwidechar;    //winnt
 
156
{$else}
 
157
     LPCTSTR = Pchar;        //winnt
 
158
{$endif}
 
159
 
 
160
     LPCWCH  = Pwidechar;   //winnt
 
161
     LPCWSTR = Pwidechar;   //winnt
 
162
 
 
163
     LPDWORD = ^DWORD;      //windef
 
164
 
 
165
     LPHANDLE = ^HANDLE;    //windef
 
166
     LPINT  = ^longint;     //windef
 
167
     LPLONG = ^longint;     //windef
 
168
 
 
169
     LPSTR = Pchar;         //winnt
 
170
{$ifdef UNICODE}
 
171
     LPTCH  = Pwidechar;
 
172
     LPTSTR = Pwidechar;
 
173
{$else}
 
174
     LPTCH  = Pchar;
 
175
     LPTSTR = Pchar;
 
176
{$endif}
 
177
 
 
178
     LRESULT = longint;     //windef LONG_PTR
 
179
 
 
180
     LPVOID  = pointer;     //windef
 
181
 
 
182
     LPCVOID = pointer;     //windef
 
183
 
 
184
     LPWCH  = Pwidechar;
 
185
     LPWORD = ^word;        //windef
 
186
     LPWSTR = Pwidechar;    //winnt
 
187
 
 
188
     //
 
189
     // Locally Unique Identifier
 
190
     //
 
191
     //winnt : declaration moved and changed : was in struct as LUID = TlargeInteger
 
192
     LUID = record
 
193
       LowPart  : DWORD;
 
194
       HighPart : LONG ;
 
195
     end;
 
196
     TLUID = LUID;
 
197
     PLUID = ^LUID;
 
198
 
 
199
     NWPSTR = Pwidechar;    //winnt
 
200
 
 
201
     PWINBOOL = ^WINBOOL;
 
202
     PBOOLEAN = ^BYTE;
 
203
 
 
204
     PBYTE = ^BYTE;         //windef
 
205
 
 
206
     PCCH = PCHAR;          //winnt
 
207
     PCH  = PCHAR;          //winnt
 
208
 
 
209
     PCSTR = Pchar;
 
210
 
 
211
     PCWCH  = Pwidechar;    //winnt
 
212
     PCWSTR = Pwidechar;    //winnt
 
213
 
 
214
     PDWORD = ^DWORD;       //windef
 
215
 
 
216
     PHANDLE = ^HANDLE;     //windef
 
217
     PHKEY = ^HKEY;         //windef
 
218
 
 
219
     PINT = ^longint;
 
220
     PLONG = ^longint;      //windef
 
221
     PSHORT = ^SHORT;       //windef
 
222
     LPSHORT = ^SHORT;      //+windef
 
223
 
 
224
     PSTR = Pchar;
 
225
 
 
226
     PSZ = Pchar;         //winnt
 
227
{$ifdef UNICODE}
 
228
     PTBYTE = ^word;      //winnt
 
229
     PTCH = Pwidechar;
 
230
     PTCHAR = Pwidechar;  //winnt
 
231
     PTSTR = Pwidechar;
 
232
{$else}
 
233
     PTBYTE = ^byte;
 
234
     PTCH   = Pchar;
 
235
     PTCHAR = Pchar;
 
236
     PTSTR  = Pchar;
 
237
{$endif}
 
238
 
 
239
     PUCHAR = ^byte;        //windef
 
240
     PWCH   = Pwidechar;    //winnt
 
241
     PWCHAR = Pwidechar;    //winnt
 
242
 
 
243
     PWORD   = ^word;       //windef
 
244
     PUINT   = ^Cardinal;   //windef
 
245
     PULONG  = ^Cardinal;   //windef
 
246
     PUSHORT = ^word;       //windef
 
247
 
 
248
     PVOID = pointer;
 
249
 
 
250
     RETCODE = SHORT;
 
251
 
 
252
     SC_HANDLE = HANDLE;
 
253
     SC_LOCK = LPVOID;
 
254
     LPSC_HANDLE = ^SC_HANDLE;
 
255
     SPHANDLE = ^HANDLE;       //+windef
 
256
 
 
257
     SERVICE_STATUS_HANDLE = DWORD;
 
258
     SIZE_T = Cardinal;        //+winnt
 
259
{$ifdef UNICODE}
 
260
     TBYTE = word;
 
261
     TCHAR = widechar;
 
262
     BCHAR = word;
 
263
{$else}
 
264
     TBYTE = byte;
 
265
     TCHAR = char;
 
266
     BCHAR = BYTE;
 
267
{$endif}
 
268
 
 
269
     UCHAR = byte;          //windef
 
270
//     WCHAR = WideChar;      //winnt
 
271
 
 
272
     UINT   = Cardinal;     //windef
 
273
     ULONG  = Cardinal;     //windef
 
274
     USHORT = word;         //windef
 
275
 
 
276
     PLPSTR = ^LPSTR;
 
277
     PLPWStr= ^LPWStr;
 
278
 
 
279
     FLOAT  = single;       //+windef
 
280
     PFLOAT = ^FLOAT;       //+windef
 
281
     WCHAR_T = USHORT;      //+stdlib
 
282
     WINT_T = WCHAR_T;      //+stdlib
 
283
     WCTYPE_T = WCHAR_T;    //+stdlib
 
284
     TIME_T=ULONG;          //+stdlib
 
285
     WPARAM = Longint;      //windef UINT_PTR
 
286
{
 
287
  Enumerations
 
288
}
 
289
 
 
290
     ACL_INFORMATION_CLASS = (AclRevisionInformation := 1,AclSizeInformation
 
291
       );
 
292
 
 
293
     _ACL_INFORMATION_CLASS = ACL_INFORMATION_CLASS;
 
294
 
 
295
     MEDIA_TYPE = (Unknown,F5_1Pt2_512,F3_1Pt44_512,F3_2Pt88_512,
 
296
       F3_20Pt8_512,F3_720_512,F5_360_512,F5_320_512,
 
297
       F5_320_1024,F5_180_512,F5_160_512,RemovableMedia,
 
298
       FixedMedia);
 
299
 
 
300
     _MEDIA_TYPE = MEDIA_TYPE;
 
301
 
 
302
  const
 
303
     RASCS_DONE = $2000;
 
304
     RASCS_PAUSED = $1000;
 
305
 
 
306
  type
 
307
 
 
308
     RASCONNSTATE = (RASCS_OpenPort := 0,RASCS_PortOpened,
 
309
       RASCS_ConnectDevice,RASCS_DeviceConnected,
 
310
       RASCS_AllDevicesConnected,RASCS_Authenticate,
 
311
       RASCS_AuthNotify,RASCS_AuthRetry,RASCS_AuthCallback,
 
312
       RASCS_AuthChangePassword,RASCS_AuthProject,
 
313
       RASCS_AuthLinkSpeed,RASCS_AuthAck,RASCS_ReAuthenticate,
 
314
       RASCS_Authenticated,RASCS_PrepareForCallback,
 
315
       RASCS_WaitForModemReset,RASCS_WaitForCallback,
 
316
       RASCS_Projected,RASCS_StartAuthentication,
 
317
       RASCS_CallbackComplete,RASCS_LogonNetwork,
 
318
       RASCS_Interactive := RASCS_PAUSED,RASCS_RetryAuthentication,
 
319
       RASCS_CallbackSetByCaller,RASCS_PasswordExpired,
 
320
       RASCS_Connected := RASCS_DONE,RASCS_Disconnected
 
321
       );
 
322
 
 
323
     _RASCONNSTATE = RASCONNSTATE;
 
324
 
 
325
     RASPROJECTION = (RASP_PppIp := $8021, RASP_PppIpx := $802B, RASP_PppNbf := $803F,
 
326
       RASP_Amb := $10000);
 
327
 
 
328
     _RASPROJECTION = RASPROJECTION;
 
329
 
 
330
     PSECURITY_DESCRIPTO = PVOID;        //+winnt
 
331
     SECURITY_IMPERSONATION_LEVEL = (SecurityAnonymous,SecurityIdentification,
 
332
       SecurityImpersonation,SecurityDelegation
 
333
       );
 
334
 
 
335
     _SECURITY_IMPERSONATION_LEVEL = SECURITY_IMPERSONATION_LEVEL;
 
336
 
 
337
     SID_IDENTIFIER_AUTHORITY_REC = array[0..5] of BYTE;  //~ added for pre-defined SID declaration
 
338
     SID_IDENTIFIER_AUTHORITY = record                    //~winnt, moved to declare pre-defined SID
 
339
          Value : SID_IDENTIFIER_AUTHORITY_REC;
 
340
       end;
 
341
     LPSID_IDENTIFIER_AUTHORITY = ^SID_IDENTIFIER_AUTHORITY;
 
342
     PSID_IDENTIFIER_AUTHORITY = ^SID_IDENTIFIER_AUTHORITY;
 
343
     _SID_IDENTIFIER_AUTHORITY = SID_IDENTIFIER_AUTHORITY;
 
344
     TSIDIDENTIFIERAUTHORITY = SID_IDENTIFIER_AUTHORITY;
 
345
     PSIDIDENTIFIERAUTHORITY = ^SID_IDENTIFIER_AUTHORITY;
 
346
 
 
347
 
 
348
     SID = record                 //~wint
 
349
       Revision : Byte;
 
350
       SubAuthorityCount : Byte;
 
351
       IdentifierAuthority : SID_IDENTIFIER_AUTHORITY;
 
352
       SubAuthority : Array [0..ANYSIZE_ARRAY-1] of DWORD;
 
353
     end;
 
354
     _SID = SID;
 
355
     PSID = ^SID;
 
356
     
 
357
     SID_NAME_USE = (             //~winnt, added SidTypeComputer
 
358
      SidTypeUser:= 1,
 
359
      SidTypeGroup,
 
360
      SidTypeDomain,
 
361
      SidTypeAlias,
 
362
      SidTypeWellKnownGroup,
 
363
      SidTypeDeletedAccount,
 
364
      SidTypeInvalid,
 
365
      SidTypeUnknown,
 
366
      SidTypeComputer);
 
367
 
 
368
     PSID_NAME_USE = ^SID_NAME_USE;      //winnt
 
369
     _SID_NAME_USE = SID_NAME_USE;
 
370
 
 
371
     TOKEN_INFORMATION_CLASS = (TokenUser := 1,TokenGroups,TokenPrivileges,
 
372
       TokenOwner,TokenPrimaryGroup,TokenDefaultDacl,
 
373
       TokenSource,TokenType,TokenImpersonationLevel,
 
374
       TokenStatistics);
 
375
 
 
376
     _TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS;
 
377
     TTokenInformationClass   = TOKEN_INFORMATION_CLASS;
 
378
 
 
379
     TOKEN_TYPE = (TokenPrimary := 1,TokenImpersonation
 
380
       );
 
381
 
 
382
     tagTOKEN_TYPE = TOKEN_TYPE;
 
383
 
 
384
 {
 
385
   Macros
 
386
 }
 
387
 
 
388
  { was #define dname(params) def_expr }
 
389
  { argument types are unknown }
 
390
  function GetBValue(rgb : longint) : BYTE;
 
391
 
 
392
  { was #define dname(params) def_expr }
 
393
  { argument types are unknown }
 
394
  function GetGValue(rgb : longint) : BYTE;
 
395
 
 
396
  { was #define dname(params) def_expr }
 
397
  { argument types are unknown }
 
398
  function GetRValue(rgb : longint) : BYTE;
 
399
 
 
400
  { was #define dname(params) def_expr }
 
401
  { argument types are unknown }
 
402
  function RGB(r,g,b : longint) : DWORD;
 
403
 
 
404
  {  Not convertable by H2PAS
 
405
  #define HANDLE_WM_NOTIFY(hwnd, wParam, lParam, fn) \
 
406
      (fn)((hwnd), (int)(wParam), (NMHDR FAR )(lParam))
 
407
   }
 
408
 
 
409
  { was #define dname(params) def_expr }
 
410
  { argument types are unknown }
 
411
  function HIBYTE(w : longint) : BYTE;      //windef
 
412
 
 
413
  { was #define dname(params) def_expr }
 
414
  { argument types are unknown }
 
415
  function HIWORD(l : longint) : WORD;      //windef
 
416
 
 
417
  { was #define dname(params) def_expr }
 
418
  { argument types are unknown }
 
419
  function LOBYTE(w : longint) : BYTE;      //windef
 
420
 
 
421
  { was #define dname(params) def_expr }
 
422
  { argument types are unknown }
 
423
  function LOWORD(l : longint) : WORD;      //windef
 
424
 
 
425
  { was #define dname(params) def_expr }
 
426
  { argument types are unknown }
 
427
  function MAKELONG(a,b : longint) : LONG;  //windef
 
428
 
 
429
  { was #define dname(params) def_expr }
 
430
  { argument types are unknown }
 
431
  function MAKEWORD(a,b : longint) : WORD;  //windef
 
432
 
 
433
  { original Cygnus headers also had the following defined:  }
 
434
  { was #define dname(params) def_expr }
 
435
  { argument types are unknown }
 
436
  { return type might be wrong }
 
437
  function SEXT_HIWORD(l : longint) : longint;
 
438
    { return type might be wrong }
 
439
 
 
440
  { was #define dname(params) def_expr }
 
441
  { argument types are unknown }
 
442
  { return type might be wrong }
 
443
  function ZEXT_HIWORD(l : longint) : longint;
 
444
    { return type might be wrong }
 
445
 
 
446
  { was #define dname(params) def_expr }
 
447
  { argument types are unknown }
 
448
  function SEXT_LOWORD(l : longint) : longint;
 
449
 
 
450
  { was #define dname(params) def_expr }
 
451
  { argument types are unknown }
 
452
  { return type might be wrong }
 
453
  function INDEXTOOVERLAYMASK(i : longint) : longint;
 
454
    { return type might be wrong }
 
455
 
 
456
  { was #define dname(params) def_expr }
 
457
  { argument types are unknown }
 
458
  { return type might be wrong }
 
459
  function INDEXTOSTATEIMAGEMASK(i : longint) : longint;
 
460
    { return type might be wrong }
 
461
 
 
462
  { was #define dname(params) def_expr }
 
463
  { argument types are unknown }
 
464
  function MAKEINTATOM(i : longint) : LPTSTR;
 
465
 
 
466
 
 
467
  { was #define dname(params) def_expr }
 
468
  { argument types are unknown }
 
469
  { return type might be wrong }
 
470
  function MAKELANGID(p,s : longint) : longint;    //winnt
 
471
    { return type might be wrong }
 
472
 
 
473
  { was #define dname(params) def_expr }
 
474
  { argument types are unknown }
 
475
  function PRIMARYLANGID(lgid : longint) : WORD;   //winnt
 
476
 
 
477
  { was #define dname(params) def_expr }
 
478
  { argument types are unknown }
 
479
  { return type might be wrong }
 
480
  function SUBLANGID(lgid : longint) : longint;    //winnt
 
481
    { return type might be wrong }
 
482
 
 
483
  { was #define dname(params) def_expr }
 
484
  { argument types are unknown }
 
485
  function LANGIDFROMLCID(lcid : longint) : WORD;
 
486
 
 
487
  { was #define dname(params) def_expr }
 
488
  { argument types are unknown }
 
489
  function SORTIDFROMLCID(lcid : longint) : WORD;
 
490
 
 
491
  { was #define dname(params) def_expr }
 
492
  { argument types are unknown }
 
493
  function MAKELCID(lgid,srtid : longint) : DWORD;
 
494
 
 
495
  { was #define dname(params) def_expr }
 
496
  { argument types are unknown }
 
497
  function MAKELPARAM(l,h : longint) : LPARAM;
 
498
 
 
499
  { was #define dname(params) def_expr }
 
500
  { argument types are unknown }
 
501
  function MAKELRESULT(l,h : longint) : LRESULT;
 
502
 
 
503
  {  Not convertable by H2PAS
 
504
  #define MAKEPOINTS(l)   ( ((POINTS FAR  ) & (l)))
 
505
   }
 
506
  { was #define dname(params) def_expr }
 
507
  { argument types are unknown }
 
508
  function MAKEROP4(fore,back : longint) : DWORD;
 
509
 
 
510
  { was #define dname(params) def_expr }
 
511
  { argument types are unknown }
 
512
  function MAKEWPARAM(l,h : longint) : WPARAM;
 
513
 
 
514
{$ifndef max}
 
515
  { was #define dname(params) def_expr }
 
516
  { argument types are unknown }
 
517
  { return type might be wrong }
 
518
  function max(a,b : longint) : longint;  //windef
 
519
    { return type might be wrong }
 
520
 
 
521
{$endif}
 
522
{$ifndef min}
 
523
  { was #define dname(params) def_expr }
 
524
  { argument types are unknown }
 
525
  { return type might be wrong }
 
526
  function min(a,b : longint) : longint;  //windef
 
527
    { return type might be wrong }
 
528
 
 
529
{$endif}
 
530
  { was #define dname(params) def_expr }
 
531
  { argument types are unknown }
 
532
  function PALETTEINDEX(i : longint) : COLORREF;
 
533
 
 
534
  { was #define dname(params) def_expr }
 
535
  { argument types are unknown }
 
536
  { return type might be wrong }
 
537
  function PALETTERGB(r,g,b : longint) : longint;
 
538
    { return type might be wrong }
 
539
 
 
540
  (*  Not convertable by H2PAS
 
541
  #define POINTSTOPOINT(pt, pts) {(pt).x = (SHORT) LOWORD(pts); \
 
542
        (pt).y = (SHORT) HIWORD(pts);}
 
543
  #define POINTTOPOINTS(pt) \
 
544
      (MAKELONG((short) ((pt).x), (short) ((pt).y)))
 
545
   *)
 
546
  { already declared before
 
547
  #define INDEXTOOVERLAYMASK(i) ((i) << 8)
 
548
  #define INDEXTOSTATEIMAGEMASK(i) ((i) << 12)
 
549
   }
 
550
  {  Not convertable by H2PAS
 
551
  #ifdef UNICODE
 
552
  #define TEXT(quote) L##quote
 
553
  #else
 
554
  #define TEXT(quote) quote
 
555
  #endif
 
556
   }
 
557
 
 
558
 {
 
559
    Definitions for callback procedures
 
560
 }
 
561
 
 
562
 type
 
563
 
 
564
     BFFCALLBACK = function (_para1:HWND; _para2:UINT; _para3:LPARAM; _para4:LPARAM):longint;
 
565
 
 
566
     LPCCHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
 
567
 
 
568
     LPCFHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
 
569
 
 
570
     PTHREAD_START_ROUTINE = Pointer;
 
571
 
 
572
     LPTHREAD_START_ROUTINE = PTHREAD_START_ROUTINE;
 
573
 
 
574
     EDITSTREAMCALLBACK = function (_para1:DWORD; _para2:LPBYTE; _para3:LONG; _para4:LONG):DWORD;
 
575
 
 
576
     LPFRHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
 
577
 
 
578
     LPOFNHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
 
579
 
 
580
     LPPRINTHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
 
581
 
 
582
     LPSETUPHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
 
583
 
 
584
     DLGPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):LRESULT;
 
585
 
 
586
     PFNPROPSHEETCALLBACK = function (_para1:HWND; _para2:UINT; _para3:LPARAM):longint;
 
587
 
 
588
     LPSERVICE_MAIN_FUNCTION = procedure (_para1:DWORD; _para2:LPTSTR);
 
589
 
 
590
     PFNTVCOMPARE = function (_para1:LPARAM; _para2:LPARAM; _para3:LPARAM):longint;
 
591
 
 
592
     WNDPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):LRESULT;
 
593
 
 
594
 
 
595
     FARPROC = pointer;    //windef
 
596
     NEARPROC= FARPROC;    //+windef
 
597
     PROC = FARPROC;       //~windef
 
598
 
 
599
     ENUMRESTYPEPROC = function (_para1:HANDLE; _para2:LPTSTR; _para3:LONG):WINBOOL;
 
600
 
 
601
     ENUMRESNAMEPROC = function (_para1:HANDLE; _para2:LPCTSTR; _para3:LPTSTR; _para4:LONG):WINBOOL;
 
602
 
 
603
     ENUMRESLANGPROC = function (_para1:HANDLE; _para2:LPCTSTR; _para3:LPCTSTR; _para4:WORD; _para5:LONG):WINBOOL;
 
604
 
 
605
     DESKTOPENUMPROC = FARPROC;
 
606
 
 
607
     ENUMWINDOWSPROC = function (_para1:HWND; _para2:LPARAM):WINBOOL;
 
608
 
 
609
     ENUMWINDOWSTATIONPROC = function (_para1:LPTSTR; _para2:LPARAM):WINBOOL;
 
610
 
 
611
     SENDASYNCPROC = procedure (_para1:HWND; _para2:UINT; _para3:DWORD; _para4:LRESULT);
 
612
 
 
613
     TIMERPROC = procedure (_para1:HWND; _para2:UINT; _para3:UINT; _para4:DWORD);
 
614
 
 
615
     GRAYSTRINGPROC = FARPROC;
 
616
 
 
617
     DRAWSTATEPROC = function (_para1:HDC; _para2:LPARAM; _para3:WPARAM; _para4:longint; _para5:longint):WINBOOL;
 
618
 
 
619
     PROPENUMPROCEX = function (_para1:HWND; _para2:LPCTSTR; _para3:HANDLE; _para4:DWORD):WINBOOL;
 
620
 
 
621
     PROPENUMPROC = function (_para1:HWND; _para2:LPCTSTR; _para3:HANDLE):WINBOOL;
 
622
 
 
623
     HOOKPROC = function (_para1:longint; _para2:WPARAM; _para3:LPARAM):LRESULT;
 
624
 
 
625
     ENUMOBJECTSPROC = procedure (_para1:LPVOID; _para2:LPARAM);
 
626
 
 
627
     LINEDDAPROC = procedure (_para1:longint; _para2:longint; _para3:LPARAM);
 
628
 
 
629
     TABORTPROC = function (_para1:HDC; _para2:longint):WINBOOL;
 
630
 
 
631
     LPPAGEPAINTHOOK = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
 
632
 
 
633
     LPPAGESETUPHOOK = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
 
634
 
 
635
     ICMENUMPROC = function (_para1:LPTSTR; _para2:LPARAM):longint;
 
636
 
 
637
     EDITWORDBREAKPROCEX = function (_para1:pchar; _para2:LONG; _para3:BYTE; _para4:WINT):LONG;
 
638
 
 
639
     PFNLVCOMPARE = function (_para1:LPARAM; _para2:LPARAM; _para3:LPARAM):longint;
 
640
 
 
641
     LOCALE_ENUMPROC = function (_para1:LPTSTR):WINBOOL;
 
642
 
 
643
     CODEPAGE_ENUMPROC = function (_para1:LPTSTR):WINBOOL;
 
644
     CODEPAGE_ENUMPROCW = function (_para1:LPWSTR):WINBOOL;        //+winnls
 
645
     DATEFMT_ENUMPROC = function (_para1:LPTSTR):WINBOOL;
 
646
 
 
647
     TIMEFMT_ENUMPROC = function (_para1:LPTSTR):WINBOOL;
 
648
 
 
649
     CALINFO_ENUMPROC = function (_para1:LPTSTR):WINBOOL;
 
650
 
 
651
     PHANDLER_ROUTINE = function (_para1:DWORD):WINBOOL;
 
652
 
 
653
     LPHANDLER_FUNCTION = function (_para1:DWORD):WINBOOL;
 
654
 
 
655
     PFNGETPROFILEPATH = function (_para1:LPCTSTR; _para2:LPSTR; _para3:UINT):UINT;
 
656
 
 
657
     PFNRECONCILEPROFILE = function (_para1:LPCTSTR; _para2:LPCTSTR; _para3:DWORD):UINT;
 
658
 
 
659
     PFNPROCESSPOLICIES = function (_para1:HWND; _para2:LPCTSTR; _para3:LPCTSTR; _para4:LPCTSTR; _para5:DWORD):WINBOOL;
 
660
  const
 
661
     SE_CREATE_TOKEN_NAME = 'SeCreateTokenPrivilege';
 
662
     SE_ASSIGNPRIMARYTOKEN_NAME = 'SeAssignPrimaryTokenPrivilege';
 
663
     SE_LOCK_MEMORY_NAME = 'SeLockMemoryPrivilege';
 
664
     SE_INCREASE_QUOTA_NAME = 'SeIncreaseQuotaPrivilege';
 
665
     SE_UNSOLICITED_INPUT_NAME = 'SeUnsolicitedInputPrivilege';
 
666
     SE_MACHINE_ACCOUNT_NAME = 'SeMachineAccountPrivilege';
 
667
     SE_TCB_NAME = 'SeTcbPrivilege';
 
668
     SE_SECURITY_NAME = 'SeSecurityPrivilege';
 
669
     SE_TAKE_OWNERSHIP_NAME = 'SeTakeOwnershipPrivilege';
 
670
     SE_LOAD_DRIVER_NAME = 'SeLoadDriverPrivilege';
 
671
     SE_SYSTEM_PROFILE_NAME = 'SeSystemProfilePrivilege';
 
672
     SE_SYSTEMTIME_NAME = 'SeSystemtimePrivilege';
 
673
     SE_PROF_SINGLE_PROCESS_NAME = 'SeProfileSingleProcessPrivilege';
 
674
     SE_INC_BASE_PRIORITY_NAME = 'SeIncreaseBasePriorityPrivilege';
 
675
     SE_CREATE_PAGEFILE_NAME = 'SeCreatePagefilePrivilege';
 
676
     SE_CREATE_PERMANENT_NAME = 'SeCreatePermanentPrivilege';
 
677
     SE_BACKUP_NAME = 'SeBackupPrivilege';
 
678
     SE_RESTORE_NAME = 'SeRestorePrivilege';
 
679
     SE_SHUTDOWN_NAME = 'SeShutdownPrivilege';
 
680
     SE_DEBUG_NAME = 'SeDebugPrivilege';
 
681
     SE_AUDIT_NAME = 'SeAuditPrivilege';
 
682
     SE_SYSTEM_ENVIRONMENT_NAME = 'SeSystemEnvironmentPrivilege';
 
683
     SE_CHANGE_NOTIFY_NAME = 'SeChangeNotifyPrivilege';
 
684
     SE_REMOTE_SHUTDOWN_NAME = 'SeRemoteShutdownPrivilege';
 
685
 
 
686
     //SERVICES_ACTIVE_DATABASEW      L"ServicesActive"
 
687
     //#define SERVICES_FAILED_DATABASEW      L"ServicesFailed"
 
688
     SERVICES_ACTIVE_DATABASEA = 'ServicesActive';
 
689
     SERVICES_FAILED_DATABASEA = 'ServicesFailed';
 
690
  {  Not convertable by H2PAS
 
691
  #define SC_GROUP_IDENTIFIERW           L'+'
 
692
   }
 
693
     SC_GROUP_IDENTIFIERA = '+';
 
694
{$ifdef UNICODE}
 
695
     //temporary removed to compile in unicode, ORO06 08/2005
 
696
     //SERVICES_ACTIVE_DATABASE = SERVICES_ACTIVE_DATABASEW;
 
697
     //SERVICES_FAILED_DATABASE = SERVICES_FAILED_DATABASEW;
 
698
     //SC_GROUP_IDENTIFIER = SC_GROUP_IDENTIFIERW;
 
699
     SERVICES_ACTIVE_DATABASE = SERVICES_ACTIVE_DATABASEA;
 
700
     SERVICES_FAILED_DATABASE = SERVICES_FAILED_DATABASEA;
 
701
     SC_GROUP_IDENTIFIER = SC_GROUP_IDENTIFIERA;
 
702
{$else}
 
703
     SERVICES_ACTIVE_DATABASE = SERVICES_ACTIVE_DATABASEA;
 
704
     SERVICES_FAILED_DATABASE = SERVICES_FAILED_DATABASEA;
 
705
     SC_GROUP_IDENTIFIER = SC_GROUP_IDENTIFIERA;
 
706
{$endif}
 
707
 
 
708
type
 
709
 
 
710
     { PFNCALLBACK = CALLB; }
 
711
     PFNCALLBACK = function(_para1, _para2: UINT;_para3: HCONV;_para4, _para5: HSZ; _para6: HDDEDATA;_para7 ,_para8 :DWORD): HDDEData;
 
712
     { CALLB = procedure ;CDECL; }
 
713
       CALLB = PFNCALLBACK;
 
714
 
 
715
 
 
716
     SECURITY_CONTEXT_TRACKING_MODE = WINBOOL;
 
717
  { End of stuff from ddeml.h in old Cygnus headers  }
 
718
  { -----------------------------------------------  }
 
719
 
 
720
     WNDENUMPROC = FARPROC;
 
721
 
 
722
     ENHMFENUMPROC = FARPROC;
 
723
 
 
724
     CCSTYLE = DWORD;
 
725
 
 
726
     PCCSTYLE = ^CCSTYLE;
 
727
 
 
728
     LPCCSTYLE = ^CCSTYLE;
 
729
 
 
730
     CCSTYLEFLAGA = DWORD;
 
731
 
 
732
     PCCSTYLEFLAGA = ^CCSTYLEFLAGA;
 
733
 
 
734
     LPCCSTYLEFLAGA = ^CCSTYLEFLAGA;
 
735
 
 
736
{$endif read_interface}
 
737
 
 
738
 
 
739
{$ifdef read_implementation}
 
740
 
 
741
  { was #define dname(params) def_expr }
 
742
  { argument types are unknown }
 
743
  function GetBValue(rgb : longint) : BYTE;
 
744
    begin
 
745
       GetBValue:=BYTE(rgb shr 16);
 
746
    end;
 
747
 
 
748
  { was #define dname(params) def_expr }
 
749
  { argument types are unknown }
 
750
  function GetGValue(rgb : longint) : BYTE;
 
751
    begin
 
752
       GetGValue:=BYTE((WORD(rgb)) shr 8);
 
753
    end;
 
754
 
 
755
  { was #define dname(params) def_expr }
 
756
  { argument types are unknown }
 
757
  function GetRValue(rgb : longint) : BYTE;
 
758
    begin
 
759
       GetRValue:=BYTE(rgb);
 
760
    end;
 
761
 
 
762
  { was #define dname(params) def_expr }
 
763
  { argument types are unknown }
 
764
  function RGB(r,g,b : longint) : DWORD;
 
765
    begin
 
766
       RGB:=DWORD(((DWORD(BYTE(r))) or ((DWORD(WORD(g))) shl 8)) or ((DWORD(BYTE(b))) shl 16));
 
767
    end;
 
768
 
 
769
  { was #define dname(params) def_expr }
 
770
  { argument types are unknown }
 
771
  function HIBYTE(w : longint) : BYTE;
 
772
    begin
 
773
       HIBYTE:=BYTE(((WORD(w)) shr 8) and $FF);
 
774
    end;
 
775
 
 
776
  { was #define dname(params) def_expr }
 
777
  { argument types are unknown }
 
778
  function HIWORD(l : longint) : WORD;
 
779
    begin
 
780
       HIWORD:=WORD(((DWORD(l)) shr 16) and $FFFF);
 
781
    end;
 
782
 
 
783
  { was #define dname(params) def_expr }
 
784
  { argument types are unknown }
 
785
  function LOBYTE(w : longint) : BYTE;
 
786
    begin
 
787
       LOBYTE:=BYTE(w);
 
788
    end;
 
789
 
 
790
  { was #define dname(params) def_expr }
 
791
  { argument types are unknown }
 
792
  function LOWORD(l : longint) : WORD;
 
793
    begin
 
794
       LOWORD:=WORD(l);
 
795
    end;
 
796
 
 
797
  { was #define dname(params) def_expr }
 
798
  { argument types are unknown }
 
799
  function MAKELONG(a,b : longint) : LONG;
 
800
    begin
 
801
       MAKELONG:=LONG((WORD(a)) or ((DWORD(WORD(b))) shl 16));
 
802
    end;
 
803
 
 
804
  { was #define dname(params) def_expr }
 
805
  { argument types are unknown }
 
806
  function MAKEWORD(a,b : longint) : WORD;
 
807
    begin
 
808
       MAKEWORD:=WORD((BYTE(a)) or ((WORD(BYTE(b))) shl 8));
 
809
    end;
 
810
 
 
811
  { was #define dname(params) def_expr }
 
812
  { argument types are unknown }
 
813
  { return type might be wrong }
 
814
  function SEXT_HIWORD(l : longint) : longint;
 
815
    { return type might be wrong }
 
816
    begin
 
817
       SEXT_HIWORD:=(longint(l)) shr 16;
 
818
    end;
 
819
 
 
820
  { was #define dname(params) def_expr }
 
821
  { argument types are unknown }
 
822
  { return type might be wrong }
 
823
  function ZEXT_HIWORD(l : longint) : longint;
 
824
    { return type might be wrong }
 
825
    begin
 
826
       ZEXT_HIWORD:=(Cardinal(l)) shr 16;
 
827
    end;
 
828
 
 
829
  { was #define dname(params) def_expr }
 
830
  { argument types are unknown }
 
831
  function SEXT_LOWORD(l : longint) : longint;
 
832
    begin
 
833
       SEXT_LOWORD:=longint(SHORT(l));
 
834
    end;
 
835
 
 
836
  { was #define dname(params) def_expr }
 
837
  { argument types are unknown }
 
838
  { return type might be wrong }
 
839
  function INDEXTOOVERLAYMASK(i : longint) : longint;
 
840
    { return type might be wrong }
 
841
    begin
 
842
       INDEXTOOVERLAYMASK:=i shl 8;
 
843
    end;
 
844
 
 
845
  { was #define dname(params) def_expr }
 
846
  { argument types are unknown }
 
847
  { return type might be wrong }
 
848
  function INDEXTOSTATEIMAGEMASK(i : longint) : longint;
 
849
    { return type might be wrong }
 
850
    begin
 
851
       INDEXTOSTATEIMAGEMASK:=i shl 12;
 
852
    end;
 
853
 
 
854
  { was #define dname(params) def_expr }
 
855
  { argument types are unknown }
 
856
  function MAKEINTATOM(i : longint) : LPTSTR;
 
857
    begin
 
858
       MAKEINTATOM:=LPTSTR(DWORD(WORD(i)));
 
859
    end;
 
860
 
 
861
 
 
862
  { was #define dname(params) def_expr }
 
863
  { argument types are unknown }
 
864
  { return type might be wrong }
 
865
  function MAKELANGID(p,s : longint) : longint;
 
866
    { return type might be wrong }
 
867
    begin
 
868
       MAKELANGID:=((WORD(s)) shl 10) or (WORD(p));
 
869
    end;
 
870
 
 
871
  { was #define dname(params) def_expr }
 
872
  { argument types are unknown }
 
873
  function PRIMARYLANGID(lgid : longint) : WORD;
 
874
    begin
 
875
       { PRIMARYLANGID:=WORD(lgid(@($3ff)));
 
876
         h2pas error here corrected by hand PM }
 
877
       PRIMARYLANGID:=WORD(lgid) and ($3ff);
 
878
    end;
 
879
 
 
880
  { was #define dname(params) def_expr }
 
881
  { argument types are unknown }
 
882
  { return type might be wrong }
 
883
  function SUBLANGID(lgid : longint) : longint;
 
884
    { return type might be wrong }
 
885
    begin
 
886
       SUBLANGID:=(WORD(lgid)) shr 10;
 
887
    end;
 
888
 
 
889
  { was #define dname(params) def_expr }
 
890
  { argument types are unknown }
 
891
  function LANGIDFROMLCID(lcid : longint) : WORD;
 
892
    begin
 
893
       LANGIDFROMLCID:=WORD(lcid);
 
894
    end;
 
895
 
 
896
  { was #define dname(params) def_expr }
 
897
  { argument types are unknown }
 
898
  function SORTIDFROMLCID(lcid : longint) : WORD;
 
899
    begin
 
900
       SORTIDFROMLCID:=WORD(((DWORD(lcid)) and $000FFFFF) shr 16);
 
901
    end;
 
902
 
 
903
  { was #define dname(params) def_expr }
 
904
  { argument types are unknown }
 
905
  function MAKELCID(lgid,srtid : longint) : DWORD;
 
906
    begin
 
907
       MAKELCID:=DWORD(((DWORD(WORD(srtid))) shl 16) or (DWORD(WORD(lgid))));
 
908
    end;
 
909
 
 
910
  { was #define dname(params) def_expr }
 
911
  { argument types are unknown }
 
912
  function MAKELPARAM(l,h : longint) : LPARAM;
 
913
    begin
 
914
       MAKELPARAM:=LPARAM(MAKELONG(l,h));
 
915
    end;
 
916
 
 
917
  { was #define dname(params) def_expr }
 
918
  { argument types are unknown }
 
919
  function MAKELRESULT(l,h : longint) : LRESULT;
 
920
    begin
 
921
       MAKELRESULT:=LRESULT(MAKELONG(l,h));
 
922
    end;
 
923
 
 
924
  { was #define dname(params) def_expr }
 
925
  { argument types are unknown }
 
926
  function MAKEROP4(fore,back : longint) : DWORD;
 
927
    begin
 
928
       MAKEROP4:=DWORD((DWORD(back shl 8) and $FF000000) or DWORD(fore));
 
929
    end;
 
930
 
 
931
  { was #define dname(params) def_expr }
 
932
  { argument types are unknown }
 
933
  function MAKEWPARAM(l,h : longint) : WPARAM;
 
934
    begin
 
935
       MAKEWPARAM:=WPARAM(MAKELONG(l,h));
 
936
    end;
 
937
 
 
938
  { was #define dname(params) def_expr }
 
939
  { argument types are unknown }
 
940
  { return type might be wrong }
 
941
  function max(a,b : longint) : longint;
 
942
    { return type might be wrong }
 
943
    var
 
944
       if_local1 : longint;
 
945
    (* result types are not known *)
 
946
    begin
 
947
       if a > b then
 
948
         if_local1:=a
 
949
       else
 
950
         if_local1:=b;
 
951
       max:=if_local1;
 
952
    end;
 
953
 
 
954
  { was #define dname(params) def_expr }
 
955
  { argument types are unknown }
 
956
  { return type might be wrong }
 
957
  function min(a,b : longint) : longint;
 
958
    { return type might be wrong }
 
959
    var
 
960
       if_local1 : longint;
 
961
    (* result types are not known *)
 
962
    begin
 
963
       if a < b then
 
964
         if_local1:=a
 
965
       else
 
966
         if_local1:=b;
 
967
       min:=if_local1;
 
968
    end;
 
969
 
 
970
  { was #define dname(params) def_expr }
 
971
  { argument types are unknown }
 
972
  function PALETTEINDEX(i : longint) : COLORREF;
 
973
    begin
 
974
       PALETTEINDEX:=COLORREF($01000000 or (DWORD(WORD(i))));
 
975
    end;
 
976
 
 
977
  { was #define dname(params) def_expr }
 
978
  { argument types are unknown }
 
979
  { return type might be wrong }
 
980
  function PALETTERGB(r,g,b : longint) : longint;
 
981
    { return type might be wrong }
 
982
    begin
 
983
       PALETTERGB:=$02000000 or (RGB(r,g,b));
 
984
    end;
 
985
 
 
986
{$endif read_implementation}
 
987
 
 
988