Linux-2.6.12-rc2
[safe/jmp/linux-2.6] / drivers / message / fusion / lsi / mpi_type.h
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 typedef int32_t   S32;
51 typedef u_int32_t U32;
52
53 /*
54  *  The only way crap below could work on big-endian boxen would be if it
55  *  wasn't used at all.
56  */
57
58 typedef struct _S64
59 {
60     U32          Low;
61     S32          High;
62 } S64;
63
64 typedef struct _U64
65 {
66     U32          Low;
67     U32          High;
68 } U64;
69
70
71 /****************************************************************************/
72 /*  Pointers                                                                */
73 /****************************************************************************/
74
75 typedef S8      *PS8;
76 typedef U8      *PU8;
77 typedef S16     *PS16;
78 typedef U16     *PU16;
79 typedef S32     *PS32;
80 typedef U32     *PU32;
81 typedef S64     *PS64;
82 typedef U64     *PU64;
83
84
85 #endif
86