X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/2a49908006b177c4d6354309333d06b1b96e4887..59ecf21e36b2332f6adf2a568ef555283d8c119a:/lunaix-os/includes/lunaix/types.h diff --git a/lunaix-os/includes/lunaix/types.h b/lunaix-os/includes/lunaix/types.h index fc0ef1c..b679981 100644 --- a/lunaix-os/includes/lunaix/types.h +++ b/lunaix-os/includes/lunaix/types.h @@ -1,6 +1,7 @@ #ifndef __LUNAIX_TYPES_H #define __LUNAIX_TYPES_H +#include #include #include #include @@ -22,6 +23,26 @@ typedef int pid_t; typedef unsigned long size_t; typedef unsigned long off_t; +typedef unsigned int cpu_t; + typedef u64_t lba_t; +#define true 1 +#define false 0 +typedef int bool; + +/** + * container_of - cast a member of a structure out to the containing structure + * + * @ptr: the pointer to the member. + * @type: the type of the container struct this is embedded in. + * @member: the name of the member within the struct. + * + */ +#define container_of(ptr, type, member) \ + ({ \ + const typeof(((type*)0)->member)* __mptr = (ptr); \ + (ptr) ? (type*)((char*)__mptr - offsetof(type, member)) : 0; \ + }) + #endif /* __LUNAIX_TYPES_H */