/* **********************************************************
* Copyright 1998 - 2010 VMware, Inc. All rights reserved.
* **********************************************************/
/*
* @VMKAPIMOD_LICENSE@
*/
/*
***********************************************************************
* Types */ /**
* LibC */ /**
* \addtogroup Lib
* \defgroup Types Basic Types
*
* @{
***********************************************************************
*/
#ifndef _VMKAPI_TYPES_H_
#define _VMKAPI_TYPES_H_
/** \cond never */
#ifndef VMK_HEADER_INCLUDED_FROM_VMKAPI_H
#error This vmkapi file should never be included directly but only via vmkapi.h
#endif
/** \endcond never */
/** \brief Boolean value */
typedef char vmk_Bool;
typedef signed char vmk_int8;
typedef unsigned char vmk_uint8;
typedef short vmk_int16;
typedef unsigned short vmk_uint16;
typedef int vmk_int32;
typedef unsigned int vmk_uint32;
#if defined(__ia64__) || defined(__x86_64__)
typedef long vmk_int64;
typedef unsigned long vmk_uint64;
typedef vmk_uint64 vmk_uintptr_t;
#else
typedef long long vmk_int64;
typedef unsigned long long vmk_uint64;
typedef vmk_uint32 vmk_uintptr_t;
#endif
typedef vmk_uint64 vmk_ByteCount;
typedef vmk_int64 vmk_ByteCountSigned;
typedef vmk_uint32 vmk_ByteCountSmall;
typedef vmk_int32 vmk_ByteCountSmallSigned;
typedef long long vmk_loff_t;
/**
* \brief Structure containing information about a generic string
*/
typedef struct {
vmk_ByteCountSmall bufferSize;
vmk_ByteCountSmall stringLength;
vmk_uint8 *buffer;
} vmk_String;
#define VMK_STRING_CHECK_CONSISTENCY(string) VMK_ASSERT((string) && ((string)->bufferSize > (string)->stringLength))
#define VMK_STRING_SET(str,ptr,size,len) { \
(str)->buffer = (ptr); \
(str)->bufferSize = (size); \
(str)->stringLength = (len); \
}
/**
* \brief Address space size of ioctl caller.
*/
typedef enum {
/** \brief Caller has 64-bit address space. */
VMK_IOCTL_CALLER_64 = 0,
/** \brief Caller has 32-bit address space. */
VMK_IOCTL_CALLER_32 = 1
} vmk_IoctlCallerSize;
#endif /* _VMKAPI_TYPES_H_ */
/** @} */
/** @} */