mirror of
https://github.com/reactos/reactos.git
synced 2025-07-30 10:02:02 +00:00
Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys.
This commit is contained in:
parent
b94e2d8ca0
commit
c2c66aff7d
24198 changed files with 0 additions and 37285 deletions
122
sdk/include/ddk/kernelspecs.h
Normal file
122
sdk/include/ddk/kernelspecs.h
Normal file
|
@ -0,0 +1,122 @@
|
|||
/*
|
||||
* kernelspecs.h
|
||||
*
|
||||
* SAL 2 annotations for kernel mode drivers
|
||||
*
|
||||
* This file is part of the ReactOS DDK package.
|
||||
*
|
||||
* Contributor:
|
||||
* Timo Kreuzer (timo.kreuzer@reactos.org)
|
||||
*
|
||||
* THIS SOFTWARE IS NOT COPYRIGHTED
|
||||
*
|
||||
* This source code is offered for use in the public domain. You may
|
||||
* use, modify or distribute it freely.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful but
|
||||
* WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
|
||||
* DISCLAIMED. This includes but is not limited to warranties of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#define KERNELSPECS_H
|
||||
|
||||
#include "driverspecs.h"
|
||||
|
||||
#ifdef _PREFAST_
|
||||
|
||||
/* Make sure we have IRQL level definitions early */
|
||||
#define DISPATCH_LEVEL 2
|
||||
#define APC_LEVEL 1
|
||||
#define PASSIVE_LEVEL 0
|
||||
#if defined(_X86_)
|
||||
#define HIGH_LEVEL 31
|
||||
#elif defined(_AMD64_)
|
||||
#define HIGH_LEVEL 15
|
||||
#elif defined(_ARM_)
|
||||
#define HIGH_LEVEL 15
|
||||
#elif defined(_IA64_)
|
||||
#define HIGH_LEVEL 15
|
||||
#endif
|
||||
|
||||
#undef _IRQL_always_function_max_
|
||||
#undef _IRQL_always_function_min_
|
||||
#undef _IRQL_raises_
|
||||
#undef _IRQL_requires_
|
||||
#undef _IRQL_requires_max_
|
||||
#undef _IRQL_requires_min_
|
||||
#undef _IRQL_requires_same_
|
||||
#undef _IRQL_restores_
|
||||
#undef _IRQL_restores_global_
|
||||
#undef _IRQL_saves_
|
||||
#undef _IRQL_saves_global_
|
||||
#undef _IRQL_uses_cancel_
|
||||
#undef _IRQL_is_cancel_
|
||||
#undef __drv_setsIRQL
|
||||
#undef __drv_raisesIRQL
|
||||
#undef __drv_requiresIRQL
|
||||
#undef __drv_maxIRQL
|
||||
#undef __drv_minIRQL
|
||||
#undef __drv_savesIRQL
|
||||
#undef __drv_savesIRQLGlobal
|
||||
#undef __drv_restoresIRQL
|
||||
#undef __drv_restoresIRQLGlobal
|
||||
#undef __drv_minFunctionIRQL
|
||||
#undef __drv_maxFunctionIRQL
|
||||
#undef __drv_sameIRQL
|
||||
#undef __drv_useCancelIRQL
|
||||
#undef __drv_isCancelIRQL
|
||||
|
||||
#define _IRQL_always_function_max_(irql) _Pre_ _SA_annotes1(SAL_maxFunctionIrql,irql)
|
||||
#define _IRQL_always_function_min_(irql) _Pre_ _SA_annotes1(SAL_minFunctionIrql,irql)
|
||||
#define _IRQL_raises_(irql) _Post_ _SA_annotes1(SAL_raiseIRQL,irql)
|
||||
#define _IRQL_requires_(irql) _Pre_ _SA_annotes1(SAL_IRQL,irql)
|
||||
#define _IRQL_requires_max_(irql) _Pre_ _SA_annotes1(SAL_maxIRQL,irql)
|
||||
#define _IRQL_requires_min_(irql) _Pre_ _SA_annotes1(SAL_minIRQL,irql)
|
||||
#define _IRQL_requires_same_ _Post_ _SA_annotes0(SAL_sameIRQL)
|
||||
#define _IRQL_restores_ _Post_ _SA_annotes0(SAL_restoreIRQL)
|
||||
#define _IRQL_restores_global_(kind,param) _Post_ _SA_annotes2(SAL_restoreIRQLGlobal, #kind, param\t)
|
||||
#define _IRQL_saves_ _Post_ _SA_annotes0(SAL_saveIRQL)
|
||||
#define _IRQL_saves_global_(kind,param) _Post_ _SA_annotes2(SAL_saveIRQLGlobal,#kind, param\t)
|
||||
#define _IRQL_uses_cancel_ _Post_ _SA_annotes0(SAL_UseCancelIrql)
|
||||
#define _IRQL_is_cancel_ _IRQL_uses_cancel_ _Releases_nonreentrant_lock_(_Global_cancel_spin_lock_) \
|
||||
_At_(return, _IRQL_always_function_min_(DISPATCH_LEVEL) _IRQL_requires_(DISPATCH_LEVEL))
|
||||
#define __drv_setsIRQL(irql) _Post_ _SA_annotes1(SAL_IRQL,irql)
|
||||
#define __drv_raisesIRQL(irql) _IRQL_raises_(irql)
|
||||
#define __drv_requiresIRQL(irql) _IRQL_requires_(irql)
|
||||
#define __drv_maxIRQL(irql) _IRQL_requires_max_(irql)
|
||||
#define __drv_minIRQL(irql) _IRQL_requires_min_(irql)
|
||||
#define __drv_savesIRQL _IRQL_saves_
|
||||
#define __drv_savesIRQLGlobal(kind,param) _IRQL_saves_global_(kind,param)
|
||||
#define __drv_restoresIRQL _IRQL_restores_
|
||||
#define __drv_restoresIRQLGlobal(kind,param) _IRQL_restores_global_(kind,param)
|
||||
#define __drv_minFunctionIRQL(irql) _IRQL_always_function_min_(irql)
|
||||
#define __drv_maxFunctionIRQL(irql) _IRQL_always_function_max_(irql)
|
||||
#define __drv_sameIRQL _IRQL_requires_same_
|
||||
#define __drv_useCancelIRQL _IRQL_uses_cancel_
|
||||
#define __drv_isCancelIRQL _IRQL_is_cancel_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
__ANNOTATION(SAL_IRQL(__int64);)
|
||||
__ANNOTATION(SAL_raiseIRQL(__int64);)
|
||||
__ANNOTATION(SAL_maxIRQL(__int64);)
|
||||
__ANNOTATION(SAL_minIRQL(__int64);)
|
||||
__ANNOTATION(SAL_saveIRQL(void);)
|
||||
__ANNOTATION(SAL_saveIRQLGlobal(_In_ char *, ...);)
|
||||
__ANNOTATION(SAL_restoreIRQL(void);)
|
||||
__ANNOTATION(SAL_restoreIRQLGlobal(_In_ char *, ...);)
|
||||
__ANNOTATION(SAL_minFunctionIrql(__int64);)
|
||||
__ANNOTATION(SAL_maxFunctionIrql(__int64);)
|
||||
__ANNOTATION(SAL_sameIRQL(void);)
|
||||
__ANNOTATION(SAL_UseCancelIrql(void);)
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif /* _PREFAST_ */
|
Loading…
Add table
Add a link
Reference in a new issue