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