Add the DragonFly cvs id and perform general cleanups on cvs/rcs/sccs ids. Most
[dragonfly.git] / sys / dev / raid / amr / amr_compat.h
1 /*-
2  * Copyright (c) 2000 Michael Smith
3  * Copyright (c) 2000 BSDi
4  * All rights reserved.
5  *
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions
8  * are met:
9  * 1. Redistributions of source code must retain the above copyright
10  *    notice, this list of conditions and the following disclaimer.
11  * 2. Redistributions in binary form must reproduce the above copyright
12  *    notice, this list of conditions and the following disclaimer in the
13  *    documentation and/or other materials provided with the distribution.
14  *
15  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
16  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
19  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25  * SUCH DAMAGE.
26  *
27  * Copyright (c) 2002 Eric Moore
28  * Copyright (c) 2002 LSI Logic Corporation
29  * All rights reserved.
30  *
31  * Redistribution and use in source and binary forms, with or without
32  * modification, are permitted provided that the following conditions
33  * are met:
34  * 1. Redistributions of source code must retain the above copyright
35  *    notice, this list of conditions and the following disclaimer.
36  * 2. Redistributions in binary form must reproduce the above copyright
37  *    notice, this list of conditions and the following disclaimer in the
38  *    documentation and/or other materials provided with the distribution.
39  * 3. The party using or redistributing the source code and binary forms
40  *    agrees to the disclaimer below and the terms and conditions set forth
41  *    herein.
42  *
43  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
44  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
45  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
46  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
47  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
48  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
49  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
50  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
51  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
52  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
53  * SUCH DAMAGE.
54  *
55  * $FreeBSD: src/sys/dev/amr/amr_compat.h,v 1.2.2.4 2002/11/11 13:19:10 emoore Exp $
56  * $DragonFly: src/sys/dev/raid/amr/amr_compat.h,v 1.2 2003/06/17 04:28:22 dillon Exp $
57  */
58 /*
59  * Backwards compatibility support.
60  */
61
62 #if __FreeBSD_version < 500003          /* old buf style */
63 # include <sys/buf.h>
64 # include <machine/clock.h>
65 # define INTR_ENTROPY                           0
66
67 # define FREEBSD_4
68 # define bio                                    buf
69 # define bioq_init(x)                           bufq_init(x)
70 # define bioq_insert_tail(x, y)                 bufq_insert_tail(x, y)
71 # define bioq_remove(x, y)                      bufq_remove(x, y)
72 # define bioq_first(x)                          bufq_first(x)
73 # define bio_queue_head                         buf_queue_head
74 # define bio_bcount                             b_bcount
75 # define bio_blkno                              b_blkno
76 # define bio_caller1                            b_caller1
77 # define bio_data                               b_data
78 # define bio_dev                                b_dev
79 # define bio_driver1                            b_driver1
80 # define bio_driver2                            b_driver2
81 # define bio_error                              b_error
82 # define bio_flags                              b_flags
83 # define bio_pblkno                             b_pblkno
84 # define bio_resid                              b_resid
85 # define BIO_ERROR                              B_ERROR
86 # define devstat_end_transaction_bio(x, y)      devstat_end_transaction_buf(x, y)
87 # define BIO_IS_READ(x)                         ((x)->b_flags & B_READ)
88 # define AMR_BIO_FINISH(x)                      devstat_end_transaction_bio(&sc->amrd_stats, x);\
89                                                 biodone(x)
90
91 #else
92 # include <sys/bio.h>
93 # define BIO_IS_READ(x)                         ((x)->bio_cmd == BIO_READ)
94 # define AMR_BIO_FINISH(x)                      biofinish(x, &sc->amrd_stats, 0)
95 #endif
96
97 /************************************************************************
98  * Compatibility with older versions of FreeBSD
99  */
100 #if __FreeBSD_version < 440001
101 typedef struct proc     d_thread_t;
102 #define M_ZERO          0x0008          /* bzero the allocation */
103 #endif
104
105
106 #ifndef __packed
107 #define __packed __attribute__ ((packed))
108 #endif