X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/8357bda627bdf02c1b69eecf27993182239fb463..a362b4b2c4abbf2da6ec14cb44a8685a81107f6a:/lunaix-os/includes/lunaix/types.h diff --git a/lunaix-os/includes/lunaix/types.h b/lunaix-os/includes/lunaix/types.h index 028792a..f99620f 100644 --- a/lunaix-os/includes/lunaix/types.h +++ b/lunaix-os/includes/lunaix/types.h @@ -1,18 +1,39 @@ #ifndef __LUNAIX_TYPES_H #define __LUNAIX_TYPES_H +#include +#include #include -#define PROCTERM 0x10000 -#define PROCSTOP 0x20000 +#define PEXITTERM 0x100 +#define PEXITSTOP 0x200 +#define PEXITSIG 0x400 + +#define PEXITNUM(flag, code) (flag | (code & 0xff)) #define WNOHANG 1 #define WUNTRACED 2 -#define WEXITSTATUS(wstatus) ((wstatus & 0xffff)) -#define WIFSTOPPED(wstatus) ((wstatus & PROCSTOP)) +#define WEXITSTATUS(wstatus) ((wstatus & 0xff)) +#define WIFSTOPPED(wstatus) ((wstatus & PEXITSTOP)) #define WIFEXITED(wstatus) \ - ((wstatus & PROCTERM) && ((short)WEXITSTATUS(wstatus) >= 0)) + ((wstatus & PEXITTERM) && ((char)WEXITSTATUS(wstatus) >= 0)) + +#define WIFSIGNALED(wstatus) ((wstatus & PEXITSIG)) + +#define PACKED __attribute__((packed)) + +// TODO: WTERMSIG + +// TODO: replace the integer type with these. To make thing more portable. + +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 signed long ssize_t; typedef int32_t pid_t; +typedef int64_t lba_t; #endif /* __LUNAIX_TYPES_H */