limits.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. /*
  2. * Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #pragma once
  7. #include <bits/stdint.h>
  8. #ifndef PAGE_SIZE
  9. # define PAGE_SIZE 4096
  10. #endif
  11. #define HOST_NAME_MAX 64
  12. #define PATH_MAX 4096
  13. #if !defined MAXPATHLEN && defined PATH_MAX
  14. # define MAXPATHLEN PATH_MAX
  15. #endif
  16. #define NAME_MAX 255
  17. #define TTY_NAME_MAX 32
  18. #define PIPE_BUF 4096
  19. #define INT_MAX INT32_MAX
  20. #define INT_MIN INT32_MIN
  21. #define UINT_MAX UINT32_MAX
  22. #define CHAR_BIT 8
  23. #define SCHAR_MIN (-128)
  24. #define SCHAR_MAX 127
  25. #define UCHAR_MAX 255
  26. #define SHRT_MAX 32768
  27. #define SHRT_MIN (-SHRT_MAX - 1)
  28. #define USHRT_MAX 65535
  29. #define LONG_MAX 2147483647L
  30. #define LONG_MIN (-LONG_MAX - 1L)
  31. #define ULONG_MAX 4294967295UL
  32. #define LONG_LONG_MAX 9223372036854775807LL
  33. #define LONG_LONG_MIN (-LONG_LONG_MAX - 1LL)
  34. #define LLONG_MAX LONG_LONG_MAX
  35. #define LLONG_MIN LONG_LONG_MIN
  36. #define ULONG_LONG_MAX 18446744073709551615ULL
  37. #define CHAR_MIN SCHAR_MIN
  38. #define CHAR_MAX SCHAR_MAX
  39. #define CHAR_WIDTH 8
  40. #define SCHAR_WIDTH 8
  41. #define UCHAR_WIDTH 8
  42. #define SHRT_WIDTH 16
  43. #define USHRT_WIDTH 16
  44. #define INT_WIDTH 32
  45. #define UINT_WIDTH 32
  46. #define LONG_WIDTH 32
  47. #define ULONG_WIDTH 32
  48. #define LLONG_WIDTH 64
  49. #define ULLONG_WIDTH 64
  50. #define MB_LEN_MAX 16
  51. #define ARG_MAX 65536
  52. #define PTHREAD_STACK_MIN 65536
  53. #define SSIZE_MAX 2147483647
  54. #ifdef __USE_POSIX
  55. # include <bits/posix1_lim.h>
  56. #endif