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