42 lines
1001 B
C
42 lines
1001 B
C
/*
|
|
* Win32 'syslevel' routines
|
|
*
|
|
* Copyright 1998 Ulrich Weigand
|
|
*/
|
|
|
|
#ifndef __WINE_SYSLEVEL_H
|
|
#define __WINE_SYSLEVEL_H
|
|
|
|
#include "windef.h"
|
|
#include "winbase.h"
|
|
|
|
typedef struct tagSYSLEVEL
|
|
{
|
|
CRITICAL_SECTION crst;
|
|
INT level;
|
|
} SYSLEVEL;
|
|
|
|
extern WORD SYSLEVEL_Win16CurrentTeb;
|
|
extern WORD SYSLEVEL_EmergencyTeb;
|
|
|
|
void SYSLEVEL_Init(void);
|
|
VOID WINAPI SYSLEVEL_EnterWin16Lock(VOID);
|
|
VOID WINAPI SYSLEVEL_LeaveWin16Lock(VOID);
|
|
VOID SYSLEVEL_ReleaseWin16Lock(VOID);
|
|
VOID SYSLEVEL_RestoreWin16Lock(VOID);
|
|
VOID SYSLEVEL_CheckNotLevel( INT level );
|
|
|
|
VOID WINAPI GetpWin16Lock(SYSLEVEL **lock);
|
|
SEGPTR WINAPI GetpWin16Lock16(void);
|
|
DWORD WINAPI _ConfirmWin16Lock(void);
|
|
|
|
VOID WINAPI _CreateSysLevel(SYSLEVEL *lock, INT level);
|
|
VOID WINAPI _EnterSysLevel(SYSLEVEL *lock);
|
|
VOID WINAPI _LeaveSysLevel(SYSLEVEL *lock);
|
|
DWORD WINAPI _ConfirmSysLevel(SYSLEVEL *lock);
|
|
|
|
VOID WINAPI ReleaseThunkLock(DWORD *mutex_count);
|
|
VOID WINAPI RestoreThunkLock(DWORD mutex_count);
|
|
|
|
#endif /* __WINE_SYSLEVEL_H */
|