1bcc4bd9a44cd0b27c544a688fa9215c7fea154c
[akaros.git] / kern / include / sys / types.h
1 /* This exists so we can conveniently call for sys/types.h in headers shared by
2  * both the kernel and userspace.  This is the kernel's version. */
3
4 #pragma once
5
6 #include <ros/common.h>
7 #include <arch/types.h>
8
9 #define PAGE_ALIGN(addr) ALIGN(addr, PAGE_SIZE)
10
11 typedef uint64_t __dev_t;
12 typedef uint64_t __ino64_t;
13 typedef uint32_t __mode_t;
14 typedef uint64_t __nlink_t;
15 typedef uint32_t __uid_t;
16 typedef uint32_t __gid_t;
17 typedef int64_t __off64_t;
18 typedef __off64_t off64_t;
19 typedef int64_t __blksize_t;
20 typedef int64_t __blkcnt64_t;
21
22 typedef uint64_t __le64;
23 typedef uint64_t __be64;
24 typedef uint32_t __le32;
25 typedef uint32_t __be32;
26 typedef uint16_t __le16;
27 typedef uint16_t __be16;
28
29 #define KiB     1024u
30 #define MiB     1048576u
31 #define GiB     1073741824u
32 #define TiB     1099511627776ull
33 #define PiB     1125899906842624ull
34 #define EiB     1152921504606846976ull