]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - libphobos/libdruntime/core/stdc/limits.d
libphobos: Merge phobos and druntime with upstream.
[thirdparty/gcc.git] / libphobos / libdruntime / core / stdc / limits.d
index 3ed167216ce39150ad26afa96c855420cba667e5..3ab7ed1e4f7bbd8af29e6df6abcdf3ddff2569b4 100644 (file)
 
 module core.stdc.limits;
 
+version (OSX)
+    version = Darwin;
+else version (iOS)
+    version = Darwin;
+else version (TVOS)
+    version = Darwin;
+else version (WatchOS)
+    version = Darwin;
+
 private import core.stdc.config;
 
 extern (C):
@@ -21,6 +30,10 @@ extern (C):
 nothrow:
 @nogc:
 
+//
+// Numerical limits
+//
+
 ///
 enum CHAR_BIT       = 8;
 ///
@@ -59,3 +72,113 @@ enum LLONG_MIN      = long.min;
 enum LLONG_MAX      = long.max;
 ///
 enum ULLONG_MAX     = ulong.max;
+
+//
+// File system limits
+//
+
+version (Darwin)
+{
+    ///
+    enum MAX_CANON      = 1024;
+    ///
+    enum MAX_INPUT      = 1024;
+    ///
+    enum NAME_MAX       = 255;
+    ///
+    enum PATH_MAX       = 1024;
+    ///
+    enum PIPE_BUF       = 512;
+}
+
+version (DragonFlyBSD)
+{
+    ///
+    enum MAX_CANON      = 255;
+    ///
+    enum MAX_INPUT      = 255;
+    ///
+    enum NAME_MAX       = 255;
+    ///
+    enum PATH_MAX       = 1024;
+    ///
+    enum PIPE_BUF       = 512;
+}
+else version (FreeBSD)
+{
+    ///
+    enum MAX_CANON      = 255;
+    ///
+    enum MAX_INPUT      = 255;
+    ///
+    enum NAME_MAX       = 255;
+    ///
+    enum PATH_MAX       = 1024;
+    ///
+    enum PIPE_BUF       = 512;
+}
+else version (linux)
+{
+    ///
+    enum MAX_CANON      = 255;
+    ///
+    enum MAX_INPUT      = 255;
+    ///
+    enum NAME_MAX       = 255;
+    ///
+    enum PATH_MAX       = 4096;
+    ///
+    enum PIPE_BUF       = 4096;
+}
+else version (NetBSD)
+{
+    ///
+    enum MAX_CANON      = 255;
+    ///
+    enum MAX_INPUT      = 255;
+    ///
+    enum NAME_MAX       = 511;
+    ///
+    enum PATH_MAX       = 1024;
+    ///
+    enum PIPE_BUF       = 512;
+}
+else version (OpenBSD)
+{
+    ///
+    enum MAX_CANON      = 255;
+    ///
+    enum MAX_INPUT      = 255;
+    ///
+    enum NAME_MAX       = 255;
+    ///
+    enum PATH_MAX       = 1024;
+    ///
+    enum PIPE_BUF       = 512;
+}
+else version (Solaris)
+{
+    ///
+    enum MAX_CANON      = 256;
+    ///
+    enum MAX_INPUT      = 512;
+    ///
+    enum NAME_MAX       = 255;
+    ///
+    enum PATH_MAX       = 1024;
+    ///
+    enum PIPE_BUF       = 5120;
+}
+else version (Windows)
+{
+    ///
+    enum MAX_CANON      = 256;
+    ///
+    enum MAX_INPUT      = 256;
+    ///
+    enum NAME_MAX       = 256;
+    ///
+    enum PATH_MAX       = 260;
+    ///
+    enum PIPE_BUF       = 5120;
+}