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