hjl / source-git / glibc

Forked from source-git/glibc 3 years ago
Clone

Blame posix/bits/posix1_lim.h

Packit 6c4009
/* Copyright (C) 1991-2018 Free Software Foundation, Inc.
Packit 6c4009
   This file is part of the GNU C Library.
Packit 6c4009
Packit 6c4009
   The GNU C Library is free software; you can redistribute it and/or
Packit 6c4009
   modify it under the terms of the GNU Lesser General Public
Packit 6c4009
   License as published by the Free Software Foundation; either
Packit 6c4009
   version 2.1 of the License, or (at your option) any later version.
Packit 6c4009
Packit 6c4009
   The GNU C Library is distributed in the hope that it will be useful,
Packit 6c4009
   but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit 6c4009
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit 6c4009
   Lesser General Public License for more details.
Packit 6c4009
Packit 6c4009
   You should have received a copy of the GNU Lesser General Public
Packit 6c4009
   License along with the GNU C Library; if not, see
Packit 6c4009
   <http://www.gnu.org/licenses/>.  */
Packit 6c4009
Packit 6c4009
/*
Packit 6c4009
 *	POSIX Standard: 2.9.2 Minimum Values	Added to <limits.h>
Packit 6c4009
 *
Packit 6c4009
 *	Never include this file directly; use <limits.h> instead.
Packit 6c4009
 */
Packit 6c4009
Packit 6c4009
#ifndef	_BITS_POSIX1_LIM_H
Packit 6c4009
#define	_BITS_POSIX1_LIM_H	1
Packit 6c4009
Packit 6c4009
#include <bits/wordsize.h>
Packit 6c4009
Packit 6c4009
/* These are the standard-mandated minimum values.  */
Packit 6c4009
Packit 6c4009
/* Minimum number of operations in one list I/O call.  */
Packit 6c4009
#define _POSIX_AIO_LISTIO_MAX	2
Packit 6c4009
Packit 6c4009
/* Minimal number of outstanding asynchronous I/O operations.  */
Packit 6c4009
#define _POSIX_AIO_MAX		1
Packit 6c4009
Packit 6c4009
/* Maximum length of arguments to `execve', including environment.  */
Packit 6c4009
#define	_POSIX_ARG_MAX		4096
Packit 6c4009
Packit 6c4009
/* Maximum simultaneous processes per real user ID.  */
Packit 6c4009
#ifdef __USE_XOPEN2K
Packit 6c4009
# define _POSIX_CHILD_MAX	25
Packit 6c4009
#else
Packit 6c4009
# define _POSIX_CHILD_MAX	6
Packit 6c4009
#endif
Packit 6c4009
Packit 6c4009
/* Minimal number of timer expiration overruns.  */
Packit 6c4009
#define _POSIX_DELAYTIMER_MAX	32
Packit 6c4009
Packit 6c4009
/* Maximum length of a host name (not including the terminating null)
Packit 6c4009
   as returned from the GETHOSTNAME function.  */
Packit 6c4009
#define _POSIX_HOST_NAME_MAX	255
Packit 6c4009
Packit 6c4009
/* Maximum link count of a file.  */
Packit 6c4009
#define	_POSIX_LINK_MAX		8
Packit 6c4009
Packit 6c4009
/* Maximum length of login name.  */
Packit 6c4009
#define	_POSIX_LOGIN_NAME_MAX	9
Packit 6c4009
Packit 6c4009
/* Number of bytes in a terminal canonical input queue.  */
Packit 6c4009
#define	_POSIX_MAX_CANON	255
Packit 6c4009
Packit 6c4009
/* Number of bytes for which space will be
Packit 6c4009
   available in a terminal input queue.  */
Packit 6c4009
#define	_POSIX_MAX_INPUT	255
Packit 6c4009
Packit 6c4009
/* Maximum number of message queues open for a process.  */
Packit 6c4009
#define _POSIX_MQ_OPEN_MAX	8
Packit 6c4009
Packit 6c4009
/* Maximum number of supported message priorities.  */
Packit 6c4009
#define _POSIX_MQ_PRIO_MAX	32
Packit 6c4009
Packit 6c4009
/* Number of bytes in a filename.  */
Packit 6c4009
#define	_POSIX_NAME_MAX		14
Packit 6c4009
Packit 6c4009
/* Number of simultaneous supplementary group IDs per process.  */
Packit 6c4009
#ifdef __USE_XOPEN2K
Packit 6c4009
# define _POSIX_NGROUPS_MAX	8
Packit 6c4009
#else
Packit 6c4009
# define _POSIX_NGROUPS_MAX	0
Packit 6c4009
#endif
Packit 6c4009
Packit 6c4009
/* Number of files one process can have open at once.  */
Packit 6c4009
#ifdef __USE_XOPEN2K
Packit 6c4009
# define _POSIX_OPEN_MAX	20
Packit 6c4009
#else
Packit 6c4009
# define _POSIX_OPEN_MAX	16
Packit 6c4009
#endif
Packit 6c4009
Packit 6c4009
#if !defined __USE_XOPEN2K || defined __USE_GNU
Packit 6c4009
/* Number of descriptors that a process may examine with `pselect' or
Packit 6c4009
   `select'.  */
