Merge commit 'crater/master'
[dragonfly.git] / sys / dev / raid / asr / i2otypes.h
blob0da00d4c3ac800322d5658514792121080157b84
1 /* $FreeBSD: src/sys/dev/asr/i2otypes.h,v 1.1.2.1 2000/09/21 20:33:50 msmith Exp $ */
2 /* $DragonFly: src/sys/dev/raid/asr/i2otypes.h,v 1.4 2004/02/12 00:00:19 dillon Exp $ */
3 /****************************************************************
4 * Copyright (c) 1996-2000 Distributed Processing Technology Corporation
5 * Copyright (c) 2000 Adaptec Corporation.
6 * All rights reserved.
7 *
8 * Copyright 1999 I2O Special Interest Group (I2O SIG). All rights reserved.
9 * All rights reserved
11 * TERMS AND CONDITIONS OF USE
13 * Redistribution and use in source form, with or without modification, are
14 * permitted provided that redistributions of source code must retain the
15 * above copyright notice, this list of conditions and the following disclaimer.
17 * This software is provided `as is' by Distributed Processing Technology and
18 * any express or implied warranties, including, but not limited to, the
19 * implied warranties of merchantability and fitness for a particular purpose,
20 * are disclaimed. In no event shall Distributed Processing Technology be
21 * liable for any direct, indirect, incidental, special, exemplary or
22 * consequential damages (including, but not limited to, procurement of
23 * substitute goods or services; loss of use, data, or profits; or business
24 * interruptions) however caused and on any theory of liability, whether in
25 * contract, strict liability, or tort (including negligence or otherwise)
26 * arising in any way out of the use of this driver software, even if advised
27 * of the possibility of such damage.
29 * This header file, and any modifications of this header file, are provided
30 * contingent upon your agreement and adherence to the here-listed terms and
31 * conditions. By accepting and/or using this header file, you agree to abide
32 * by these terms and conditions and that these terms and conditions will be
33 * construed and governed in accordance with the laws of the State of California,
34 * without reference to conflict-of-law provisions. If you do not agree
35 * to these terms and conditions, please delete this file, and any copies,
36 * permanently, without making any use thereof.
38 * THIS HEADER FILE IS PROVIDED FREE OF CHARGE ON AN AS-IS BASIS WITHOUT
39 * WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
40 * TO IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
41 * PURPOSE. I2O SIG DOES NOT WARRANT THAT THIS HEADER FILE WILL MEET THE
42 * USER'S REQUIREMENTS OR THAT ITS OPERATION WILL BE UNINTERRUPTED OR
43 * ERROR-FREE.
45 * I2O SIG DISCLAIMS ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF
46 * ANY PROPRIETARY RIGHTS, RELATING TO THE IMPLEMENTATION OF THE I2O
47 * SPECIFICATIONS. I2O SIG DOES NOT WARRANT OR REPRESENT THAT SUCH
48 * IMPLEMENTATIONS WILL NOT INFRINGE SUCH RIGHTS.
50 * THE USER OF THIS HEADER FILE SHALL HAVE NO RECOURSE TO I2O SIG FOR ANY
51 * ACTUAL OR CONSEQUENTIAL DAMAGES INCLUDING, BUT NOT LIMITED TO, LOST DATA
52 * OR LOST PROFITS ARISING OUT OF THE USE OR INABILITY TO USE THIS PROGRAM.
54 * I2O SIG grants the user of this header file a license to copy, distribute,
55 * and modify it, for any purpose, under the following terms. Any copying,
56 * distribution, or modification of this header file must not delete or alter
57 * the copyright notice of I2O SIG or any of these Terms and Conditions.
59 * Any distribution of this header file must not include a charge for the
60 * header file (unless such charges are strictly for the physical acts of
61 * copying or transferring copies). However, distribution of a product in
62 * which this header file is embedded may include a charge so long as any
63 * such charge does not include any charge for the header file itself.
65 * Any modification of this header file constitutes a derivative work based
66 * on this header file. Any distribution of such derivative work: (1) must
67 * include prominent notices that the header file has been changed from the
68 * original, together with the dates of any changes; (2) automatically includes
69 * this same license to the original header file from I2O SIG, without any
70 * restriction thereon from the distributing user; and (3) must include a
71 * grant of license of the modified file under the same terms and conditions
72 * as these Terms and Conditions.
74 * The I2O SIG Web site can be found at: http://www.i2osig.org
76 * The I2O SIG encourages you to deposit derivative works based on this
77 * header file at the I2O SIG Web site. Furthermore, to become a Registered
78 * Developer of the I2O SIG, sign up at the Web site or call 415.750.8352
79 * (United States).
80 ****************************************************************/
82 #ifndef __INCi2otypesh
83 #define __INCi2otypesh
85 #define I2OTYPES_REV 1_5_4
87 /* include architecture/compiler dependencies */
89 #if ((defined(KERNEL) || defined(_KERNEL)) && defined(__DragonFly__))
90 # if (KERN_VERSION < 3)
91 # include "i2odep.h"
92 # else
93 # include "i2odep.h"
94 # endif
95 #else
96 # include "i2odep.h"
97 #endif
100 /* 64 bit defines */
102 typedef struct _S64 {
103 U32 LowPart;
104 S32 HighPart;
105 } S64;
107 typedef struct _U64 {
108 U32 LowPart;
109 U32 HighPart;
110 } U64;
112 /* Pointer to Basics */
114 typedef VOID *PVOID;
115 typedef S8 *PS8;
116 typedef S16 *PS16;
117 typedef S32 *PS32;
118 typedef S64 *PS64;
120 /* Pointer to Unsigned Basics */
122 typedef U8 *PU8;
123 typedef U16 *PU16;
124 typedef U32 *PU32;
125 typedef U64 *PU64;
127 /* misc */
129 typedef S32 I2O_ARG;
130 typedef U32 I2O_COUNT;
131 typedef U32 I2O_USECS;
132 typedef U32 I2O_ADDR32;
133 typedef U32 I2O_SIZE;
135 #endif /* __INCi2otypesh */