strict.h revision e9c5b9a5df8115554319b7aa54f277e69cb11ab3
1f1986470af9f0bb750dd859b142dc2e952deb20vboxsync/* $Id$ */
1f1986470af9f0bb750dd859b142dc2e952deb20vboxsync/** @file
5b281ba489ca18f0380d7efc7a5108b606cce449vboxsync * IPRT - Internal Header Defining Strictness Indicators.
1f1986470af9f0bb750dd859b142dc2e952deb20vboxsync */
1f1986470af9f0bb750dd859b142dc2e952deb20vboxsync
1f1986470af9f0bb750dd859b142dc2e952deb20vboxsync/*
10ecaf3570b345a45fe1687eb5512c4f39103887vboxsync * Copyright (C) 2007 Sun Microsystems, Inc.
1f1986470af9f0bb750dd859b142dc2e952deb20vboxsync *
10ecaf3570b345a45fe1687eb5512c4f39103887vboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
10ecaf3570b345a45fe1687eb5512c4f39103887vboxsync * available from http://www.virtualbox.org. This file is free software;
10ecaf3570b345a45fe1687eb5512c4f39103887vboxsync * you can redistribute it and/or modify it under the terms of the GNU
10ecaf3570b345a45fe1687eb5512c4f39103887vboxsync * General Public License (GPL) as published by the Free Software
10ecaf3570b345a45fe1687eb5512c4f39103887vboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
10ecaf3570b345a45fe1687eb5512c4f39103887vboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
10ecaf3570b345a45fe1687eb5512c4f39103887vboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
1f1986470af9f0bb750dd859b142dc2e952deb20vboxsync *
10ecaf3570b345a45fe1687eb5512c4f39103887vboxsync * The contents of this file may alternatively be used under the terms
10ecaf3570b345a45fe1687eb5512c4f39103887vboxsync * of the Common Development and Distribution License Version 1.0
10ecaf3570b345a45fe1687eb5512c4f39103887vboxsync * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
10ecaf3570b345a45fe1687eb5512c4f39103887vboxsync * VirtualBox OSE distribution, in which case the provisions of the
10ecaf3570b345a45fe1687eb5512c4f39103887vboxsync * CDDL are applicable instead of those of the GPL.
1f1986470af9f0bb750dd859b142dc2e952deb20vboxsync *
10ecaf3570b345a45fe1687eb5512c4f39103887vboxsync * You may elect to license modified versions of this file under the
10ecaf3570b345a45fe1687eb5512c4f39103887vboxsync * terms and conditions of either the GPL or the CDDL or both.
10ecaf3570b345a45fe1687eb5512c4f39103887vboxsync *
10ecaf3570b345a45fe1687eb5512c4f39103887vboxsync * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
10ecaf3570b345a45fe1687eb5512c4f39103887vboxsync * Clara, CA 95054 USA or visit http://www.sun.com if you need
10ecaf3570b345a45fe1687eb5512c4f39103887vboxsync * additional information or have any questions.
1f1986470af9f0bb750dd859b142dc2e952deb20vboxsync */
1f1986470af9f0bb750dd859b142dc2e952deb20vboxsync
1f1986470af9f0bb750dd859b142dc2e952deb20vboxsync#ifndef ___internal_strict_h
1f1986470af9f0bb750dd859b142dc2e952deb20vboxsync#define ___internal_strict_h
1f1986470af9f0bb750dd859b142dc2e952deb20vboxsync
1f1986470af9f0bb750dd859b142dc2e952deb20vboxsync/** @name Strictness Indicators
1f1986470af9f0bb750dd859b142dc2e952deb20vboxsync * @{ */
1f1986470af9f0bb750dd859b142dc2e952deb20vboxsync
670732e50b0d42e68d59a3bab835ba0e91b00c30vboxsync/** @def RTCRITSECT_STRICT
1f1986470af9f0bb750dd859b142dc2e952deb20vboxsync * Enables strictness checks and lock accounting of the RTCritSect API.
670732e50b0d42e68d59a3bab835ba0e91b00c30vboxsync */
1f1986470af9f0bb750dd859b142dc2e952deb20vboxsync#if defined(DOXYGEN_RUNNING) || (!defined(RTCRITSECT_STRICT) && defined(IN_RING3) && (defined(RT_STRICT) || defined(RT_LOCK_STRICT)))
1f1986470af9f0bb750dd859b142dc2e952deb20vboxsync# define RTCRITSECT_STRICT
1f1986470af9f0bb750dd859b142dc2e952deb20vboxsync#endif
1f1986470af9f0bb750dd859b142dc2e952deb20vboxsync
1f1986470af9f0bb750dd859b142dc2e952deb20vboxsync
1f1986470af9f0bb750dd859b142dc2e952deb20vboxsync/** @def RTSEMMUTEX_STRICT
1f1986470af9f0bb750dd859b142dc2e952deb20vboxsync * Enables strictness checks and lock accounting of the RTSemMutex API.
1f1986470af9f0bb750dd859b142dc2e952deb20vboxsync */
1f1986470af9f0bb750dd859b142dc2e952deb20vboxsync#if defined(DOXYGEN_RUNNING) || (!defined(RTSEMMUTEX_STRICT) && defined(IN_RING3) && (defined(RT_STRICT) || defined(RT_LOCK_STRICT) || defined(RTSEM_STRICT)))
1f1986470af9f0bb750dd859b142dc2e952deb20vboxsync# define RTSEMMUTEX_STRICT
1f1986470af9f0bb750dd859b142dc2e952deb20vboxsync#endif
1f1986470af9f0bb750dd859b142dc2e952deb20vboxsync
1f1986470af9f0bb750dd859b142dc2e952deb20vboxsync
1f1986470af9f0bb750dd859b142dc2e952deb20vboxsync/** @def RTSEMRW_STRICT
1f1986470af9f0bb750dd859b142dc2e952deb20vboxsync * Enables strictness checks and lock accounting of the RTSemRW API.
1f1986470af9f0bb750dd859b142dc2e952deb20vboxsync */
1f1986470af9f0bb750dd859b142dc2e952deb20vboxsync#if defined(DOXYGEN_RUNNING) || (!defined(RTSEMRW_STRICT) && defined(IN_RING3) && (defined(RT_STRICT) || defined(RT_LOCK_STRICT) || defined(RTSEM_STRICT)))
1f1986470af9f0bb750dd859b142dc2e952deb20vboxsync# define RTSEMRW_STRICT
1f1986470af9f0bb750dd859b142dc2e952deb20vboxsync#endif
1f1986470af9f0bb750dd859b142dc2e952deb20vboxsync
1f1986470af9f0bb750dd859b142dc2e952deb20vboxsync
1f1986470af9f0bb750dd859b142dc2e952deb20vboxsync
1f1986470af9f0bb750dd859b142dc2e952deb20vboxsync/** @} */
1f1986470af9f0bb750dd859b142dc2e952deb20vboxsync
1f1986470af9f0bb750dd859b142dc2e952deb20vboxsync#endif
1f1986470af9f0bb750dd859b142dc2e952deb20vboxsync