Phoenix
Object-oriented orthogonally persistent operating system
md_types.h
Go to the documentation of this file.
00001 /*
00002  * /phoenix/kernel/sys/machine/x86_64/md_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 MD_TYPES_H_
00011 #define MD_TYPES_H_
00012 
00020 /* These types should be used in all the Phoenix code */
00021 typedef char                i8; 
00022 typedef short               i16; 
00023 typedef int                 i32; 
00024 typedef long                i64; 
00025 typedef unsigned char       u8; 
00026 typedef unsigned short      u16; 
00027 typedef unsigned int        u32; 
00028 typedef unsigned long       u64; 
00030 #ifndef __SIZEOF_POINTER__
00031 #define __SIZEOF_POINTER__  sizeof(void *)
00032 #endif
00033 
00034 #if __SIZEOF_POINTER__ == 8
00035 
00036 typedef i64                 intptr_t;
00038 typedef u64                 uintptr_t;
00039 #else
00040 
00041 typedef i32                 intptr_t;
00043 typedef u32                 uintptr_t;
00044 #endif
00045 
00046 typedef uintptr_t   vaddr_t; 
00047 typedef uintptr_t   vsize_t; 
00048 typedef u64         paddr_t; 
00049 typedef u64         psize_t; 
00051 #endif /* MD_TYPES_H_ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines