X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/59ecf21e36b2332f6adf2a568ef555283d8c119a..50b4ecfb1b28e9b1dfc57b6a876fcdf938092152:/lunaix-os/includes/lunaix/types.h diff --git a/lunaix-os/includes/lunaix/types.h b/lunaix-os/includes/lunaix/types.h index b679981..f74c9b8 100644 --- a/lunaix-os/includes/lunaix/types.h +++ b/lunaix-os/includes/lunaix/types.h @@ -3,11 +3,8 @@ #include #include -#include #include -#define PACKED __attribute__((packed)) - // TODO: WTERMSIG // TODO: replace the integer type with these. To make thing more portable. @@ -15,13 +12,17 @@ typedef unsigned char u8_t; typedef unsigned short u16_t; typedef unsigned int u32_t; -typedef unsigned long long u64_t; typedef unsigned long ptr_t; +typedef unsigned long reg_t; + +#ifndef CONFIG_ARCH_BITS_64 +typedef unsigned long long u64_t; +#else +typedef unsigned long u64_t; +#endif -typedef signed long ssize_t; typedef int pid_t; -typedef unsigned long size_t; -typedef unsigned long off_t; +typedef signed long ssize_t; typedef unsigned int cpu_t; @@ -42,7 +43,14 @@ typedef int bool; #define container_of(ptr, type, member) \ ({ \ const typeof(((type*)0)->member)* __mptr = (ptr); \ - (ptr) ? (type*)((char*)__mptr - offsetof(type, member)) : 0; \ + ((ptr_t)ptr != 0UL) ? (type*)((char*)__mptr - offsetof(type, member)) : 0; \ }) +#define offset(data, off) \ + ((void*)(__ptr(data) + (off))) + +#define __ptr(val) ((ptr_t)(val)) + +typedef va_list* sc_va_list; + #endif /* __LUNAIX_TYPES_H */