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