1 /*
2  *  Copyright (c) 2000-2003 LSI Logic Corporation.
3  *
4  *
5  *           Name:  mpi_type.h
6  *          Title:  MPI Basic type definitions
7  *  Creation Date:  June 6, 2000
8  *
9  *    mpi_type.h Version:  01.05.xx
10  *
11  *  Version History
12  *  ---------------
13  *
14  *  Date      Version   Description
15  *  --------  --------  ------------------------------------------------------
16  *  05-08-00  00.10.01  Original release for 0.10 spec dated 4/26/2000.
17  *  06-06-00  01.00.01  Update version number for 1.0 release.
18  *  11-02-00  01.01.01  Original release for post 1.0 work
19  *  02-20-01  01.01.02  Added define and ifdef for MPI_POINTER.
20  *  08-08-01  01.02.01  Original release for v1.2 work.
21  *  --------------------------------------------------------------------------
22  */
23 
24 #ifndef MPI_TYPE_H
25 #define MPI_TYPE_H
26 
27 
28 /*******************************************************************************
29  * Define MPI_POINTER if it hasn't already been defined. By default MPI_POINTER
30  * is defined to be a near pointer. MPI_POINTER can be defined as a far pointer
31  * by defining MPI_POINTER as "far *" before this header file is included.
32  */
33 #ifndef MPI_POINTER
34 #define MPI_POINTER     *
35 #endif
36 
37 
38 /*****************************************************************************
39 *
40 *               B a s i c    T y p e s
41 *
42 *****************************************************************************/
43 
44 typedef signed   char   S8;
45 typedef unsigned char   U8;
46 typedef signed   short  S16;
47 typedef unsigned short  U16;
48 
49 
50 #if defined(unix) || defined(__arm) || defined(ALPHA)
51 
52     typedef signed   int   S32;
53     typedef unsigned int   U32;
54 
55 #else
56 
57     typedef signed   long  S32;
58     typedef unsigned long  U32;
59 
60 #endif
61 
62 
63 typedef struct _S64
64 {
65     U32          Low;
66     S32          High;
67 } S64;
68 
69 typedef struct _U64
70 {
71     U32          Low;
72     U32          High;
73 } U64;
74 
75 
76 /****************************************************************************/
77 /*  Pointers                                                                */
78 /****************************************************************************/
79 
80 typedef S8      *PS8;
81 typedef U8      *PU8;
82 typedef S16     *PS16;
83 typedef U16     *PU16;
84 typedef S32     *PS32;
85 typedef U32     *PU32;
86 typedef S64     *PS64;
87 typedef U64     *PU64;
88 
89 
90 #endif
91 
92