opuntiaOS - an operating system targeting x86 and ARMv7
at master 2.4 kB view raw
1#ifndef _KERNEL_LIBKERN_TYPES_H 2#define _KERNEL_LIBKERN_TYPES_H 3 4#include <libkern/_types/_va_list.h> 5#include <libkern/bits/types.h> 6 7#ifndef __stdints_defined 8#define __stdints_defined 9typedef __int8_t int8_t; 10typedef __int16_t int16_t; 11typedef __int32_t int32_t; 12typedef __int64_t int64_t; 13typedef __uint8_t uint8_t; 14typedef __uint16_t uint16_t; 15typedef __uint32_t uint32_t; 16typedef __uint64_t uint64_t; 17#endif // __stdints_defined 18 19#ifndef __dev_t_defined 20#define __dev_t_defined 21typedef __dev_t dev_t; 22#endif // __dev_t_defined 23 24#ifndef __uid_t_defined 25#define __uid_t_defined 26typedef __uid_t uid_t; 27#endif // __uid_t_defined 28 29#ifndef __gid_t_defined 30#define __gid_t_defined 31typedef __gid_t gid_t; 32#endif // __gid_t_defined 33 34#ifndef __ino_t_defined 35#define __ino_t_defined 36typedef __ino_t ino_t; 37#endif // __ino_t_defined 38 39#ifndef __ino64_t_defined 40#define __ino64_t_defined 41typedef __ino64_t ino64_t; 42#endif // __ino64_t_defined 43 44#ifndef __mode_t_defined 45#define __mode_t_defined 46typedef __mode_t mode_t; 47#endif // __mode_t_defined 48 49#ifndef __nlink_t_defined 50#define __nlink_t_defined 51typedef __nlink_t nlink_t; 52#endif // __nlink_t_defined 53 54#ifndef __off_t_defined 55#define __off_t_defined 56typedef __off_t off_t; 57#endif // __off_t_defined 58 59#ifndef __off64_t_defined 60#define __off64_t_defined 61typedef __off64_t off64_t; 62#endif // __off64_t_defined 63 64#ifndef __pid_t_defined 65#define __pid_t_defined 66typedef __pid_t pid_t; 67#endif // __pid_t_defined 68 69#ifndef __fsid_t_defined 70#define __fsid_t_defined 71typedef __fsid_t fsid_t; 72#endif // __fsid_t_defined 73 74#ifndef __time_t_defined 75#define __time_t_defined 76typedef __time_t time_t; 77#endif // __time_t_defined 78 79#ifdef __i386__ 80#if defined(__clang__) 81typedef unsigned int size_t; 82typedef int ssize_t; 83#elif defined(__GNUC__) || defined(__GNUG__) 84typedef unsigned long size_t; 85typedef long ssize_t; 86#endif 87#elif __arm__ 88typedef unsigned int size_t; 89typedef int ssize_t; 90#endif 91 92typedef int32_t intptr_t; 93typedef uint32_t uintptr_t; 94 95#define bool _Bool 96#define true (1) 97#define false (0) 98 99#define likely(x) __builtin_expect(!!(x), 1) 100#define unlikely(x) __builtin_expect(!!(x), 0) 101 102#define NULL ((void*)0) 103 104#define MINORBITS 20 105#define MINORMASK ((1U << MINORBITS) - 1) 106 107#define MAJOR(dev) ((unsigned int)((dev) >> MINORBITS)) 108#define MINOR(dev) ((unsigned int)((dev)&MINORMASK)) 109#define MKDEV(ma, mi) (((ma) << MINORBITS) | (mi)) 110 111#endif // _KERNEL_LIBKERN_TYPES_H