1 /*- 2 * Copyright (c) 2012-2015 LSI Corp. 3 * Copyright (c) 2013-2015 Avago Technologies 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 * 3. Neither the name of the author nor the names of any co-contributors 15 * may be used to endorse or promote products derived from this software 16 * without specific prior written permission. 17 * 18 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 19 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 20 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 21 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 22 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 23 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 24 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 25 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 26 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 27 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 28 * SUCH DAMAGE. 29 * 30 * Avago Technologies (LSI) MPT-Fusion Host Adapter FreeBSD 31 * 32 * $FreeBSD$ 33 */ 34 35 /* 36 * Copyright (c) 2000-2015 LSI Corporation. 37 * Copyright (c) 2013-2015 Avago Technologies 38 * 39 * 40 * Name: mpi2_type.h 41 * Title: MPI basic type definitions 42 * Creation Date: August 16, 2006 43 * 44 * mpi2_type.h Version: 02.00.00 45 * 46 * Version History 47 * --------------- 48 * 49 * Date Version Description 50 * -------- -------- ------------------------------------------------------ 51 * 04-30-07 02.00.00 Corresponds to Fusion-MPT MPI Specification Rev A. 52 * -------------------------------------------------------------------------- 53 */ 54 55 #ifndef MPI2_TYPE_H 56 #define MPI2_TYPE_H 57 58 59 /******************************************************************************* 60 * Define MPI2_POINTER if it hasn't already been defined. By default 61 * MPI2_POINTER is defined to be a near pointer. MPI2_POINTER can be defined as 62 * a far pointer by defining MPI2_POINTER as "far *" before this header file is 63 * included. 64 */ 65 #ifndef MPI2_POINTER 66 #define MPI2_POINTER * 67 #endif 68 69 /* the basic types may have already been included by mpi_type.h */ 70 #ifndef MPI_TYPE_H 71 /***************************************************************************** 72 * 73 * Basic Types 74 * 75 *****************************************************************************/ 76 77 typedef signed char S8; 78 typedef unsigned char U8; 79 typedef signed short S16; 80 typedef unsigned short U16; 81 82 #ifdef __FreeBSD__ 83 84 typedef int32_t S32; 85 typedef uint32_t U32; 86 87 #else 88 89 #if defined(unix) || defined(__arm) || defined(ALPHA) || defined(__PPC__) || defined(__ppc) 90 91 typedef signed int S32; 92 typedef unsigned int U32; 93 94 #else 95 96 typedef signed long S32; 97 typedef unsigned long U32; 98 99 #endif 100 #endif 101 102 typedef struct _S64 103 { 104 U32 Low; 105 S32 High; 106 } S64; 107 108 typedef struct _U64 109 { 110 U32 Low; 111 U32 High; 112 } U64; 113 114 115 /***************************************************************************** 116 * 117 * Pointer Types 118 * 119 *****************************************************************************/ 120 121 typedef S8 *PS8; 122 typedef U8 *PU8; 123 typedef S16 *PS16; 124 typedef U16 *PU16; 125 typedef S32 *PS32; 126 typedef U32 *PU32; 127 typedef S64 *PS64; 128 typedef U64 *PU64; 129 130 #endif 131 132 #endif 133 134