1 /*
   2  * CDDL HEADER START
   3  *
   4  * The contents of this file are subject to the terms of the
   5  * Common Development and Distribution License (the "License").
   6  * You may not use this file except in compliance with the License.
   7  *
   8  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   9  * or http://www.opensolaris.org/os/licensing.
  10  * See the License for the specific language governing permissions
  11  * and limitations under the License.
  12  *
  13  * When distributing Covered Code, include this CDDL HEADER in each
  14  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15  * If applicable, add the following below this CDDL HEADER, with the
  16  * fields enclosed by brackets "[]" replaced with your own identifying
  17  * information: Portions Copyright [yyyy] [name of copyright owner]
  18  *
  19  * CDDL HEADER END
  20  */
  21 
  22 /*
  23  *  Copyright (c) 2000-2012 LSI Corporation.
  24  *
  25  * Redistribution and use in source and binary forms of all code within
  26  * this file that is exclusively owned by LSI, with or without
  27  * modification, is permitted provided that, in addition to the CDDL 1.0
  28  * License requirements, the following conditions are met:
  29  *
  30  *    Neither the name of the author nor the names of its contributors may be
  31  *    used to endorse or promote products derived from this software without
  32  *    specific prior written permission.
  33  *
  34  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  35  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  36  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
  37  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
  38  * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
  39  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
  40  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
  41  * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
  42  * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  43  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  44  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
  45  * DAMAGE.
  46  */
  47 
  48 /*
  49  *           Name:  mpi2_type.h
  50  *          Title:  MPI basic type definitions
  51  *  Creation Date:  August 16, 2006
  52  *
  53  *    mpi2_type.h Version:  02.00.00
  54  *
  55  *  Version History
  56  *  ---------------
  57  *
  58  *  Date      Version   Description
  59  *  --------  --------  ------------------------------------------------------
  60  *  04-30-07  02.00.00  Corresponds to Fusion-MPT MPI Specification Rev A.
  61  *  --------------------------------------------------------------------------
  62  */
  63 
  64 #ifndef MPI2_TYPE_H
  65 #define MPI2_TYPE_H
  66 
  67 
  68 /*******************************************************************************
  69  * Define MPI2_POINTER if it hasn't already been defined. By default
  70  * MPI2_POINTER is defined to be a near pointer. MPI2_POINTER can be defined as
  71  * a far pointer by defining MPI2_POINTER as "far *" before this header file is
  72  * included.
  73  */
  74 #ifndef MPI2_POINTER
  75 #define MPI2_POINTER     *
  76 #endif
  77 
  78 /* the basic types may have already been included by mpi_type.h */
  79 #ifndef MPI_TYPE_H
  80 /*****************************************************************************
  81 *
  82 *               Basic Types
  83 *
  84 *****************************************************************************/
  85 
  86 typedef signed   char   S8;
  87 typedef unsigned char   U8;
  88 typedef signed   short  S16;
  89 typedef unsigned short  U16;
  90 
  91 
  92 #if defined(unix) || defined(__arm) || defined(ALPHA) || defined(__PPC__) || defined(__ppc)
  93 
  94     typedef signed   int   S32;
  95     typedef unsigned int   U32;
  96 
  97 #else
  98 
  99     typedef signed   long  S32;
 100     typedef unsigned long  U32;
 101 
 102 #endif
 103 
 104 
 105 typedef struct _S64
 106 {
 107     U32          Low;
 108     S32          High;
 109 } S64;
 110 
 111 typedef struct _U64
 112 {
 113     U32          Low;
 114     U32          High;
 115 } U64;
 116 
 117 
 118 /*****************************************************************************
 119 *
 120 *               Pointer Types
 121 *
 122 *****************************************************************************/
 123 
 124 typedef S8      *PS8;
 125 typedef U8      *PU8;
 126 typedef S16     *PS16;
 127 typedef U16     *PU16;
 128 typedef S32     *PS32;
 129 typedef U32     *PU32;
 130 typedef S64     *PS64;
 131 typedef U64     *PU64;
 132 
 133 #endif
 134 
 135 #endif
 136