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 */