Blame Esm/ib/include/ib_types.h

Packit 857059
/* BEGIN_ICS_COPYRIGHT2 ****************************************
Packit 857059
Packit 857059
Copyright (c) 2015-2017, Intel Corporation
Packit 857059
Packit 857059
Redistribution and use in source and binary forms, with or without
Packit 857059
modification, are permitted provided that the following conditions are met:
Packit 857059
Packit 857059
    * Redistributions of source code must retain the above copyright notice,
Packit 857059
      this list of conditions and the following disclaimer.
Packit 857059
    * Redistributions in binary form must reproduce the above copyright
Packit 857059
      notice, this list of conditions and the following disclaimer in the
Packit 857059
      documentation and/or other materials provided with the distribution.
Packit 857059
    * Neither the name of Intel Corporation nor the names of its contributors
Packit 857059
      may be used to endorse or promote products derived from this software
Packit 857059
      without specific prior written permission.
Packit 857059
Packit 857059
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
Packit 857059
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
Packit 857059
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
Packit 857059
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
Packit 857059
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
Packit 857059
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
Packit 857059
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
Packit 857059
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
Packit 857059
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
Packit 857059
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Packit 857059
Packit 857059
 * ** END_ICS_COPYRIGHT2   ****************************************/
Packit 857059
Packit 857059
//----------------------------------------------------------------------------//
Packit 857059
//                                                                            //
Packit 857059
// FILE NAME                                                                  //
Packit 857059
//    ib_types.h                                                              //
Packit 857059
//                                                                            //
Packit 857059
// DESCRIPTION                                                                //
Packit 857059
//    Basic VIEO and IB type definitions                                      //
Packit 857059
//                                                                            //
Packit 857059
// DATA STRUCTURES                                                            //
Packit 857059
//    None								      //
Packit 857059
//                                                                            //
Packit 857059
// FUNCTIONS                                                                  //
Packit 857059
//    None                                                                    //
Packit 857059
//                                                                            //
Packit 857059
// DEPENDENCIES                                                               //
Packit 857059
//    None                                                                    //
Packit 857059
//                                                                            //
Packit 857059
//                                                                            //
Packit 857059
// PJG  05/29/02    PR2176: Include keyword 'signed' in int8_t typedefs.      //
Packit 857059
//----------------------------------------------------------------------------//
Packit 857059
Packit 857059
#ifndef	_IB_TYPES_H_
Packit 857059
#define	_IB_TYPES_H_
Packit 857059
Packit 857059
//----------------------------------------------------------------------------//
Packit 857059
//                                                                            //
Packit 857059
//	Fundamental data types.  There should be a set for each type          //
Packit 857059
//	of compiler/architecture that we need to use.                         //
Packit 857059
//                                                                            //
Packit 857059
//----------------------------------------------------------------------------//
Packit 857059
typedef unsigned long unint;   /* define native unsigned integer (32 or 64 bit) */
Packit 857059
typedef long nint;             /* define native integer (32 or 64 bit) */
Packit 857059
Packit 857059
Packit 857059
//----------------------------------------------------------------------------//
Packit 857059
//                                                                            //
Packit 857059
//      Linux defines.                                                        //
Packit 857059
//                                                                            //
Packit 857059
//----------------------------------------------------------------------------//
Packit 857059
Packit 857059
#if	defined(__LINUX__)
Packit 857059
Packit 857059
#include <sys/types.h>				// int*_t defined here
Packit 857059
#include <stdint.h>				// uint*_t defined here
Packit 857059
Packit 857059
//----------------------------------------------------------------------------//
Packit 857059
//                                                                            //
Packit 857059
//      FreeBSD defines.                                                      //
Packit 857059
//                                                                            //
Packit 857059
//----------------------------------------------------------------------------//
Packit 857059
Packit 857059
#elif	defined(__FreeBSD__)
Packit 857059
Packit 857059
#include <sys/inttypes.h>
Packit 857059
Packit 857059
//----------------------------------------------------------------------------//
Packit 857059
//                                                                            //
Packit 857059
//      Windows 32 defines.                                                   //
Packit 857059
//                                                                            //
Packit 857059
//----------------------------------------------------------------------------//
Packit 857059
Packit 857059
#elif	defined(WIN32)
Packit 857059
Packit 857059
typedef	unsigned char		uint8_t;
Packit 857059
typedef	unsigned short		uint16_t;
Packit 857059
typedef	unsigned int		uint32_t;
Packit 857059
typedef unsigned __int64	uint64_t;
Packit 857059
Packit 857059
typedef	signed char     int8_t;
Packit 857059
typedef	short			int16_t;
Packit 857059
typedef	int			int32_t;
Packit 857059
typedef	__int64			int64_t;
Packit 857059
Packit 857059
Packit 857059
//----------------------------------------------------------------------------//
Packit 857059
//                                                                            //
Packit 857059
//      vxWorks defines.                                                          //
Packit 857059
//                                                                            //
Packit 857059
//----------------------------------------------------------------------------//
Packit 857059
Packit 857059
#elif   defined(__VXWORKS__)
Packit 857059
Packit 857059
#include <sys/types.h>
Packit 857059
// VxWorks for ATOM defines uint64_t and int64_t
Packit 857059
Packit 857059
Packit 857059
Packit 857059
//----------------------------------------------------------------------------//
Packit 857059
//                                                                            //
Packit 857059
//      Unknown OS defines.                                                   //
Packit 857059
//                                                                            //
Packit 857059
//----------------------------------------------------------------------------//
Packit 857059
Packit 857059
#else
Packit 857059
Packit 857059
typedef	unsigned char		uint8_t;
Packit 857059
typedef	unsigned short		uint16_t;
Packit 857059
typedef	unsigned int		uint32_t;
Packit 857059
typedef unsigned long long int	uint64_t;
Packit 857059
Packit 857059
typedef	signed char     int8_t;
Packit 857059
typedef	short			int16_t;
Packit 857059
typedef	int			int32_t;
Packit 857059
typedef	long long int		int64_t;
Packit 857059
Packit 857059
#endif
Packit 857059
Packit 857059
//----------------------------------------------------------------------------//
Packit 857059
//                                                                            //
Packit 857059
//	Fundamental IBA types.  These are defined only in terms of the        //
Packit 857059
//	types above.                                                          //
Packit 857059
//                                                                            //
Packit 857059
//----------------------------------------------------------------------------//
Packit 857059
Packit 857059
typedef	uint64_t		Guid_t;
Packit 857059
typedef	uint16_t		PKey_t;
Packit 857059
typedef	uint16_t		QKey_t;
Packit 857059
typedef	uint64_t		BKey_t;
Packit 857059
typedef	uint64_t		MKey_t;
Packit 857059
typedef	uint64_t		SAKey_t;
Packit 857059
typedef	uint64_t		CCKey_t;
Packit 857059
typedef	uint8_t			Gid_t[16];
Packit 857059
Packit 857059
//----------------------------------------------------------------------------//
Packit 857059
//                                                                            //
Packit 857059
//	Other fundamental types for the implementation.                       //
Packit 857059
//                                                                            //
Packit 857059
//----------------------------------------------------------------------------//
Packit 857059
Packit 857059
typedef nint			IBhandle_t;	// -1 => no handle (NULL)
Packit 857059
Packit 857059
#define	IB_NULLH		(-1)
Packit 857059
Packit 857059
#endif	/* _IB_TYPES_H_ */
Packit 857059