2 * Win32 'syslevel' routines
4 * Copyright 1998 Ulrich Weigand
7 #ifndef __WINE_SYSLEVEL_H
8 #define __WINE_SYSLEVEL_H
13 typedef struct tagSYSLEVEL
15 CRITICAL_SECTION crst;
19 extern WORD SYSLEVEL_Win16CurrentTeb;
20 extern WORD SYSLEVEL_EmergencyTeb;
22 void SYSLEVEL_Init(void);
23 VOID WINAPI SYSLEVEL_EnterWin16Lock(void);
24 VOID WINAPI SYSLEVEL_LeaveWin16Lock(void);
25 VOID SYSLEVEL_ReleaseWin16Lock(void);
26 VOID SYSLEVEL_RestoreWin16Lock(void);
27 VOID SYSLEVEL_CheckNotLevel( INT level );
29 VOID WINAPI GetpWin16Lock(SYSLEVEL **lock);
30 SEGPTR WINAPI GetpWin16Lock16(void);
31 DWORD WINAPI _ConfirmWin16Lock(void);
33 VOID WINAPI _CreateSysLevel(SYSLEVEL *lock, INT level);
34 VOID WINAPI _EnterSysLevel(SYSLEVEL *lock);
35 VOID WINAPI _LeaveSysLevel(SYSLEVEL *lock);
36 DWORD WINAPI _ConfirmSysLevel(SYSLEVEL *lock);
38 VOID WINAPI ReleaseThunkLock(DWORD *mutex_count);
39 VOID WINAPI RestoreThunkLock(DWORD mutex_count);
41 #endif /* __WINE_SYSLEVEL_H */