6 Copyright (C) 1996, 1997 Free Software Foundation, Inc.
8 Author: Scott Christley <scottc@net-community.com>
10 This file is part of the Windows32 API Library.
12 This library is free software; you can redistribute it and/or
13 modify it under the terms of the GNU Library General Public
14 License as published by the Free Software Foundation; either
15 version 2 of the License, or (at your option) any later version.
17 This library is distributed in the hope that it will be useful,
18 but WITHOUT ANY WARRANTY; without even the implied warranty of
19 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20 Library General Public License for more details.
22 If you are interested in a warranty or support for this source code,
23 contact Scott Christley <scottc@net-community.com> for more information.
25 You should have received a copy of the GNU Library General Public
26 License along with this library; see the file COPYING.LIB.
27 If not, write to the Free Software Foundation,
28 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
31 #ifndef _GNU_H_WINDOWS32_BASE
32 #define _GNU_H_WINDOWS32_BASE
36 #endif /* __cplusplus */
42 #define NULL ((void *)0)
46 #include <ntos/types.h>
48 /* Check VOID before defining CHAR, SHORT, and LONG */
59 #define WINAPI STDCALL
60 #define APIENTRY STDCALL
64 #ifndef _DISABLE_TIDENTS
66 typedef wchar_t *LPTCH;
67 typedef wchar_t *LPTSTR;
72 #endif /* _DISABLE_TIDENTS */
76 /* typedef ACMDRIVERENUMCB;
77 typedef ACMDRIVERPROC;
78 typedef ACMFILERCHOOSEHOOKPROC;
79 typedef ACMFILTERENUMCB;
80 typedef ACMFILTERTAGENUMCB;
81 typedef ACMFORMATCHOOSEHOOKPROC;
82 typedef ACMFORMATENUMCB;
83 typedef ACMFORMATTAGENUMCB;
86 /* Changed from BOOL to WINBOOL to avoid Objective-C conflict */
87 typedef unsigned long CALTYPE;
88 typedef unsigned long CALID;
89 typedef unsigned long COLORREF;
95 typedef double DWORDLONG, *PDWORDLONG;
97 typedef EDITWORDBREAKPROC;
98 typedef ENHMFENUMPROC;
99 typedef ENUMRESLANGPROC;
100 typedef ENUMRESNAMEPROC;
101 typedef ENUMRESTYPEPROC;
104 /* typedef GLOBALHANDLE; */
105 typedef HANDLE HACCEL;
106 typedef HANDLE HBITMAP;
107 typedef HANDLE HBRUSH;
108 typedef HANDLE HCOLORSPACE;
109 typedef HANDLE HCONV;
110 typedef HANDLE HCONVLIST;
111 typedef HANDLE HCURSOR;
114 typedef HANDLE HDDEDATA;
115 typedef HANDLE HDESK;
116 typedef HANDLE HDROP;
118 typedef HANDLE HENHMETAFILE;
120 typedef USHORT COLOR16;
122 typedef HANDLE HFONT;
123 typedef HANDLE HGDIOBJ;
124 typedef HANDLE HGLOBAL;
125 typedef HANDLE HGLRC;
126 typedef HANDLE HHOOK;
127 typedef HANDLE HICON;
128 typedef HANDLE HIMAGELIST;
129 typedef HANDLE HINSTANCE;
130 typedef HANDLE HKEY, *PHKEY;
133 typedef DWORD GEOTYPE;
134 typedef DWORD GEOCLASS;
135 typedef HANDLE HLOCAL;
136 typedef HANDLE HMENU;
137 typedef HANDLE HMETAFILE;
138 typedef HANDLE HMODULE;
139 typedef HANDLE HPALETTE;
141 typedef HANDLE HRASCONN;
142 typedef DWORD LGRPID;
143 typedef long HRESULT;
145 typedef HANDLE HRSRC;
146 typedef HANDLE HSTMT;
148 typedef HANDLE HWINSTA;
150 typedef HANDLE HRAWINPUT;
151 typedef HANDLE HTASK;
152 typedef HANDLE HWINEVENTHOOK;
153 typedef VOID (CALLBACK* WINEVENTPROC)(HWINEVENTHOOK hWinEventHook,DWORD event,HWND hwnd,LONG idObject,LONG idChild,DWORD idEventThread,DWORD dwmsEventTime);
154 typedef unsigned short LANGID;
155 /*typedef DWORD LCID; */
156 typedef DWORD LCTYPE;
157 /* typedef LOCALHANDLE */
158 typedef unsigned short *LP;
161 typedef WINBOOL *LPBOOL;
162 typedef CONST CHAR *LPCCH;
164 typedef COLORREF *LPCOLORREF;
166 #ifndef _DISABLE_TIDENTS
168 typedef const wchar_t *LPCTSTR;
170 typedef const char *LPCTSTR;
172 #endif /* _DISABLE_TIDENTS */
174 typedef const wchar_t *LPCWCH;
175 typedef DWORD *LPDWORD;
176 /* typedef LPFRHOOKPROC; */
177 typedef HANDLE *LPHANDLE;
178 typedef DWORD FULLSCREENCONTROL;
179 typedef DWORD UNIVERSAL_FONT_ID;
180 typedef UNIVERSAL_FONT_ID *PUNIVERSAL_FONT_ID;
181 typedef DWORD REALIZATION_INFO;
182 typedef REALIZATION_INFO *PREALIZATION_INFO;
183 typedef DWORD SHAREDHANDLETABLE;
184 typedef SHAREDHANDLETABLE *PSHAREDHANDLETABLE;
185 typedef DWORD CHWIDTHINFO;
186 typedef CHWIDTHINFO *PCHWIDTHINFO;
187 /* typedef LPHANDLER_FUNCTION; */
189 typedef PLONG LPLONG;
191 typedef long LRESULT;
192 typedef wchar_t *LPWCH;
193 typedef unsigned short *LPWORD;
195 typedef wchar_t *NWPSTR;
196 typedef WINBOOL *PWINBOOL;
197 typedef const CHAR *PCCH;
198 typedef const char *PCSTR;
199 typedef const wchar_t *PCWCH;
201 /* typedef LCID *PLCID; */
202 typedef short *PSHORT;
207 #ifndef _DISABLE_TIDENTS
209 typedef wchar_t *PTBYTE;
210 typedef wchar_t *PTCH;
211 typedef wchar_t *PTCHAR;
212 typedef wchar_t *PTSTR;
214 typedef unsigned char *PTBYTE;
216 typedef char *PTCHAR;
219 #endif /* _DISABLE_TIDENTS */
224 typedef DWORD REGSAM;
227 typedef short RETCODE;
229 typedef HANDLE SC_HANDLE;
230 typedef LPVOID SC_LOCK;
231 typedef SC_HANDLE *LPSC_HANDLE;
232 typedef DWORD SERVICE_STATUS_HANDLE;
233 /* typedef SPHANDLE; */
235 #ifndef _DISABLE_TIDENTS
237 typedef wchar_t TBYTE;
238 #ifndef _TCHAR_DEFINED
239 #define _TCHAR_DEFINED
240 typedef wchar_t TCHAR;
241 #endif /* _TCHAR_DEFINED */
242 typedef wchar_t BCHAR;
244 typedef unsigned char TBYTE;
245 #ifndef _TCHAR_DEFINED
246 #define _TCHAR_DEFINED
248 #endif /* _TCHAR_DEFINED */
251 #endif /* _DISABLE_TIDENTS */
253 typedef unsigned int WPARAM;
254 /* typedef YIELDPROC; */
256 /* Only use __stdcall under WIN32 compiler */
265 #define RASCS_DONE 0x2000
266 #define RASCS_PAUSED 0x1000
267 typedef enum _RASCONNSTATE {
271 RASCS_DeviceConnected,
272 RASCS_AllDevicesConnected,
277 RASCS_AuthChangePassword,
281 RASCS_ReAuthenticate,
283 RASCS_PrepareForCallback,
284 RASCS_WaitForModemReset,
285 RASCS_WaitForCallback,
288 RASCS_StartAuthentication,
289 RASCS_CallbackComplete,
292 RASCS_Interactive = RASCS_PAUSED,
293 RASCS_RetryAuthentication,
294 RASCS_CallbackSetByCaller,
295 RASCS_PasswordExpired,
297 RASCS_Connected = RASCS_DONE,
301 typedef enum _RASPROJECTION {
303 RASP_PppNbf = 0x803F,
304 RASP_PppIpx = 0x802B,
308 typedef enum _SID_NAME_USE {
313 SidTypeWellKnownGroup,
314 SidTypeDeletedAccount,
317 } SID_NAME_USE, *PSID_NAME_USE;
319 #endif /* ! defined (RC_INVOKED) */
324 #define FORWARD_WM_NOTIFY(hwnd, idFrom, pnmhdr, fn) (void)(fn)((hwnd), WM_NOTIFY, (WPARAM)(int)(id), (LPARAM)(NMHDR FAR*)(pnmhdr))
326 #define GetBValue(rgb) ((BYTE) ((rgb) >> 16))
327 #define GetGValue(rgb) ((BYTE) (((WORD) (rgb)) >> 8))
328 #define GetRValue(rgb) ((BYTE) (rgb))
329 #define RGB(r, g ,b) ((DWORD) (((BYTE) (r) | ((WORD) (g) << 8)) | (((DWORD) (BYTE) (b)) << 16)))
331 #define HANDLE_WM_NOTIFY(hwnd, wParam, lParam, fn) (fn)((hwnd), (int)(wParam), (NMHDR FAR*)(lParam))
333 #define HIBYTE(w) ((BYTE) (((WORD) (w) >> 8) & 0xFF))
334 #define HIWORD(l) ((WORD) (((DWORD) (l) >> 16) & 0xFFFF))
335 #define SHIWORD(l) ((INT16) (((DWORD) (l) >> 16) & 0xFFFF))
336 #define LOBYTE(w) ((BYTE) (w))
337 #define LOWORD(l) ((WORD) (l))
338 #define SLOWORD(l) ((INT16) (l))
339 #define MAKELONG(a, b) ((LONG) (((WORD) (a)) | ((DWORD) ((WORD) (b))) << 16))
340 #define MAKEWORD(a, b) ((WORD) (((BYTE) (a)) | ((WORD) ((BYTE) (b))) << 8))
342 /* original Cygnus headers also had the following defined: */
343 #define SEXT_HIWORD(l) ((((int)l) >> 16))
344 #define ZEXT_HIWORD(l) ((((unsigned int)l) >> 16))
345 #define SEXT_LOWORD(l) ((int)(short)l)
347 #define INDEXTOOVERLAYMASK(i) ((i) << 8)
348 #define INDEXTOSTATEIMAGEMASK(i) ((i) << 12)
350 #define MAKEINTATOM(i) (LPTSTR) ((DWORD) ((WORD) (i)))
351 #ifndef _DISABLE_TIDENTS
352 #define MAKEINTRESOURCE(i) (LPTSTR) ((ULONG_PTR) ((WORD) (i)))
353 #endif /* _DISABLE_TIDENTS */
354 #define MAKEINTRESOURCEA(i) (LPSTR) ((ULONG_PTR) ((WORD) (i)))
355 #define MAKEINTRESOURCEW(i) (LPWSTR) ((ULONG_PTR) ((WORD) (i)))
356 #define IS_INTRESOURCE(n) ((((ULONG_PTR) (n)) >> 16) == 0)
358 #define MAKELANGID(p, s) ((((WORD) (s)) << 10) | (WORD) (p))
359 #define PRIMARYLANGID(lgid) ((WORD )(lgid) & 0x3ff)
360 #define SUBLANGID(lgid) ((WORD )(lgid) >> 10)
362 #define LANGIDFROMLCID(lcid) ((WORD) (lcid))
363 #define SORTIDFROMLCID(lcid) ((WORD )((((DWORD)(lcid)) & 0x000FFFFF) >> 16))
364 #define MAKELCID(lgid, srtid) ((DWORD)((((DWORD)((WORD)(srtid))) << 16) | ((DWORD)((WORD)(lgid)))))
365 #define MAKELPARAM(l, h) ((LPARAM) MAKELONG(l, h))
366 #define MAKELRESULT(l, h) ((LRESULT) MAKELONG(l, h))
367 #define MAKEPOINTS(l) (*((POINTS FAR *) & (l)))
368 #define MAKEROP4(fore,back) (DWORD)((((back) << 8) & 0xFF000000) | (fore))
369 #define MAKEWPARAM(l, h) ((WPARAM) MAKELONG(l, h))
372 #define PALETTEINDEX(i) ((COLORREF) (0x01000000 | (DWORD) (WORD) (i)))
373 #define PALETTERGB(r, g, b) (0x02000000 | RGB(r, g, b))
374 #define POINTSTOPOINT(pt, pts) {(pt).x = (SHORT) LOWORD(pts); (pt).y = (SHORT) HIWORD(pts);}
375 #define POINTTOPOINTS(pt) (MAKELONG((short) ((pt).x), (short) ((pt).y)))
377 #define INDEXTOOVERLAYMASK(i) ((i) << 8)
378 #define INDEXTOSTATEIMAGEMASK(i) ((i) << 12)
380 #ifndef _DISABLE_TIDENTS
383 # define _T(quote) L##quote
386 # define TEXT(quote) L##quote
390 # define _T(quote) quote
393 # define TEXT(quote) quote
395 # endif /* UNICODE */
396 #endif /* _DISABLE_TIDENTS */
401 Definitions for callback procedures
408 WinCreatorOwnerSid = 3,
409 WinCreatorGroupSid = 4,
410 WinCreatorOwnerServerSid = 5,
411 WinCreatorGroupServerSid = 6,
412 WinNtAuthoritySid = 7,
416 WinInteractiveSid = 11,
418 WinAnonymousSid = 13,
420 WinEnterpriseControllersSid = 15,
422 WinAuthenticatedUserSid = 17,
423 WinRestrictedCodeSid = 18,
424 WinTerminalServerSid = 19,
425 WinRemoteLogonIdSid = 20,
427 WinLocalSystemSid = 22,
428 WinLocalServiceSid = 23,
429 WinNetworkServiceSid = 24,
430 WinBuiltinDomainSid = 25,
431 WinBuiltinAdministratorsSid = 26,
432 WinBuiltinUsersSid = 27,
433 WinBuiltinGuestsSid = 28,
434 WinBuiltinPowerUsersSid = 29,
435 WinBuiltinAccountOperatorsSid = 30,
436 WinBuiltinSystemOperatorsSid = 31,
437 WinBuiltinPrintOperatorsSid = 32,
438 WinBuiltinBackupOperatorsSid = 33,
439 WinBuiltinReplicatorSid = 34,
440 WinBuiltinPreWindows2000CompatibleAccessSid = 35,
441 WinBuiltinRemoteDesktopUsersSid = 36,
442 WinBuiltinNetworkConfigurationOperatorsSid = 37,
443 WinAccountAdministratorSid = 38,
444 WinAccountGuestSid = 39,
445 WinAccountKrbtgtSid = 40,
446 WinAccountDomainAdminsSid = 41,
447 WinAccountDomainUsersSid = 42,
448 WinAccountDomainGuestsSid = 43,
449 WinAccountComputersSid = 44,
450 WinAccountControllersSid = 45,
451 WinAccountCertAdminsSid = 46,
452 WinAccountSchemaAdminsSid = 47,
453 WinAccountEnterpriseAdminsSid = 48,
454 WinAccountPolicyAdminsSid = 49,
455 WinAccountRasAndIasServersSid = 50,
456 WinNTLMAuthenticationSid = 51,
457 WinDigestAuthenticationSid = 52,
458 WinSChannelAuthenticationSid = 53,
459 WinThisOrganizationSid = 54,
460 WinOtherOrganizationSid = 55,
461 WinBuiltinIncomingForestTrustBuildersSid = 56,
462 WinBuiltinPerfMonitoringUsersSid = 57,
463 WinBuiltinPerfLoggingUsersSid = 58,
464 WinBuiltinAuthorizationAccessSid = 59,
465 WinBuiltinTerminalServerLicenseServersSid = 60,
467 } WELL_KNOWN_SID_TYPE;
468 typedef enum _AUDIT_EVENT_TYPE {
469 AuditEventObjectAccess,
470 AuditEventDirectoryServiceAccess
471 } AUDIT_EVENT_TYPE, *PAUDIT_EVENT_TYPE;
472 typedef int CALLBACK (*BFFCALLBACK) (HWND, UINT, LPARAM, LPARAM);
473 typedef UINT CALLBACK (*LPCCHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
474 typedef UINT CALLBACK (*LPCFHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
475 typedef DWORD CALLBACK (*EDITSTREAMCALLBACK) (DWORD, LPBYTE, LONG, LONG);
476 typedef UINT CALLBACK (*LPFRHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
477 typedef UINT CALLBACK (*LPOFNHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
478 typedef UINT CALLBACK (*LPPRINTHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
479 typedef UINT CALLBACK (*LPSETUPHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
480 typedef WINBOOL CALLBACK (*DLGPROC) (HWND, UINT, WPARAM, LPARAM);
481 typedef int CALLBACK (*PFNPROPSHEETCALLBACK) (HWND, UINT, LPARAM);
482 typedef VOID CALLBACK (*LPSERVICE_MAIN_FUNCTIONA) (DWORD, LPSTR*);
483 typedef VOID CALLBACK (*LPSERVICE_MAIN_FUNCTIONW) (DWORD, LPWSTR*);
484 typedef int CALLBACK (*PFNTVCOMPARE) (LPARAM, LPARAM, LPARAM);
485 typedef LRESULT CALLBACK (*WNDPROC) (HWND, UINT, WPARAM, LPARAM);
486 typedef int CALLBACK (*FARPROC)(void);
487 typedef FARPROC PROC;
488 typedef WINBOOL CALLBACK (*ENUMRESTYPEPROCA) (HANDLE, LPSTR, LONG);
489 typedef WINBOOL CALLBACK (*ENUMRESTYPEPROCW) (HANDLE, LPWSTR, LONG);
490 typedef WINBOOL CALLBACK (*ENUMRESNAMEPROCA) (HANDLE, LPCSTR, LPSTR, LONG);
491 typedef WINBOOL CALLBACK (*ENUMRESNAMEPROCW) (HANDLE, LPCWSTR, LPWSTR, LONG);
492 typedef WINBOOL CALLBACK (*ENUMRESLANGPROCA) (HANDLE, LPCSTR, LPCSTR, WORD, LONG);
493 typedef WINBOOL CALLBACK (*ENUMRESLANGPROCW) (HANDLE, LPCWSTR, LPCWSTR, WORD, LONG);
494 typedef WINBOOL CALLBACK (*DESKTOPENUMPROCA) (LPSTR, LPARAM);
495 typedef WINBOOL CALLBACK (*DESKTOPENUMPROCW) (LPWSTR, LPARAM);
496 typedef WINBOOL CALLBACK (*ENUMWINDOWSPROC) (HWND, LPARAM);
497 typedef WINBOOL CALLBACK (*ENUMWINDOWSTATIONPROCA) (LPSTR, LPARAM);
498 typedef WINBOOL CALLBACK (*ENUMWINDOWSTATIONPROCW) (LPWSTR, LPARAM);
499 typedef VOID CALLBACK (*SENDASYNCPROC) (HWND, UINT, DWORD, LRESULT);
500 typedef VOID CALLBACK (*TIMERPROC) (HWND, UINT, UINT, DWORD);
501 typedef WINBOOL CALLBACK (*GRAYSTRINGPROC) (HDC, LPARAM, int);
502 typedef WINBOOL CALLBACK (*DRAWSTATEPROC) (HDC, LPARAM, WPARAM, int, int);
503 typedef WINBOOL CALLBACK (*PROPENUMPROCEXA) (HWND, LPCSTR, HANDLE, DWORD);
504 typedef WINBOOL CALLBACK (*PROPENUMPROCEXW) (HWND, LPCWSTR, HANDLE, DWORD);
505 typedef WINBOOL CALLBACK (*PROPENUMPROCA) (HWND, LPCSTR, HANDLE);
506 typedef WINBOOL CALLBACK (*PROPENUMPROCW) (HWND, LPCWSTR, HANDLE);
507 typedef LRESULT CALLBACK (*HOOKPROC) (int, WPARAM, LPARAM);
508 typedef VOID CALLBACK (*ENUMOBJECTSPROC) (LPVOID, LPARAM);
509 typedef VOID CALLBACK (*LINEDDAPROC) (int, int, LPARAM);
510 typedef WINBOOL CALLBACK (*ABORTPROC) (HDC, int);
511 typedef UINT CALLBACK (*LPPAGEPAINTHOOK) (HWND, UINT, WPARAM, LPARAM );
512 typedef UINT CALLBACK (*LPPAGESETUPHOOK) (HWND, UINT, WPARAM, LPARAM );
513 typedef int CALLBACK (*ICMENUMPROCA) (LPSTR, LPARAM);
514 typedef int CALLBACK (*ICMENUMPROCW) (LPWSTR, LPARAM);
515 typedef LONG (*EDITWORDBREAKPROCEX) (char *, LONG, BYTE, INT);
516 typedef int CALLBACK (*PFNLVCOMPARE) (LPARAM, LPARAM, LPARAM);
517 typedef WINBOOL CALLBACK (*LOCALE_ENUMPROCA) (LPSTR);
518 typedef WINBOOL CALLBACK (*LOCALE_ENUMPROCW) (LPWSTR);
519 typedef WINBOOL CALLBACK (*CODEPAGE_ENUMPROCA) (LPSTR);
520 typedef WINBOOL CALLBACK (*CODEPAGE_ENUMPROCW) (LPWSTR);
521 typedef WINBOOL CALLBACK (*DATEFMT_ENUMPROCA) (LPSTR);
522 typedef WINBOOL CALLBACK (*DATEFMT_ENUMPROCW) (LPWSTR);
523 typedef WINBOOL CALLBACK (*TIMEFMT_ENUMPROCA) (LPSTR);
524 typedef WINBOOL CALLBACK (*TIMEFMT_ENUMPROCW) (LPWSTR);
525 typedef WINBOOL CALLBACK (*CALINFO_ENUMPROCA) (LPSTR);
526 typedef int (CALLBACK* EMFPLAYPROC)( HDC hdc, INT iFunction, HANDLE hPageQuery );
527 typedef WINBOOL CALLBACK (*CALINFO_ENUMPROCW) (LPWSTR);
528 typedef WINBOOL CALLBACK (*PHANDLER_ROUTINE) (DWORD);
529 typedef VOID CALLBACK (*LPHANDLER_FUNCTION) (DWORD);
530 typedef DWORD CALLBACK (*LPHANDLER_FUNCTION_EX)(DWORD,DWORD,LPVOID,LPVOID);
531 typedef UINT CALLBACK (*PFNGETPROFILEPATHA) (LPCSTR, LPSTR, UINT);
532 typedef UINT CALLBACK (*PFNGETPROFILEPATHW) (LPCWSTR, LPWSTR, UINT);
533 typedef UINT CALLBACK (*PFNRECONCILEPROFILEA) (LPCSTR, LPCSTR, DWORD);
534 typedef UINT CALLBACK (*PFNRECONCILEPROFILEW) (LPCWSTR, LPCWSTR, DWORD);
535 typedef WINBOOL CALLBACK (*PFNPROCESSPOLICIESA) (HWND, LPCSTR, LPCSTR, LPCSTR, DWORD);
536 typedef WINBOOL CALLBACK (*PFNPROCESSPOLICIESW) (HWND, LPCWSTR, LPCWSTR, LPCWSTR, DWORD);
538 #ifndef _DISABLE_TIDENTS
540 #define LPSERVICE_MAIN_FUNCTION LPSERVICE_MAIN_FUNCTIONW
541 #define ENUMRESTYPEPROC ENUMRESTYPEPROCW
542 #define ENUMRESNAMEPROC ENUMRESNAMEPROCW
543 #define ENUMRESLANGPROC ENUMRESLANGPROCW
544 #define DESKTOPENUMPROC DESKTOPENUMPROCW
545 #define ENUMWINDOWSTATIONPROC ENUMWINDOWSTATIONPROCW
546 #define PROPENUMPROCEX PROPENUMPROCEXW
547 #define PROPENUMPROC PROPENUMPROCW
548 #define ICMENUMPROC ICMENUMPROCW
549 #define LOCALE_ENUMPROC LOCALE_ENUMPROCW
550 #define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCW
551 #define DATEFMT_ENUMPROC DATEFMT_ENUMPROCW
552 #define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCW
553 #define CALINFO_ENUMPROC CALINFO_ENUMPROCW
554 #define PFNGETPROFILEPATH PFNGETPROFILEPATHW
555 #define PFNRECONCILEPROFILE PFNRECONCILEPROFILEW
556 #define PFNPROCESSPOLICIES PFNPROCESSPOLICIESW
558 #define LPSERVICE_MAIN_FUNCTION LPSERVICE_MAIN_FUNCTIONA
559 #define ENUMRESTYPEPROC ENUMRESTYPEPROCA
560 #define ENUMRESNAMEPROC ENUMRESNAMEPROCA
561 #define ENUMRESLANGPROC ENUMRESLANGPROCA
562 #define DESKTOPENUMPROC DESKTOPENUMPROCA
563 #define ENUMWINDOWSTATIONPROC ENUMWINDOWSTATIONPROCA
564 #define PROPENUMPROCEX PROPENUMPROCEXA
565 #define PROPENUMPROC PROPENUMPROCA
566 #define ICMENUMPROC ICMENUMPROCA
567 #define LOCALE_ENUMPROC LOCALE_ENUMPROCA
568 #define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCA
569 #define DATEFMT_ENUMPROC DATEFMT_ENUMPROCA
570 #define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCA
571 #define CALINFO_ENUMPROC CALINFO_ENUMPROCA
572 #define PFNGETPROFILEPATH PFNGETPROFILEPATHA
573 #define PFNRECONCILEPROFILE PFNRECONCILEPROFILEA
574 #define PFNPROCESSPOLICIES PFNPROCESSPOLICIESA
576 #endif /* _DISABLE_TIDENTS */
578 #define SECURITY_NULL_SID_AUTHORITY {0,0,0,0,0,0}
579 #define SECURITY_WORLD_SID_AUTHORITY {0,0,0,0,0,1}
580 #define SECURITY_LOCAL_SID_AUTHORITY {0,0,0,0,0,2}
581 #define SECURITY_CREATOR_SID_AUTHORITY {0,0,0,0,0,3}
582 #define SECURITY_NON_UNIQUE_AUTHORITY {0,0,0,0,0,4}
583 #define SECURITY_NT_AUTHORITY {0,0,0,0,0,5}
585 #define SE_CREATE_TOKEN_NAME TEXT("SeCreateTokenPrivilege")
586 #define SE_ASSIGNPRIMARYTOKEN_NAME TEXT("SeAssignPrimaryTokenPrivilege")
587 #define SE_LOCK_MEMORY_NAME TEXT("SeLockMemoryPrivilege")
588 #define SE_INCREASE_QUOTA_NAME TEXT("SeIncreaseQuotaPrivilege")
589 #define SE_UNSOLICITED_INPUT_NAME TEXT("SeUnsolicitedInputPrivilege")
590 #define SE_MACHINE_ACCOUNT_NAME TEXT("SeMachineAccountPrivilege")
591 #define SE_TCB_NAME TEXT("SeTcbPrivilege")
592 #define SE_SECURITY_NAME TEXT("SeSecurityPrivilege")
593 #define SE_TAKE_OWNERSHIP_NAME TEXT("SeTakeOwnershipPrivilege")
594 #define SE_LOAD_DRIVER_NAME TEXT("SeLoadDriverPrivilege")
595 #define SE_SYSTEM_PROFILE_NAME TEXT("SeSystemProfilePrivilege")
596 #define SE_SYSTEMTIME_NAME TEXT("SeSystemtimePrivilege")
597 #define SE_PROF_SINGLE_PROCESS_NAME TEXT("SeProfileSingleProcessPrivilege")
598 #define SE_INC_BASE_PRIORITY_NAME TEXT("SeIncreaseBasePriorityPrivilege")
599 #define SE_CREATE_PAGEFILE_NAME TEXT("SeCreatePagefilePrivilege")
600 #define SE_CREATE_PERMANENT_NAME TEXT("SeCreatePermanentPrivilege")
601 #define SE_BACKUP_NAME TEXT("SeBackupPrivilege")
602 #define SE_RESTORE_NAME TEXT("SeRestorePrivilege")
603 #define SE_SHUTDOWN_NAME TEXT("SeShutdownPrivilege")
604 #define SE_DEBUG_NAME TEXT("SeDebugPrivilege")
605 #define SE_AUDIT_NAME TEXT("SeAuditPrivilege")
606 #define SE_SYSTEM_ENVIRONMENT_NAME TEXT("SeSystemEnvironmentPrivilege")
607 #define SE_CHANGE_NOTIFY_NAME TEXT("SeChangeNotifyPrivilege")
608 #define SE_REMOTE_SHUTDOWN_NAME TEXT("SeRemoteShutdownPrivilege")
610 typedef BOOL (CALLBACK* LANGUAGEGROUP_ENUMPROCA)(LGRPID, LPSTR, LPSTR, DWORD, LONG_PTR);
611 typedef BOOL (CALLBACK* LANGGROUPLOCALE_ENUMPROCA)(LGRPID, LCID, LPSTR, LONG_PTR);
612 typedef BOOL (CALLBACK* UILANGUAGE_ENUMPROCA)(LPSTR, LONG_PTR);
613 typedef BOOL (CALLBACK* DATEFMT_ENUMPROCEXA)(LPSTR, CALID);
614 typedef BOOL (CALLBACK* CALINFO_ENUMPROCEXA)(LPSTR, CALID);
616 typedef BOOL (CALLBACK* LANGUAGEGROUP_ENUMPROCW)(LGRPID, LPWSTR, LPWSTR, DWORD, LONG_PTR);
617 typedef BOOL (CALLBACK* LANGGROUPLOCALE_ENUMPROCW)(LGRPID, LCID, LPWSTR, LONG_PTR);
618 typedef BOOL (CALLBACK* UILANGUAGE_ENUMPROCW)(LPWSTR, LONG_PTR);
619 typedef BOOL (CALLBACK* DATEFMT_ENUMPROCEXW)(LPWSTR, CALID);
620 typedef BOOL (CALLBACK* CALINFO_ENUMPROCEXW)(LPWSTR, CALID);
621 typedef BOOL (CALLBACK* GEO_ENUMPROC)(GEOID);
623 #define SERVICES_ACTIVE_DATABASEW L"ServicesActive"
624 #define SERVICES_FAILED_DATABASEW L"ServicesFailed"
625 #define SERVICES_ACTIVE_DATABASEA "ServicesActive"
626 #define SERVICES_FAILED_DATABASEA "ServicesFailed"
627 #define SC_GROUP_IDENTIFIERW L'+'
628 #define SC_GROUP_IDENTIFIERA '+'
630 #ifndef _DISABLE_TIDENTS
632 #define SERVICES_ACTIVE_DATABASE SERVICES_ACTIVE_DATABASEW
633 #define SERVICES_FAILED_DATABASE SERVICES_FAILED_DATABASEW
634 #define SC_GROUP_IDENTIFIER SC_GROUP_IDENTIFIERW
636 #define SERVICES_ACTIVE_DATABASE SERVICES_ACTIVE_DATABASEA
637 #define SERVICES_FAILED_DATABASE SERVICES_FAILED_DATABASEA
638 #define SC_GROUP_IDENTIFIER SC_GROUP_IDENTIFIERA
640 #endif /* _DISABLE_TIDENTS */
642 #define MM_MAX_NUMAXES 16
644 /* ---------------------------------- */
645 /* From ddeml.h in old Cygnus headers */
647 typedef void (*CALLB) (void);
648 typedef CALLB PFNCALLBACK;
651 typedef enum _COMPUTER_NAME_FORMAT {
653 ComputerNameDnsHostname,
654 ComputerNameDnsDomain,
655 ComputerNameDnsFullyQualified,
656 ComputerNamePhysicalNetBIOS,
657 ComputerNamePhysicalDnsHostname,
658 ComputerNamePhysicalDnsDomain,
659 ComputerNamePhysicalDnsFullyQualified,
661 } COMPUTER_NAME_FORMAT ;
663 typedef enum _HEAP_INFORMATION_CLASS {
665 HeapCompatibilityInformation
667 } HEAP_INFORMATION_CLASS;
674 typedef LONG (CALLBACK *PVECTORED_EXCEPTION_HANDLER)(
675 struct _EXCEPTION_POINTERS *ExceptionInfo
680 (CALLBACK *PAPCFUNC)(
685 #define REFGUID const GUID &
687 #define REFGUID const GUID *
690 typedef DWORD (CALLBACK *PFE_EXPORT_FUNC)(PBYTE pbData,PVOID pvCallbackContext,ULONG ulLength);
692 typedef DWORD (CALLBACK *PFE_IMPORT_FUNC)(PBYTE pbData,PVOID pvCallbackContext,PULONG ulLength);
693 typedef VOID (CALLBACK *PFIBER_START_ROUTINE)(
694 LPVOID lpFiberParameter
696 typedef PFIBER_START_ROUTINE LPFIBER_START_ROUTINE;
698 typedef enum _MEMORY_RESOURCE_NOTIFICATION_TYPE {
699 LowMemoryResourceNotification,
700 HighMemoryResourceNotification
701 } MEMORY_RESOURCE_NOTIFICATION_TYPE;
703 typedef VOID (CALLBACK* WAITORTIMERCALLBACKFUNC) (PVOID, BOOLEAN );
704 typedef WAITORTIMERCALLBACKFUNC WAITORTIMERCALLBACK;
705 /* End of stuff from ddeml.h in old Cygnus headers */
706 /* ----------------------------------------------- */
708 typedef FARPROC WNDENUMPROC;
709 typedef FARPROC MFENUMPROC;
710 typedef FARPROC ENHMFENUMPROC;
711 typedef DWORD CCSTYLE, *PCCSTYLE, *LPCCSTYLE;
712 typedef DWORD CCSTYLEFLAGA, *PCCSTYLEFLAGA, *LPCCSTYLEFLAGA;
713 #define DECLARE_HANDLE(s) typedef HANDLE s
714 typedef LANGID *PLANGID;
716 #endif /* ! defined (RC_INVOKED) */
720 #endif /* __cplusplus */
722 #endif /* _GNU_H_WINDOWS32_BASE */