Phoenix
Object-oriented orthogonally persistent operating system
|
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_ */