ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/src/stable/0.6/sys/cddl/compat/opensolaris/sys/kcondvar.h
Revision: 7064
Committed: Sun Jun 21 18:56:23 2015 UTC (8 years, 10 months ago) by laffer1
Content type: text/plain
File size: 2136 byte(s)
Log Message:
MFC: Trim support for ZFS

File Contents

# User Rev Content
1 laffer1 1995 /*-
2     * Copyright (c) 2007 Pawel Jakub Dawidek <pjd@FreeBSD.org>
3     * All rights reserved.
4     *
5     * Redistribution and use in source and binary forms, with or without
6     * modification, are permitted provided that the following conditions
7     * are met:
8     * 1. Redistributions of source code must retain the above copyright
9     * notice, this list of conditions and the following disclaimer.
10     * 2. Redistributions in binary form must reproduce the above copyright
11     * notice, this list of conditions and the following disclaimer in the
12     * documentation and/or other materials provided with the distribution.
13     *
14     * THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND
15     * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16     * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17     * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE
18     * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19     * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20     * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21     * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22     * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23     * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24     * SUCH DAMAGE.
25     *
26 laffer1 5210 * $FreeBSD$
27 laffer1 1995 */
28    
29     #ifndef _OPENSOLARIS_SYS_CONDVAR_H_
30     #define _OPENSOLARIS_SYS_CONDVAR_H_
31    
32     #include <sys/param.h>
33     #include <sys/proc.h>
34    
35     #ifdef _KERNEL
36    
37     #include <sys/mutex.h>
38     #include <sys/condvar.h>
39    
40     typedef struct cv kcondvar_t;
41    
42     typedef enum {
43     CV_DEFAULT,
44     CV_DRIVER
45     } kcv_type_t;
46    
47     #define zfs_cv_init(cv, name, type, arg) do { \
48 laffer1 4776 const char *_name; \
49 laffer1 1995 ASSERT((type) == CV_DEFAULT); \
50 laffer1 4776 for (_name = #cv; *_name != '\0'; _name++) { \
51     if (*_name >= 'a' && *_name <= 'z') \
52     break; \
53     } \
54     if (*_name == '\0') \
55     _name = #cv; \
56     cv_init((cv), _name); \
57 laffer1 1995 } while (0)
58     #define cv_init(cv, name, type, arg) zfs_cv_init((cv), (name), (type), (arg))
59    
60     #endif /* _KERNEL */
61    
62     #endif /* _OPENSOLARIS_SYS_CONDVAR_H_ */

Properties

Name Value
svn:keywords MidnightBSD=%H