limits.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  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. #include <bits/wchar.h>
  9. #ifndef PAGE_SIZE
  10. # define PAGE_SIZE 4096
  11. #endif
  12. #define HOST_NAME_MAX 64
  13. #define PATH_MAX 4096
  14. #if !defined MAXPATHLEN && defined PATH_MAX
  15. # define MAXPATHLEN PATH_MAX
  16. #endif
  17. #define NAME_MAX 255
  18. #define TTY_NAME_MAX 32
  19. #define PIPE_BUF 4096
  20. #define INT_MAX INT32_MAX
  21. #define INT_MIN INT32_MIN
  22. #define UINT_MAX UINT32_MAX
  23. #define CHAR_BIT 8
  24. #define SCHAR_MIN (-128)
  25. #define SCHAR_MAX 127
  26. #define UCHAR_MAX 255
  27. #define SHRT_MAX 32768
  28. #define SHRT_MIN (-SHRT_MAX - 1)
  29. #define USHRT_MAX 65535
  30. #define LONG_MAX 2147483647L
  31. #define LONG_MIN (-LONG_MAX - 1L)
  32. #define ULONG_MAX 4294967295UL
  33. #define LONG_LONG_MAX 9223372036854775807LL
  34. #define LONG_LONG_MIN (-LONG_LONG_MAX - 1LL)
  35. #define LLONG_MAX LONG_LONG_MAX
  36. #define LLONG_MIN LONG_LONG_MIN
  37. #define ULONG_LONG_MAX 18446744073709551615ULL
  38. #define ULLONG_MAX ULONG_LONG_MAX
  39. #define CHAR_MIN SCHAR_MIN
  40. #define CHAR_MAX SCHAR_MAX
  41. #define CHAR_WIDTH 8
  42. #define SCHAR_WIDTH 8
  43. #define UCHAR_WIDTH 8
  44. #define SHRT_WIDTH 16
  45. #define USHRT_WIDTH 16
  46. #define INT_WIDTH 32
  47. #define UINT_WIDTH 32
  48. #define LONG_WIDTH 32
  49. #define ULONG_WIDTH 32
  50. #define LLONG_WIDTH 64
  51. #define ULLONG_WIDTH 64
  52. #define ARG_MAX 65536
  53. #define PTHREAD_STACK_MIN 65536
  54. #define SSIZE_MAX 2147483647
  55. #define LINK_MAX 4096
  56. #ifdef __USE_POSIX
  57. # include <bits/posix1_lim.h>
  58. #endif