1 /* Minimum guaranteed maximum values for system limits. Hurd version. 2 Copyright (C) 1993-2022 Free Software Foundation, Inc. 3 This file is part of the GNU C Library. 4 5 The GNU C Library is free software; you can redistribute it and/or 6 modify it under the terms of the GNU Lesser General Public 7 License as published by the Free Software Foundation; either 8 version 2.1 of the License, or (at your option) any later version. 9 10 The GNU C Library is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 Lesser General Public License for more details. 14 15 You should have received a copy of the GNU Lesser General Public 16 License along with the GNU C Library; if not, see 17 <https://www.gnu.org/licenses/>. */ 18 19 /* GNU has no arbitrary fixed limits on most of these things, so we 20 don't define the macros. Some things are unlimited. Some are in 21 fact limited but the limit is run-time dependent and fetched with 22 `sysconf' or `pathconf'. */ 23 24 /* This one value is actually constrained by the `struct dirent' 25 layout, in which the `d_namlen' member is only 8 bits wide. */ 26 27 #define NAME_MAX 255 28 29 /* POSIX.1 requires that we define NGROUPS_MAX (though none of the others 30 is required). GNU allows any number of supplementary groups, 31 dynamically allocated. So we pick a number which seems vaguely 32 suitable, and `sysconf' will return a number at least as large. */ 33 34 #define NGROUPS_MAX 256 35 36 /* The number of data keys per process. */ 37 #define _POSIX_THREAD_KEYS_MAX 128 38 39 /* Controlling the iterations of destructors for thread-specific data. */ 40 #define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4 41 42 /* The number of threads per process. */ 43 #define _POSIX_THREAD_THREADS_MAX 64 44 45 /* Maximum value the semaphore can have. */ 46 #define SEM_VALUE_MAX (2147483647) 47