diff options
Diffstat (limited to 'src/libk/include')
-rw-r--r-- | src/libk/include/bits/limits.h | 45 | ||||
-rw-r--r-- | src/libk/include/camellia/path.h | 3 | ||||
-rw-r--r-- | src/libk/include/limits.h | 5 |
3 files changed, 51 insertions, 2 deletions
diff --git a/src/libk/include/bits/limits.h b/src/libk/include/bits/limits.h new file mode 100644 index 0000000..a64302e --- /dev/null +++ b/src/libk/include/bits/limits.h @@ -0,0 +1,45 @@ +/** Adapted from code (c) 2023 Pedro Falcato, with permission. + * Originally licensed under BSD-2-Clause-Patent. + */ + +#if defined (__LP64__) +#define __LIMITS_64BIT +#endif + +#define CHAR_BIT 8 + +#define SCHAR_MIN -128 +#define SCHAR_MAX 127 +#define UCHAR_MAX 255 + +#if '\xff' < 0 +/* char is signed */ +# define CHAR_MIN SCHAR_MIN +# define CHAR_MAX SCHAR_MAX +#else +/* char is unsigned */ +# define CHAR_MIN 0 +# define CHAR_MAX UCHAR_MAX +#endif + +#define SHRT_MIN (-1 - 0x7fff) +#define SHRT_MAX 0x7fff +#define USHRT_MAX 0xffff + +#define INT_MIN (-1 - 0x7fffffff) +#define INT_MAX 0x7fffffff +#define UINT_MAX 0xffffffffU + +#ifdef __LIMITS_64BIT +# define LONG_MAX 0x7fffffffffffffffL +# define LONG_MIN (-1 - 0x7fffffffffffffffL) +# define ULONG_MAX 0xffffffffffffffffUL +#else +# define LONG_MAX 0x7fffffffL +# define LONG_MIN (-1 - 0x7fffffffL) +# define ULONG_MAX 0xffffffffUL +#endif + +#define LLONG_MIN (-1 - 0x7fffffffffffffffLL) +#define LLONG_MAX 0x7fffffffffffffffLL +#define ULLONG_MAX 0xffffffffffffffffULL diff --git a/src/libk/include/camellia/path.h b/src/libk/include/camellia/path.h index b268595..ee66f7b 100644 --- a/src/libk/include/camellia/path.h +++ b/src/libk/include/camellia/path.h @@ -1,8 +1,7 @@ #pragma once +#include <limits.h> /* for PATH_MAX */ #include <stddef.h> -#define PATH_MAX 512 - /** Reduce a path to its simplest form. * Kinds of invalid paths: * - relative - "" "a" "./a" diff --git a/src/libk/include/limits.h b/src/libk/include/limits.h new file mode 100644 index 0000000..4cb972d --- /dev/null +++ b/src/libk/include/limits.h @@ -0,0 +1,5 @@ +#include <bits/limits.h> + +#define NAME_MAX 255 +#define PATH_MAX 512 +#define _POSIX2_RE_DUP_MAX 255 |