]> git.saurik.com Git - apple/xnu.git/blame - osfmk/default_pager/diag.h
xnu-344.49.tar.gz
[apple/xnu.git] / osfmk / default_pager / diag.h
CommitLineData
1c79356b 1/*
0b4e3aa0 2 * Copyright (c) 2001, 2000 Apple Computer, Inc. All rights reserved.
1c79356b
A
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
43866e37 6 * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved.
1c79356b 7 *
43866e37
A
8 * This file contains Original Code and/or Modifications of Original Code
9 * as defined in and that are subject to the Apple Public Source License
10 * Version 2.0 (the 'License'). You may not use this file except in
11 * compliance with the License. Please obtain a copy of the License at
12 * http://www.opensource.apple.com/apsl/ and read it before using this
13 * file.
14 *
15 * The Original Code and all software distributed under the License are
16 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
1c79356b
A
17 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
18 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
43866e37
A
19 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
20 * Please see the License for the specific language governing rights and
21 * limitations under the License.
1c79356b
A
22 *
23 * @APPLE_LICENSE_HEADER_END@
24 */
25/*
26 * @OSF_COPYRIGHT@
27 */
1c79356b
A
28
29#ifndef MACH_KERNEL
30#ifdef ASSERTIONS
31#define assert(cond) \
9bccf70c 32 ((void) ((cond) ? 0 : panic("%sassertion: %s", my_name, # cond)))
1c79356b
A
33#endif
34#ifndef ASSERTIONS
35#define assert(cond)
36#endif
37#endif
38
39#ifndef MACH_KERNEL
0b4e3aa0 40#define Panic(aargh) panic("%s[%d]: %s", my_name, dp_thread_id(), aargh)
1c79356b 41#else
0b4e3aa0 42#define Panic(aargh) panic("%s[KERNEL]: %s", my_name, aargh)
1c79356b
A
43#endif
44
45extern char my_name[];
46
47#define VSTATS_ACTION(l, stmt) \
48 do { VSTATS_LOCK(l); stmt; VSTATS_UNLOCK(l); } while (0)
49
50#if !defined(VAGUE_STATS) || (VAGUE_STATS > 0)
51#define VSTATS_LOCK_DECL(name)
52#define VSTATS_LOCK(l)
53#define VSTATS_UNLOCK(l)
54#define VSTATS_LOCK_INIT(l)
55#else
56#define VSTATS_LOCK_DECL(name) struct mutex name;
57#define VSTATS_LOCK(l) mutex_lock(l)
58#define VSTATS_UNLOCK(l) mutex_unlock(l)
59#define VSTATS_LOCK_INIT(l) mutex_init(l)
60#endif /* VAGUE_STATS */
61