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