Phoenix
Object-oriented orthogonally persistent operating system
types.h
Go to the documentation of this file.
00001 /*
00002  * /phoenix/include/types.h
00003  *
00004  * This file is a part of Phoenix operating system.
00005  * Copyright (c) 2011-2012, Artyom Lebedev <artyom.lebedev@gmail.com>
00006  * All rights reserved.
00007  * See COPYING file for copyright details.
00008  */
00009 
00010 #ifndef TYPES_H_
00011 #define TYPES_H_
00012 
00021 #include <md_types.h>
00022 
00023 #define U8_MAX      TYPE_UINT_MAX(u8)
00024 #define I8_MAX      TYPE_INT_MAX(i8)
00025 #define I8_MIN      TYPE_INT_MIN(i8)
00026 #define UCHAR_MAX   U8_MAX
00027 #define CHAR_MAX    I8_MAX
00028 #define CHAR_MIN    I8_MIN
00029 
00030 #define U16_MAX     TYPE_UINT_MAX(u16)
00031 #define I16_MAX     TYPE_INT_MAX(i16)
00032 #define I16_MIN     TYPE_INT_MIN(i16)
00033 #define USHRT_MAX   U16_MAX
00034 #define SHRT_MAX    I16_MAX
00035 #define SHRT_MIN    I16_MIN
00036 
00037 #define U32_MAX     TYPE_UINT_MAX(u32)
00038 #define I32_MAX     TYPE_INT_MAX(i32)
00039 #define I32_MIN     TYPE_INT_MIN(i32)
00040 #define UINT_MAX    U32_MAX
00041 #define INT_MAX     I32_MAX
00042 #define INT_MIN     I32_MIN
00043 
00044 #define U64_MAX     TYPE_UINT_MAX(u64)
00045 #define I64_MAX     TYPE_INT_MAX(i64)
00046 #define I64_MIN     TYPE_INT_MIN(i64)
00047 #define ULONG_MAX   U64_MAX
00048 #define LONG_MAX    I64_MAX
00049 #define LONG_MIN    I64_MIN
00050 
00051 #define UQUAD_MAX   ULONG_MAX
00052 #define QUAD_MAX    LONG_MAX
00053 #define QUAD_MIN    LONG_MIN
00054 
00055 #ifndef __SIZE_TYPE__
00056 #define __SIZE_TYPE__ vsize_t
00057 #endif
00058 
00059 typedef __SIZE_TYPE__ size_t;
00060 
00061 #define VSIZE_MAX   TYPE_UINT_MAX(vsize_t)
00062 
00063 /* Variable arguments */
00064 
00065 typedef __builtin_va_list       va_list;
00066 
00067 #define va_start(ap, last)      __builtin_va_start((ap), (last))
00068 #define va_arg(ap, type)        __builtin_va_arg((ap), type)
00069 #define va_copy(dest, src)      __builtin_va_copy((dest), (src))
00070 #define va_end(ap)              __builtin_va_end(ap)
00071 
00072 #endif /* TYPES_H_ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines