/*******************************************************************************/ /* COS2000 - Compatible Operating System - LGPL v3 - Hordé Nicolas */ /* */ #ifndef ALLTYPES # define ALLTYPES typedef char int8; typedef short int16; typedef int int32; typedef long long int64; typedef char BYTE; typedef short WORD; typedef long DWORD; typedef long long QWORD; typedef signed char SBYTE; typedef signed short SWORD; typedef signed long SDWORD; typedef signed long long SQWORD; typedef unsigned char UBYTE; typedef unsigned short UWORD; typedef unsigned long UDWORD; typedef unsigned long long UQWORD; typedef unsigned char u8; typedef unsigned short u16; typedef unsigned int u32; typedef unsigned long long int u64; typedef char s8; typedef short s16; typedef int s32; typedef long int s64; typedef int bool; extern char ctype[]; # define true 1 # define false 0 # define NULL 0x0000 # define CT_UP 0x01 /* upper case */ # define CT_LOW 0x02 /* lower case */ # define CT_DIG 0x04 /* digit */ # define CT_CTL 0x08 /* control */ # define CT_PUN 0x10 /* punctuation */ # define CT_WHT 0x20 /* white space (space/cr/lf/tab) */ # define CT_HEX 0x40 /* hex digit */ # define CT_SP 0x80 /* hard space (0x20) */ /* without the cast to unsigned, DJGPP complains (using -Wall) */ # define isalnum(c) ((ctype + 1)[(unsigned)(c)] & (CT_UP | CT_LOW | CT_DIG)) # define isalpha(c) ((ctype + 1)[(unsigned)(c)] & (CT_UP | CT_LOW)) # define iscntrl(c) ((ctype + 1)[(unsigned)(c)] & (CT_CTL)) # define isdigit(c) ((ctype + 1)[(unsigned)(c)] & (CT_DIG)) # define isgraph(c) ((ctype + 1)[(unsigned)(c)] & (CT_PUN | CT_UP | CT_LOW | CT_DIG)) # define islower(c) ((ctype + 1)[(unsigned)(c)] & (CT_LOW)) # define isprint(c) ((ctype + 1)[(unsigned)(c)] & (CT_PUN | CT_UP | CT_LOW | CT_DIG | CT_SP)) # define ispunct(c) ((ctype + 1)[(unsigned)(c)] & (CT_PUN)) # define isspace(c) ((ctype + 1)[(unsigned)(c)] & (CT_WHT)) # define isupper(c) ((ctype + 1)[(unsigned)(c)] & (CT_UP)) # define isxdigit(c) ((ctype + 1)[(unsigned)(c)] & (CT_DIG | CT_HEX)) # define isascii(c) ((unsigned)(c) <= 0x7F) # define toascii(c) ((unsigned)(c) & 0x7F) # define tolower(c) (isupper(c) ? c + 'a' - 'A' : c) # define toupper(c) (islower(c) ? c + 'A' - 'a' : c) #endif