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