Packit 6c4009
# define _POSIX_FD_SETSIZE	_POSIX_OPEN_MAX
Packit 6c4009
#endif
Packit 6c4009
Packit 6c4009
/* Number of bytes in a pathname.  */
Packit 6c4009
#define	_POSIX_PATH_MAX		256
Packit 6c4009
Packit 6c4009
/* Number of bytes than can be written atomically to a pipe.  */
Packit 6c4009
#define	_POSIX_PIPE_BUF		512
Packit 6c4009
Packit 6c4009
/* The number of repeated occurrences of a BRE permitted by the
Packit 6c4009
   REGEXEC and REGCOMP functions when using the interval notation.  */
Packit 6c4009
#define _POSIX_RE_DUP_MAX	255
Packit 6c4009
Packit 6c4009
/* Minimal number of realtime signals reserved for the application.  */
Packit 6c4009
#define _POSIX_RTSIG_MAX	8
Packit 6c4009
Packit 6c4009
/* Number of semaphores a process can have.  */
Packit 6c4009
#define _POSIX_SEM_NSEMS_MAX	256
Packit 6c4009
Packit 6c4009
/* Maximal value of a semaphore.  */
Packit 6c4009
#define _POSIX_SEM_VALUE_MAX	32767
Packit 6c4009
Packit 6c4009
/* Number of pending realtime signals.  */
Packit 6c4009
#define _POSIX_SIGQUEUE_MAX	32
Packit 6c4009
Packit 6c4009
/* Largest value of a `ssize_t'.  */
Packit 6c4009
#define	_POSIX_SSIZE_MAX	32767
Packit 6c4009
Packit 6c4009
/* Number of streams a process can have open at once.  */
Packit 6c4009
#define	_POSIX_STREAM_MAX	8
Packit 6c4009
Packit 6c4009
/* The number of bytes in a symbolic link.  */
Packit 6c4009
#define _POSIX_SYMLINK_MAX	255
Packit 6c4009
Packit 6c4009
/* The number of symbolic links that can be traversed in the
Packit 6c4009
   resolution of a pathname in the absence of a loop.  */
Packit 6c4009
#define _POSIX_SYMLOOP_MAX	8
Packit 6c4009
Packit 6c4009
/* Number of timer for a process.  */
Packit 6c4009
#define _POSIX_TIMER_MAX	32
Packit 6c4009
Packit 6c4009
/* Maximum number of characters in a tty name.  */
Packit 6c4009
#define	_POSIX_TTY_NAME_MAX	9
Packit 6c4009
Packit 6c4009
/* Maximum length of a timezone name (element of `tzname').  */
Packit 6c4009
#ifdef __USE_XOPEN2K
Packit 6c4009
# define _POSIX_TZNAME_MAX	6
Packit 6c4009
#else
Packit 6c4009
# define _POSIX_TZNAME_MAX	3
Packit 6c4009
#endif
Packit 6c4009
Packit 6c4009
#if !defined __USE_XOPEN2K || defined __USE_GNU
Packit 6c4009
/* Maximum number of connections that can be queued on a socket.  */
Packit 6c4009
# define _POSIX_QLIMIT		1
Packit 6c4009
Packit 6c4009
/* Maximum number of bytes that can be buffered on a socket for send
Packit 6c4009
   or receive.  */
Packit 6c4009
# define _POSIX_HIWAT		_POSIX_PIPE_BUF
Packit 6c4009
Packit 6c4009
/* Maximum number of elements in an `iovec' array.  */
Packit 6c4009
# define _POSIX_UIO_MAXIOV	16
Packit 6c4009
#endif
Packit 6c4009
Packit 6c4009
/* Maximum clock resolution in nanoseconds.  */
Packit 6c4009
#define _POSIX_CLOCKRES_MIN	20000000
Packit 6c4009
Packit 6c4009
Packit 6c4009
/* Get the implementation-specific values for the above.  */
Packit 6c4009
#include <bits/local_lim.h>
Packit 6c4009
Packit 6c4009
Packit 6c4009
#ifndef	SSIZE_MAX
Packit 6c4009
/* ssize_t is not formally required to be the signed type
Packit 6c4009
   corresponding to size_t, but it is for all configurations supported
Packit 6c4009
   by glibc.  */
Packit 6c4009
# if __WORDSIZE == 64 || __WORDSIZE32_SIZE_ULONG
Packit 6c4009
#  define SSIZE_MAX	LONG_MAX
Packit 6c4009
# else
Packit 6c4009
#  define SSIZE_MAX	INT_MAX
Packit 6c4009
# endif
Packit 6c4009
#endif
Packit 6c4009
Packit 6c4009
Packit 6c4009
/* This value is a guaranteed minimum maximum.
Packit 6c4009
   The current maximum can be got from `sysconf'.  */
Packit 6c4009
Packit 6c4009
#ifndef	NGROUPS_MAX
Packit 6c4009
# define NGROUPS_MAX	8
Packit 6c4009
#endif
Packit 6c4009
Packit 6c4009
#endif	/* bits/posix1_lim.h  */