1/*-
2 * Copyright (c) 2011, 2012 LSI Corp.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright
9 *    notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 *    notice, this list of conditions and the following disclaimer in the
12 *    documentation and/or other materials provided with the distribution.
13 *
14 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17 * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
26 * LSI MPT-Fusion Host Adapter FreeBSD
27 *
28 * $FreeBSD$
29 */
30
31/*
32 *  Copyright (c) 2000-2012 LSI Corporation.
33 *
34 *
35 *           Name:  mpi2_type.h
36 *          Title:  MPI basic type definitions
37 *  Creation Date:  August 16, 2006
38 *
39 *    mpi2_type.h Version:  02.00.00
40 *
41 *  Version History
42 *  ---------------
43 *
44 *  Date      Version   Description
45 *  --------  --------  ------------------------------------------------------
46 *  04-30-07  02.00.00  Corresponds to Fusion-MPT MPI Specification Rev A.
47 *  --------------------------------------------------------------------------
48 */
49
50#ifndef MPI2_TYPE_H
51#define MPI2_TYPE_H
52
53
54/*******************************************************************************
55 * Define MPI2_POINTER if it hasn't already been defined. By default
56 * MPI2_POINTER is defined to be a near pointer. MPI2_POINTER can be defined as
57 * a far pointer by defining MPI2_POINTER as "far *" before this header file is
58 * included.
59 */
60#ifndef MPI2_POINTER
61#define MPI2_POINTER     *
62#endif
63
64/* the basic types may have already been included by mpi_type.h */
65#ifndef MPI_TYPE_H
66/*****************************************************************************
67*
68*               Basic Types
69*
70*****************************************************************************/
71
72typedef signed   char   S8;
73typedef unsigned char   U8;
74typedef signed   short  S16;
75typedef unsigned short  U16;
76
77#ifdef	__FreeBSD__
78
79typedef int32_t  S32;
80typedef uint32_t U32;
81
82#else
83
84#if defined(unix) || defined(__arm) || defined(ALPHA) || defined(__PPC__) || defined(__ppc)
85
86    typedef signed   int   S32;
87    typedef unsigned int   U32;
88
89#else
90
91    typedef signed   long  S32;
92    typedef unsigned long  U32;
93
94#endif
95#endif
96
97typedef struct _S64
98{
99    U32          Low;
100    S32          High;
101} S64;
102
103typedef struct _U64
104{
105    U32          Low;
106    U32          High;
107} U64;
108
109
110/*****************************************************************************
111*
112*               Pointer Types
113*
114*****************************************************************************/
115
116typedef S8      *PS8;
117typedef U8      *PU8;
118typedef S16     *PS16;
119typedef U16     *PU16;
120typedef S32     *PS32;
121typedef U32     *PU32;
122typedef S64     *PS64;
123typedef U64     *PU64;
124
125#endif
126
127#endif
128
129