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 */
61 #define STDCALL __attribute__ ((stdcall))
64 #define CDECL __attribute((cdecl))
66 #define CALLBACK WINAPI
78 #define WINAPI STDCALL
79 #define APIENTRY STDCALL
83 #ifndef _DISABLE_TIDENTS
85 typedef wchar_t *LPTCH;
86 typedef wchar_t *LPTSTR;
91 #endif /* _DISABLE_TIDENTS */
95 /* typedef ACMDRIVERENUMCB;
96 typedef ACMDRIVERPROC;
97 typedef ACMFILERCHOOSEHOOKPROC;
98 typedef ACMFILTERENUMCB;
99 typedef ACMFILTERTAGENUMCB;
100 typedef ACMFORMATCHOOSEHOOKPROC;
101 typedef ACMFORMATENUMCB;
102 typedef ACMFORMATTAGENUMCB;
105 /* Changed from BOOL to WINBOOL to avoid Objective-C conflict */
106 typedef unsigned long CALTYPE;
107 typedef unsigned long CALID;
108 typedef unsigned long COLORREF;
114 typedef double DWORDLONG, *PDWORDLONG;
116 typedef EDITWORDBREAKPROC;
117 typedef ENHMFENUMPROC;
118 typedef ENUMRESLANGPROC;
119 typedef ENUMRESNAMEPROC;
120 typedef ENUMRESTYPEPROC;
123 /* typedef GLOBALHANDLE; */
124 typedef HANDLE HACCEL;
125 typedef HANDLE HBITMAP;
126 typedef HANDLE HBRUSH;
127 typedef HANDLE HCOLORSPACE;
128 typedef HANDLE HCONV;
129 typedef HANDLE HCONVLIST;
130 typedef HANDLE HCURSOR;
133 typedef HANDLE HDDEDATA;
134 typedef HANDLE HDESK;
135 typedef HANDLE HDROP;
137 typedef HANDLE HENHMETAFILE;
139 typedef USHORT COLOR16;
141 typedef HANDLE HFONT;
142 typedef HANDLE HGDIOBJ;
143 typedef HANDLE HGLOBAL;
144 typedef HANDLE HGLRC;
145 typedef HANDLE HHOOK;
146 typedef HANDLE HICON;
147 typedef HANDLE HIMAGELIST;
148 typedef HANDLE HINSTANCE;
149 typedef HANDLE HKEY, *PHKEY;
152 typedef DWORD GEOTYPE;
153 typedef DWORD GEOCLASS;
154 typedef HANDLE HLOCAL;
155 typedef HANDLE HMENU;
156 typedef HANDLE HMETAFILE;
157 typedef HANDLE HMODULE;
158 typedef HANDLE HPALETTE;
160 typedef HANDLE HRASCONN;
161 typedef DWORD LGRPID;
162 typedef long HRESULT;
164 typedef HANDLE HRSRC;
165 typedef HANDLE HSTMT;
167 typedef HANDLE HWINSTA;
169 typedef HANDLE HRAWINPUT;
170 typedef HANDLE HTASK;
171 typedef HANDLE HWINEVENTHOOK;
172 typedef VOID (CALLBACK* WINEVENTPROC)(HWINEVENTHOOK hWinEventHook,DWORD event,HWND hwnd,LONG idObject,LONG idChild,DWORD idEventThread,DWORD dwmsEventTime);
173 typedef unsigned short LANGID;
174 /*typedef DWORD LCID; */
175 typedef DWORD LCTYPE;
176 /* typedef LOCALHANDLE */
177 typedef unsigned short *LP;
180 typedef WINBOOL *LPBOOL;
181 typedef CONST CHAR *LPCCH;
183 typedef COLORREF *LPCOLORREF;
185 #ifndef _DISABLE_TIDENTS
187 typedef const wchar_t *LPCTSTR;
189 typedef const char *LPCTSTR;
191 #endif /* _DISABLE_TIDENTS */
193 typedef const wchar_t *LPCWCH;
194 typedef DWORD *LPDWORD;
195 /* typedef LPFRHOOKPROC; */
196 typedef HANDLE *LPHANDLE;
197 typedef DWORD FULLSCREENCONTROL;
198 typedef DWORD UNIVERSAL_FONT_ID;
199 typedef UNIVERSAL_FONT_ID *PUNIVERSAL_FONT_ID;
200 typedef DWORD REALIZATION_INFO;
201 typedef REALIZATION_INFO *PREALIZATION_INFO;
202 typedef DWORD SHAREDHANDLETABLE;
203 typedef SHAREDHANDLETABLE *PSHAREDHANDLETABLE;
204 typedef DWORD CHWIDTHINFO;
205 typedef CHWIDTHINFO *PCHWIDTHINFO;
206 /* typedef LPHANDLER_FUNCTION; */
208 typedef PLONG LPLONG;
210 typedef long LRESULT;
211 typedef wchar_t *LPWCH;
212 typedef unsigned short *LPWORD;
214 typedef wchar_t *NWPSTR;
215 typedef WINBOOL *PWINBOOL;
216 typedef const CHAR *PCCH;
217 typedef const char *PCSTR;
218 typedef const wchar_t *PCWCH;
220 /* typedef LCID *PLCID; */
221 typedef short *PSHORT;
226 #ifndef _DISABLE_TIDENTS
228 typedef wchar_t *PTBYTE;
229 typedef wchar_t *PTCH;
230 typedef wchar_t *PTCHAR;
231 typedef wchar_t *PTSTR;
233 typedef unsigned char *PTBYTE;
235 typedef char *PTCHAR;
238 #endif /* _DISABLE_TIDENTS */
243 typedef DWORD REGSAM;
246 typedef short RETCODE;
248 typedef HANDLE SC_HANDLE;
249 typedef LPVOID SC_LOCK;
250 typedef SC_HANDLE *LPSC_HANDLE;
251 typedef DWORD SERVICE_STATUS_HANDLE;
252 /* typedef SPHANDLE; */
254 #ifndef _DISABLE_TIDENTS
256 typedef wchar_t TBYTE;
257 #ifndef _TCHAR_DEFINED
258 #define _TCHAR_DEFINED
259 typedef wchar_t TCHAR;
260 #endif /* _TCHAR_DEFINED */
261 typedef wchar_t BCHAR;
263 typedef unsigned char TBYTE;
264 #ifndef _TCHAR_DEFINED
265 #define _TCHAR_DEFINED
267 #endif /* _TCHAR_DEFINED */
270 #endif /* _DISABLE_TIDENTS */
272 typedef unsigned int WPARAM;
273 /* typedef YIELDPROC; */
275 /* Only use __stdcall under WIN32 compiler */
284 #define RASCS_DONE 0x2000
285 #define RASCS_PAUSED 0x1000
286 typedef enum _RASCONNSTATE {
290 RASCS_DeviceConnected,
291 RASCS_AllDevicesConnected,
296 RASCS_AuthChangePassword,
300 RASCS_ReAuthenticate,
302 RASCS_PrepareForCallback,
303 RASCS_WaitForModemReset,
304 RASCS_WaitForCallback,
307 RASCS_StartAuthentication,
308 RASCS_CallbackComplete,
311 RASCS_Interactive = RASCS_PAUSED,
312 RASCS_RetryAuthentication,
313 RASCS_CallbackSetByCaller,
314 RASCS_PasswordExpired,
316 RASCS_Connected = RASCS_DONE,
320 typedef enum _RASPROJECTION {
322 RASP_PppNbf = 0x803F,
323 RASP_PppIpx = 0x802B,
327 typedef enum _SID_NAME_USE {
332 SidTypeWellKnownGroup,
333 SidTypeDeletedAccount,
336 } SID_NAME_USE, *PSID_NAME_USE;
338 #endif /* ! defined (RC_INVOKED) */
343 #define FORWARD_WM_NOTIFY(hwnd, idFrom, pnmhdr, fn) (void)(fn)((hwnd), WM_NOTIFY, (WPARAM)(int)(id), (LPARAM)(NMHDR FAR*)(pnmhdr))
345 #define GetBValue(rgb) ((BYTE) ((rgb) >> 16))
346 #define GetGValue(rgb) ((BYTE) (((WORD) (rgb)) >> 8))
347 #define GetRValue(rgb) ((BYTE) (rgb))
348 #define RGB(r, g ,b) ((DWORD) (((BYTE) (r) | ((WORD) (g) << 8)) | (((DWORD) (BYTE) (b)) << 16)))
350 #define HANDLE_WM_NOTIFY(hwnd, wParam, lParam, fn) (fn)((hwnd), (int)(wParam), (NMHDR FAR*)(lParam))
352 #define HIBYTE(w) ((BYTE) (((WORD) (w) >> 8) & 0xFF))
353 #define HIWORD(l) ((WORD) (((DWORD) (l) >> 16) & 0xFFFF))
354 #define SHIWORD(l) ((INT16) (((DWORD) (l) >> 16) & 0xFFFF))
355 #define LOBYTE(w) ((BYTE) (w))
356 #define LOWORD(l) ((WORD) (l))
357 #define SLOWORD(l) ((INT16) (l))
358 #define MAKELONG(a, b) ((LONG) (((WORD) (a)) | ((DWORD) ((WORD) (b))) << 16))
359 #define MAKEWORD(a, b) ((WORD) (((BYTE) (a)) | ((WORD) ((BYTE) (b))) << 8))
361 /* original Cygnus headers also had the following defined: */
362 #define SEXT_HIWORD(l) ((((int)l) >> 16))
363 #define ZEXT_HIWORD(l) ((((unsigned int)l) >> 16))
364 #define SEXT_LOWORD(l) ((int)(short)l)
366 #define INDEXTOOVERLAYMASK(i) ((i) << 8)
367 #define INDEXTOSTATEIMAGEMASK(i) ((i) << 12)
369 #define MAKEINTATOM(i) (LPTSTR) ((DWORD) ((WORD) (i)))
370 #ifndef _DISABLE_TIDENTS
371 #define MAKEINTRESOURCE(i) (LPTSTR) ((ULONG_PTR) ((WORD) (i)))
372 #endif /* _DISABLE_TIDENTS */
373 #define MAKEINTRESOURCEA(i) (LPSTR) ((ULONG_PTR) ((WORD) (i)))
374 #define MAKEINTRESOURCEW(i) (LPWSTR) ((ULONG_PTR) ((WORD) (i)))
375 #define IS_INTRESOURCE(n) ((((ULONG_PTR) (n)) >> 16) == 0)
377 #define MAKELANGID(p, s) ((((WORD) (s)) << 10) | (WORD) (p))
378 #define PRIMARYLANGID(lgid) ((WORD )(lgid) & 0x3ff)
379 #define SUBLANGID(lgid) ((WORD )(lgid) >> 10)
381 #define LANGIDFROMLCID(lcid) ((WORD) (lcid))
382 #define SORTIDFROMLCID(lcid) ((WORD )((((DWORD)(lcid)) & 0x000FFFFF) >> 16))
383 #define MAKELCID(lgid, srtid) ((DWORD)((((DWORD)((WORD)(srtid))) << 16) | ((DWORD)((WORD)(lgid)))))
384 #define MAKELPARAM(l, h) ((LPARAM) MAKELONG(l, h))
385 #define MAKELRESULT(l, h) ((LRESULT) MAKELONG(l, h))
386 #define MAKEPOINTS(l) (*((POINTS FAR *) & (l)))
387 #define MAKEROP4(fore,back) (DWORD)((((back) << 8) & 0xFF000000) | (fore))
388 #define MAKEWPARAM(l, h) ((WPARAM) MAKELONG(l, h))
391 #define PALETTEINDEX(i) ((COLORREF) (0x01000000 | (DWORD) (WORD) (i)))
392 #define PALETTERGB(r, g, b) (0x02000000 | RGB(r, g, b))
393 #define POINTSTOPOINT(pt, pts) {(pt).x = (SHORT) LOWORD(pts); (pt).y = (SHORT) HIWORD(pts);}
394 #define POINTTOPOINTS(pt) (MAKELONG((short) ((pt).x), (short) ((pt).y)))
396 #define INDEXTOOVERLAYMASK(i) ((i) << 8)
397 #define INDEXTOSTATEIMAGEMASK(i) ((i) << 12)
399 #ifndef _DISABLE_TIDENTS
402 # define _T(quote) L##quote
405 # define TEXT(quote) L##quote
409 # define _T(quote) quote
412 # define TEXT(quote) quote
414 # endif /* UNICODE */
415 #endif /* _DISABLE_TIDENTS */
420 Definitions for callback procedures
427 WinCreatorOwnerSid = 3,
428 WinCreatorGroupSid = 4,
429 WinCreatorOwnerServerSid = 5,
430 WinCreatorGroupServerSid = 6,
431 WinNtAuthoritySid = 7,
435 WinInteractiveSid = 11,
437 WinAnonymousSid = 13,
439 WinEnterpriseControllersSid = 15,
441 WinAuthenticatedUserSid = 17,
442 WinRestrictedCodeSid = 18,
443 WinTerminalServerSid = 19,
444 WinRemoteLogonIdSid = 20,
446 WinLocalSystemSid = 22,
447 WinLocalServiceSid = 23,
448 WinNetworkServiceSid = 24,
449 WinBuiltinDomainSid = 25,
450 WinBuiltinAdministratorsSid = 26,
451 WinBuiltinUsersSid = 27,
452 WinBuiltinGuestsSid = 28,
453 WinBuiltinPowerUsersSid = 29,
454 WinBuiltinAccountOperatorsSid = 30,
455 WinBuiltinSystemOperatorsSid = 31,
456 WinBuiltinPrintOperatorsSid = 32,
457 WinBuiltinBackupOperatorsSid = 33,
458 WinBuiltinReplicatorSid = 34,
459 WinBuiltinPreWindows2000CompatibleAccessSid = 35,
460 WinBuiltinRemoteDesktopUsersSid = 36,
461 WinBuiltinNetworkConfigurationOperatorsSid = 37,
462 WinAccountAdministratorSid = 38,
463 WinAccountGuestSid = 39,
464 WinAccountKrbtgtSid = 40,
465 WinAccountDomainAdminsSid = 41,
466 WinAccountDomainUsersSid = 42,
467 WinAccountDomainGuestsSid = 43,
468 WinAccountComputersSid = 44,
469 WinAccountControllersSid = 45,
470 WinAccountCertAdminsSid = 46,
471 WinAccountSchemaAdminsSid = 47,
472 WinAccountEnterpriseAdminsSid = 48,
473 WinAccountPolicyAdminsSid = 49,
474 WinAccountRasAndIasServersSid = 50,
475 WinNTLMAuthenticationSid = 51,
476 WinDigestAuthenticationSid = 52,
477 WinSChannelAuthenticationSid = 53,
478 WinThisOrganizationSid = 54,
479 WinOtherOrganizationSid = 55,
480 WinBuiltinIncomingForestTrustBuildersSid = 56,
481 WinBuiltinPerfMonitoringUsersSid = 57,
482 WinBuiltinPerfLoggingUsersSid = 58,
483 WinBuiltinAuthorizationAccessSid = 59,
484 WinBuiltinTerminalServerLicenseServersSid = 60,
486 } WELL_KNOWN_SID_TYPE;
487 typedef enum _AUDIT_EVENT_TYPE {
488 AuditEventObjectAccess,
489 AuditEventDirectoryServiceAccess
490 } AUDIT_EVENT_TYPE, *PAUDIT_EVENT_TYPE;
491 typedef int CALLBACK (*BFFCALLBACK) (HWND, UINT, LPARAM, LPARAM);
492 typedef UINT CALLBACK (*LPCCHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
493 typedef UINT CALLBACK (*LPCFHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
494 typedef DWORD CALLBACK (*EDITSTREAMCALLBACK) (DWORD, LPBYTE, LONG, LONG);
495 typedef UINT CALLBACK (*LPFRHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
496 typedef UINT CALLBACK (*LPOFNHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
497 typedef UINT CALLBACK (*LPPRINTHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
498 typedef UINT CALLBACK (*LPSETUPHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
499 typedef WINBOOL CALLBACK (*DLGPROC) (HWND, UINT, WPARAM, LPARAM);
500 typedef int CALLBACK (*PFNPROPSHEETCALLBACK) (HWND, UINT, LPARAM);
501 typedef VOID CALLBACK (*LPSERVICE_MAIN_FUNCTIONA) (DWORD, LPSTR*);
502 typedef VOID CALLBACK (*LPSERVICE_MAIN_FUNCTIONW) (DWORD, LPWSTR*);
503 typedef int CALLBACK (*PFNTVCOMPARE) (LPARAM, LPARAM, LPARAM);
504 typedef LRESULT CALLBACK (*WNDPROC) (HWND, UINT, WPARAM, LPARAM);
505 typedef int CALLBACK (*FARPROC)(void);
506 typedef FARPROC PROC;
507 typedef WINBOOL CALLBACK (*ENUMRESTYPEPROCA) (HANDLE, LPSTR, LONG);
508 typedef WINBOOL CALLBACK (*ENUMRESTYPEPROCW) (HANDLE, LPWSTR, LONG);
509 typedef WINBOOL CALLBACK (*ENUMRESNAMEPROCA) (HANDLE, LPCSTR, LPSTR, LONG);
510 typedef WINBOOL CALLBACK (*ENUMRESNAMEPROCW) (HANDLE, LPCWSTR, LPWSTR, LONG);
511 typedef WINBOOL CALLBACK (*ENUMRESLANGPROCA) (HANDLE, LPCSTR, LPCSTR, WORD, LONG);
512 typedef WINBOOL CALLBACK (*ENUMRESLANGPROCW) (HANDLE, LPCWSTR, LPCWSTR, WORD, LONG);
513 typedef WINBOOL CALLBACK (*DESKTOPENUMPROCA) (LPSTR, LPARAM);
514 typedef WINBOOL CALLBACK (*DESKTOPENUMPROCW) (LPWSTR, LPARAM);
515 typedef WINBOOL CALLBACK (*ENUMWINDOWSPROC) (HWND, LPARAM);
516 typedef WINBOOL CALLBACK (*ENUMWINDOWSTATIONPROCA) (LPSTR, LPARAM);
517 typedef WINBOOL CALLBACK (*ENUMWINDOWSTATIONPROCW) (LPWSTR, LPARAM);
518 typedef VOID CALLBACK (*SENDASYNCPROC) (HWND, UINT, DWORD, LRESULT);
519 typedef VOID CALLBACK (*TIMERPROC) (HWND, UINT, UINT, DWORD);
520 typedef WINBOOL CALLBACK (*GRAYSTRINGPROC) (HDC, LPARAM, int);
521 typedef WINBOOL CALLBACK (*DRAWSTATEPROC) (HDC, LPARAM, WPARAM, int, int);
522 typedef WINBOOL CALLBACK (*PROPENUMPROCEXA) (HWND, LPCSTR, HANDLE, DWORD);
523 typedef WINBOOL CALLBACK (*PROPENUMPROCEXW) (HWND, LPCWSTR, HANDLE, DWORD);
524 typedef WINBOOL CALLBACK (*PROPENUMPROCA) (HWND, LPCSTR, HANDLE);
525 typedef WINBOOL CALLBACK (*PROPENUMPROCW) (HWND, LPCWSTR, HANDLE);
526 typedef LRESULT CALLBACK (*HOOKPROC) (int, WPARAM, LPARAM);
527 typedef VOID CALLBACK (*ENUMOBJECTSPROC) (LPVOID, LPARAM);
528 typedef VOID CALLBACK (*LINEDDAPROC) (int, int, LPARAM);
529 typedef WINBOOL CALLBACK (*ABORTPROC) (HDC, int);
530 typedef UINT CALLBACK (*LPPAGEPAINTHOOK) (HWND, UINT, WPARAM, LPARAM );
531 typedef UINT CALLBACK (*LPPAGESETUPHOOK) (HWND, UINT, WPARAM, LPARAM );
532 typedef int CALLBACK (*ICMENUMPROCA) (LPSTR, LPARAM);
533 typedef int CALLBACK (*ICMENUMPROCW) (LPWSTR, LPARAM);
534 typedef LONG (*EDITWORDBREAKPROCEX) (char *, LONG, BYTE, INT);
535 typedef int CALLBACK (*PFNLVCOMPARE) (LPARAM, LPARAM, LPARAM);
536 typedef WINBOOL CALLBACK (*LOCALE_ENUMPROCA) (LPSTR);
537 typedef WINBOOL CALLBACK (*LOCALE_ENUMPROCW) (LPWSTR);
538 typedef WINBOOL CALLBACK (*CODEPAGE_ENUMPROCA) (LPSTR);
539 typedef WINBOOL CALLBACK (*CODEPAGE_ENUMPROCW) (LPWSTR);
540 typedef WINBOOL CALLBACK (*DATEFMT_ENUMPROCA) (LPSTR);
541 typedef WINBOOL CALLBACK (*DATEFMT_ENUMPROCW) (LPWSTR);
542 typedef WINBOOL CALLBACK (*TIMEFMT_ENUMPROCA) (LPSTR);
543 typedef WINBOOL CALLBACK (*TIMEFMT_ENUMPROCW) (LPWSTR);
544 typedef WINBOOL CALLBACK (*CALINFO_ENUMPROCA) (LPSTR);
545 typedef int (CALLBACK* EMFPLAYPROC)( HDC hdc, INT iFunction, HANDLE hPageQuery );
546 typedef WINBOOL CALLBACK (*CALINFO_ENUMPROCW) (LPWSTR);
547 typedef WINBOOL CALLBACK (*PHANDLER_ROUTINE) (DWORD);
548 typedef VOID CALLBACK (*LPHANDLER_FUNCTION) (DWORD);
549 typedef DWORD CALLBACK (*LPHANDLER_FUNCTION_EX)(DWORD,DWORD,LPVOID,LPVOID);
550 typedef UINT CALLBACK (*PFNGETPROFILEPATHA) (LPCSTR, LPSTR, UINT);
551 typedef UINT CALLBACK (*PFNGETPROFILEPATHW) (LPCWSTR, LPWSTR, UINT);
552 typedef UINT CALLBACK (*PFNRECONCILEPROFILEA) (LPCSTR, LPCSTR, DWORD);
553 typedef UINT CALLBACK (*PFNRECONCILEPROFILEW) (LPCWSTR, LPCWSTR, DWORD);
554 typedef WINBOOL CALLBACK (*PFNPROCESSPOLICIESA) (HWND, LPCSTR, LPCSTR, LPCSTR, DWORD);
555 typedef WINBOOL CALLBACK (*PFNPROCESSPOLICIESW) (HWND, LPCWSTR, LPCWSTR, LPCWSTR, DWORD);
557 #ifndef _DISABLE_TIDENTS
559 #define LPSERVICE_MAIN_FUNCTION LPSERVICE_MAIN_FUNCTIONW
560 #define ENUMRESTYPEPROC ENUMRESTYPEPROCW
561 #define ENUMRESNAMEPROC ENUMRESNAMEPROCW
562 #define ENUMRESLANGPROC ENUMRESLANGPROCW
563 #define DESKTOPENUMPROC DESKTOPENUMPROCW
564 #define ENUMWINDOWSTATIONPROC ENUMWINDOWSTATIONPROCW
565 #define PROPENUMPROCEX PROPENUMPROCEXW
566 #define PROPENUMPROC PROPENUMPROCW
567 #define ICMENUMPROC ICMENUMPROCW
568 #define LOCALE_ENUMPROC LOCALE_ENUMPROCW
569 #define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCW
570 #define DATEFMT_ENUMPROC DATEFMT_ENUMPROCW
571 #define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCW
572 #define CALINFO_ENUMPROC CALINFO_ENUMPROCW
573 #define PFNGETPROFILEPATH PFNGETPROFILEPATHW
574 #define PFNRECONCILEPROFILE PFNRECONCILEPROFILEW
575 #define PFNPROCESSPOLICIES PFNPROCESSPOLICIESW
577 #define LPSERVICE_MAIN_FUNCTION LPSERVICE_MAIN_FUNCTIONA
578 #define ENUMRESTYPEPROC ENUMRESTYPEPROCA
579 #define ENUMRESNAMEPROC ENUMRESNAMEPROCA
580 #define ENUMRESLANGPROC ENUMRESLANGPROCA
581 #define DESKTOPENUMPROC DESKTOPENUMPROCA
582 #define ENUMWINDOWSTATIONPROC ENUMWINDOWSTATIONPROCA
583 #define PROPENUMPROCEX PROPENUMPROCEXA
584 #define PROPENUMPROC PROPENUMPROCA
585 #define ICMENUMPROC ICMENUMPROCA
586 #define LOCALE_ENUMPROC LOCALE_ENUMPROCA
587 #define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCA
588 #define DATEFMT_ENUMPROC DATEFMT_ENUMPROCA
589 #define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCA
590 #define CALINFO_ENUMPROC CALINFO_ENUMPROCA
591 #define PFNGETPROFILEPATH PFNGETPROFILEPATHA
592 #define PFNRECONCILEPROFILE PFNRECONCILEPROFILEA
593 #define PFNPROCESSPOLICIES PFNPROCESSPOLICIESA
595 #endif /* _DISABLE_TIDENTS */
597 #define SECURITY_NULL_SID_AUTHORITY {0,0,0,0,0,0}
598 #define SECURITY_WORLD_SID_AUTHORITY {0,0,0,0,0,1}
599 #define SECURITY_LOCAL_SID_AUTHORITY {0,0,0,0,0,2}
600 #define SECURITY_CREATOR_SID_AUTHORITY {0,0,0,0,0,3}
601 #define SECURITY_NON_UNIQUE_AUTHORITY {0,0,0,0,0,4}
602 #define SECURITY_NT_AUTHORITY {0,0,0,0,0,5}
604 #define SE_CREATE_TOKEN_NAME TEXT("SeCreateTokenPrivilege")
605 #define SE_ASSIGNPRIMARYTOKEN_NAME TEXT("SeAssignPrimaryTokenPrivilege")
606 #define SE_LOCK_MEMORY_NAME TEXT("SeLockMemoryPrivilege")
607 #define SE_INCREASE_QUOTA_NAME TEXT("SeIncreaseQuotaPrivilege")
608 #define SE_UNSOLICITED_INPUT_NAME TEXT("SeUnsolicitedInputPrivilege")
609 #define SE_MACHINE_ACCOUNT_NAME TEXT("SeMachineAccountPrivilege")
610 #define SE_TCB_NAME TEXT("SeTcbPrivilege")
611 #define SE_SECURITY_NAME TEXT("SeSecurityPrivilege")
612 #define SE_TAKE_OWNERSHIP_NAME TEXT("SeTakeOwnershipPrivilege")
613 #define SE_LOAD_DRIVER_NAME TEXT("SeLoadDriverPrivilege")
614 #define SE_SYSTEM_PROFILE_NAME TEXT("SeSystemProfilePrivilege")
615 #define SE_SYSTEMTIME_NAME TEXT("SeSystemtimePrivilege")
616 #define SE_PROF_SINGLE_PROCESS_NAME TEXT("SeProfileSingleProcessPrivilege")
617 #define SE_INC_BASE_PRIORITY_NAME TEXT("SeIncreaseBasePriorityPrivilege")
618 #define SE_CREATE_PAGEFILE_NAME TEXT("SeCreatePagefilePrivilege")
619 #define SE_CREATE_PERMANENT_NAME TEXT("SeCreatePermanentPrivilege")
620 #define SE_BACKUP_NAME TEXT("SeBackupPrivilege")
621 #define SE_RESTORE_NAME TEXT("SeRestorePrivilege")
622 #define SE_SHUTDOWN_NAME TEXT("SeShutdownPrivilege")
623 #define SE_DEBUG_NAME TEXT("SeDebugPrivilege")
624 #define SE_AUDIT_NAME TEXT("SeAuditPrivilege")
625 #define SE_SYSTEM_ENVIRONMENT_NAME TEXT("SeSystemEnvironmentPrivilege")
626 #define SE_CHANGE_NOTIFY_NAME TEXT("SeChangeNotifyPrivilege")
627 #define SE_REMOTE_SHUTDOWN_NAME TEXT("SeRemoteShutdownPrivilege")
629 typedef BOOL (CALLBACK* LANGUAGEGROUP_ENUMPROCA)(LGRPID, LPSTR, LPSTR, DWORD, LONG_PTR);
630 typedef BOOL (CALLBACK* LANGGROUPLOCALE_ENUMPROCA)(LGRPID, LCID, LPSTR, LONG_PTR);
631 typedef BOOL (CALLBACK* UILANGUAGE_ENUMPROCA)(LPSTR, LONG_PTR);
632 typedef BOOL (CALLBACK* DATEFMT_ENUMPROCEXA)(LPSTR, CALID);
633 typedef BOOL (CALLBACK* CALINFO_ENUMPROCEXA)(LPSTR, CALID);
635 typedef BOOL (CALLBACK* LANGUAGEGROUP_ENUMPROCW)(LGRPID, LPWSTR, LPWSTR, DWORD, LONG_PTR);
636 typedef BOOL (CALLBACK* LANGGROUPLOCALE_ENUMPROCW)(LGRPID, LCID, LPWSTR, LONG_PTR);
637 typedef BOOL (CALLBACK* UILANGUAGE_ENUMPROCW)(LPWSTR, LONG_PTR);
638 typedef BOOL (CALLBACK* DATEFMT_ENUMPROCEXW)(LPWSTR, CALID);
639 typedef BOOL (CALLBACK* CALINFO_ENUMPROCEXW)(LPWSTR, CALID);
640 typedef BOOL (CALLBACK* GEO_ENUMPROC)(GEOID);
642 #define SERVICES_ACTIVE_DATABASEW L"ServicesActive"
643 #define SERVICES_FAILED_DATABASEW L"ServicesFailed"
644 #define SERVICES_ACTIVE_DATABASEA "ServicesActive"
645 #define SERVICES_FAILED_DATABASEA "ServicesFailed"
646 #define SC_GROUP_IDENTIFIERW L'+'
647 #define SC_GROUP_IDENTIFIERA '+'
649 #ifndef _DISABLE_TIDENTS
651 #define SERVICES_ACTIVE_DATABASE SERVICES_ACTIVE_DATABASEW
652 #define SERVICES_FAILED_DATABASE SERVICES_FAILED_DATABASEW
653 #define SC_GROUP_IDENTIFIER SC_GROUP_IDENTIFIERW
655 #define SERVICES_ACTIVE_DATABASE SERVICES_ACTIVE_DATABASEA
656 #define SERVICES_FAILED_DATABASE SERVICES_FAILED_DATABASEA
657 #define SC_GROUP_IDENTIFIER SC_GROUP_IDENTIFIERA
659 #endif /* _DISABLE_TIDENTS */
661 #define MM_MAX_NUMAXES 16
663 /* ---------------------------------- */
664 /* From ddeml.h in old Cygnus headers */
666 typedef void (*CALLB) (void);
667 typedef CALLB PFNCALLBACK;
670 typedef enum _COMPUTER_NAME_FORMAT {
672 ComputerNameDnsHostname,
673 ComputerNameDnsDomain,
674 ComputerNameDnsFullyQualified,
675 ComputerNamePhysicalNetBIOS,
676 ComputerNamePhysicalDnsHostname,
677 ComputerNamePhysicalDnsDomain,
678 ComputerNamePhysicalDnsFullyQualified,
680 } COMPUTER_NAME_FORMAT ;
682 typedef enum _HEAP_INFORMATION_CLASS {
684 HeapCompatibilityInformation
686 } HEAP_INFORMATION_CLASS;
693 typedef LONG (CALLBACK *PVECTORED_EXCEPTION_HANDLER)(
694 struct _EXCEPTION_POINTERS *ExceptionInfo
699 (CALLBACK *PAPCFUNC)(
704 #define REFGUID const GUID &
706 #define REFGUID const GUID *
709 typedef DWORD (CALLBACK *PFE_EXPORT_FUNC)(PBYTE pbData,PVOID pvCallbackContext,ULONG ulLength);
711 typedef DWORD (CALLBACK *PFE_IMPORT_FUNC)(PBYTE pbData,PVOID pvCallbackContext,PULONG ulLength);
712 typedef VOID (CALLBACK *PFIBER_START_ROUTINE)(
713 LPVOID lpFiberParameter
715 typedef PFIBER_START_ROUTINE LPFIBER_START_ROUTINE;
717 typedef enum _MEMORY_RESOURCE_NOTIFICATION_TYPE {
718 LowMemoryResourceNotification,
719 HighMemoryResourceNotification
720 } MEMORY_RESOURCE_NOTIFICATION_TYPE;
722 typedef VOID (CALLBACK* WAITORTIMERCALLBACKFUNC) (PVOID, BOOLEAN );
723 typedef WAITORTIMERCALLBACKFUNC WAITORTIMERCALLBACK;
724 /* End of stuff from ddeml.h in old Cygnus headers */
725 /* ----------------------------------------------- */
727 typedef FARPROC WNDENUMPROC;
728 typedef FARPROC MFENUMPROC;
729 typedef FARPROC ENHMFENUMPROC;
730 typedef DWORD CCSTYLE, *PCCSTYLE, *LPCCSTYLE;
731 typedef DWORD CCSTYLEFLAGA, *PCCSTYLEFLAGA, *LPCCSTYLEFLAGA;
732 #define DECLARE_HANDLE(s) typedef HANDLE s
733 typedef LANGID *PLANGID;
735 #endif /* ! defined (RC_INVOKED) */
739 #endif /* __cplusplus */
741 #endif /* _GNU_H_WINDOWS32_BASE */