xref: /freebsd/sys/dev/pms/freebsd/driver/common/ostypes.h (revision 2ff63af9)
14e1bc9a0SAchim Leubner /*******************************************************************************
24e1bc9a0SAchim Leubner *Copyright (c) 2014 PMC-Sierra, Inc.  All rights reserved.
34e1bc9a0SAchim Leubner *
44e1bc9a0SAchim Leubner *Redistribution and use in source and binary forms, with or without modification, are permitted provided
54e1bc9a0SAchim Leubner *that the following conditions are met:
64e1bc9a0SAchim Leubner *1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
74e1bc9a0SAchim Leubner *following disclaimer.
84e1bc9a0SAchim Leubner *2. Redistributions in binary form must reproduce the above copyright notice,
94e1bc9a0SAchim Leubner *this list of conditions and the following disclaimer in the documentation and/or other materials provided
104e1bc9a0SAchim Leubner *with the distribution.
114e1bc9a0SAchim Leubner *
124e1bc9a0SAchim Leubner *THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED
134e1bc9a0SAchim Leubner *WARRANTIES,INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
144e1bc9a0SAchim Leubner *FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
154e1bc9a0SAchim Leubner *FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
164e1bc9a0SAchim Leubner *NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
174e1bc9a0SAchim Leubner *BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
184e1bc9a0SAchim Leubner *LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
194e1bc9a0SAchim Leubner *SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
204e1bc9a0SAchim Leubner *
214e1bc9a0SAchim Leubner *
224e1bc9a0SAchim Leubner *******************************************************************************/
234e1bc9a0SAchim Leubner /******************************************************************************
244e1bc9a0SAchim Leubner 
254e1bc9a0SAchim Leubner Note:
264e1bc9a0SAchim Leubner *******************************************************************************
274e1bc9a0SAchim Leubner Module Name:
284e1bc9a0SAchim Leubner   ostypes.h
294e1bc9a0SAchim Leubner Abstract:
304e1bc9a0SAchim Leubner   Request by fclayer for data type define.
314e1bc9a0SAchim Leubner Authors:
324e1bc9a0SAchim Leubner   EW - Yiding(Eddie) Wang
334e1bc9a0SAchim Leubner Environment:
344e1bc9a0SAchim Leubner   Kernel or loadable module
354e1bc9a0SAchim Leubner 
364e1bc9a0SAchim Leubner Version Control Information:
374e1bc9a0SAchim Leubner   $ver. 1.0.0
384e1bc9a0SAchim Leubner 
394e1bc9a0SAchim Leubner Revision History:
404e1bc9a0SAchim Leubner   $Revision: 114125 $0.1.0
414e1bc9a0SAchim Leubner   $Date: 2012-04-23 23:37:56 -0700 (Mon, 23 Apr 2012) $09-27-2001
424e1bc9a0SAchim Leubner   $Modtime: 11/12/01 11:15a $15:56:00
434e1bc9a0SAchim Leubner 
444e1bc9a0SAchim Leubner Notes:
454e1bc9a0SAchim Leubner **************************** MODIFICATION HISTORY *****************************
464e1bc9a0SAchim Leubner NAME     DATE         Rev.          DESCRIPTION
474e1bc9a0SAchim Leubner ----     ----         ----          -----------
484e1bc9a0SAchim Leubner EW     09-16-2002     0.1.0     Header file for most constant definitions
494e1bc9a0SAchim Leubner ******************************************************************************/
504e1bc9a0SAchim Leubner 
514e1bc9a0SAchim Leubner #ifndef __OSTYPES_H__
524e1bc9a0SAchim Leubner #define __OSTYPES_H__
534e1bc9a0SAchim Leubner 
544e1bc9a0SAchim Leubner #include <sys/types.h>
554e1bc9a0SAchim Leubner #include <sys/kernel.h>
564e1bc9a0SAchim Leubner 
574e1bc9a0SAchim Leubner 
584e1bc9a0SAchim Leubner /*
594e1bc9a0SAchim Leubner ** Included for Linux 2.4, built in kernel and other possible cases.
604e1bc9a0SAchim Leubner */
614e1bc9a0SAchim Leubner /*
624e1bc9a0SAchim Leubner #ifdef  TARGET_DRIVER
634e1bc9a0SAchim Leubner #if !defined(AGBUILD_TFE_DRIVER) && !defined(COMBO_IBE_TFE_MODULE)
644e1bc9a0SAchim Leubner #include "lxtgtdef.h"
654e1bc9a0SAchim Leubner #endif
664e1bc9a0SAchim Leubner #endif
674e1bc9a0SAchim Leubner */
684e1bc9a0SAchim Leubner /*
694e1bc9a0SAchim Leubner ** Included for possible lower layer ignorance.
704e1bc9a0SAchim Leubner */
714e1bc9a0SAchim Leubner #include "osdebug.h"
724e1bc9a0SAchim Leubner 
734e1bc9a0SAchim Leubner #ifdef  STATIC
744e1bc9a0SAchim Leubner #undef  STATIC
754e1bc9a0SAchim Leubner #endif
764e1bc9a0SAchim Leubner 
774e1bc9a0SAchim Leubner #define STATIC
784e1bc9a0SAchim Leubner 
794e1bc9a0SAchim Leubner #ifndef INLINE
804e1bc9a0SAchim Leubner #define INLINE inline
814e1bc9a0SAchim Leubner #endif
824e1bc9a0SAchim Leubner 
834e1bc9a0SAchim Leubner 
844e1bc9a0SAchim Leubner #ifndef FORCEINLINE
854e1bc9a0SAchim Leubner #define FORCEINLINE
864e1bc9a0SAchim Leubner //#define FORCEINLINE inline
874e1bc9a0SAchim Leubner 
884e1bc9a0SAchim Leubner #endif
894e1bc9a0SAchim Leubner #if defined (__amd64__)
904e1bc9a0SAchim Leubner #define BITS_PER_LONG	    64
914e1bc9a0SAchim Leubner #else
924e1bc9a0SAchim Leubner #define BITS_PER_LONG	    32
934e1bc9a0SAchim Leubner #endif
944e1bc9a0SAchim Leubner 
954e1bc9a0SAchim Leubner 
964e1bc9a0SAchim Leubner typedef unsigned char       bit8;
974e1bc9a0SAchim Leubner typedef unsigned short      bit16;
984e1bc9a0SAchim Leubner typedef unsigned int        bit32;
994e1bc9a0SAchim Leubner typedef char                sbit8;
1004e1bc9a0SAchim Leubner typedef short               sbit16;
1014e1bc9a0SAchim Leubner typedef int                 sbit32;
1024e1bc9a0SAchim Leubner typedef unsigned int        BOOLEAN;
1034e1bc9a0SAchim Leubner typedef unsigned long long  bit64;
1044e1bc9a0SAchim Leubner typedef long long           sbit64;
1054e1bc9a0SAchim Leubner 
1064e1bc9a0SAchim Leubner //typedef unsigned long long  bitptr;
1074e1bc9a0SAchim Leubner #if 1
1084e1bc9a0SAchim Leubner #if (BITS_PER_LONG == 64)
1094e1bc9a0SAchim Leubner typedef unsigned long long  bitptr;
1104e1bc9a0SAchim Leubner #else
1114e1bc9a0SAchim Leubner typedef unsigned long       bitptr;
1124e1bc9a0SAchim Leubner #endif
1134e1bc9a0SAchim Leubner #endif
1144e1bc9a0SAchim Leubner 
1154e1bc9a0SAchim Leubner typedef char                S08;
1164e1bc9a0SAchim Leubner typedef short               S16;
1174e1bc9a0SAchim Leubner typedef int                 S32;
1184e1bc9a0SAchim Leubner typedef long                S32_64;
1194e1bc9a0SAchim Leubner typedef long long           S64;
1204e1bc9a0SAchim Leubner 
1214e1bc9a0SAchim Leubner typedef unsigned char       U08;
1224e1bc9a0SAchim Leubner typedef unsigned short      U16;
1234e1bc9a0SAchim Leubner typedef unsigned int        U32;
1244e1bc9a0SAchim Leubner typedef unsigned long       U32_64;
1254e1bc9a0SAchim Leubner typedef unsigned long long  U64;
1264e1bc9a0SAchim Leubner 
1274e1bc9a0SAchim Leubner /*
1284e1bc9a0SAchim Leubner ** some really basic defines
1294e1bc9a0SAchim Leubner */
1304e1bc9a0SAchim Leubner #define GLOBAL extern
1314e1bc9a0SAchim Leubner #define LOCAL static
1324e1bc9a0SAchim Leubner #ifndef TRUE
1334e1bc9a0SAchim Leubner #define TRUE	1
1344e1bc9a0SAchim Leubner #define FALSE	0
1354e1bc9a0SAchim Leubner #endif
1364e1bc9a0SAchim Leubner #ifndef SUCCESS
1374e1bc9a0SAchim Leubner #define SUCCESS	0
1384e1bc9a0SAchim Leubner #define FAILURE	1
1394e1bc9a0SAchim Leubner #endif
1404e1bc9a0SAchim Leubner #ifndef NULL
1414e1bc9a0SAchim Leubner #define NULL ((void*)0)
1424e1bc9a0SAchim Leubner #endif
1434e1bc9a0SAchim Leubner 
1444e1bc9a0SAchim Leubner 
1454e1bc9a0SAchim Leubner #define agBOOLEAN  BOOLEAN
1464e1bc9a0SAchim Leubner #define osGLOBAL   GLOBAL
1474e1bc9a0SAchim Leubner #define osLOCAL    LOCAL
1484e1bc9a0SAchim Leubner #define agTRUE     TRUE
1494e1bc9a0SAchim Leubner #define agFALSE    FALSE
1504e1bc9a0SAchim Leubner #define agNULL     NULL
1514e1bc9a0SAchim Leubner 
1524e1bc9a0SAchim Leubner #define AGTIAPI_UNKNOWN     2
1534e1bc9a0SAchim Leubner #define AGTIAPI_SUCCESS     1
1544e1bc9a0SAchim Leubner #define AGTIAPI_FAIL        0
1554e1bc9a0SAchim Leubner 
1564e1bc9a0SAchim Leubner #define AGTIAPI_DRIVER_VERSION "1.4.0.10800"
1574e1bc9a0SAchim Leubner 
1584e1bc9a0SAchim Leubner /***************************************************************************
1594e1bc9a0SAchim Leubner ****************************************************************************
1604e1bc9a0SAchim Leubner * MACROS - some basic macros
1614e1bc9a0SAchim Leubner ****************************************************************************
1624e1bc9a0SAchim Leubner ***************************************************************************/
1634e1bc9a0SAchim Leubner #ifndef BIT
1644e1bc9a0SAchim Leubner #define BIT(x)          (1<<x)
1654e1bc9a0SAchim Leubner #endif
1664e1bc9a0SAchim Leubner 
1674e1bc9a0SAchim Leubner #define osti_sprintf    sprintf
1684e1bc9a0SAchim Leubner 
1694e1bc9a0SAchim Leubner #endif  /* __OSTYPES_H__ */
170