Blame sysdeps/unix/sysv/linux/bits/posix_opt.h

Packit 6c4009
/* Define POSIX options for Linux.
Packit 6c4009
   Copyright (C) 1996-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 License as
Packit 6c4009
   published by the Free Software Foundation; either version 2.1 of the
Packit 6c4009
   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; see the file COPYING.LIB.  If
Packit 6c4009
   not, see <http://www.gnu.org/licenses/>.  */
Packit 6c4009
Packit 6c4009
#ifndef	_BITS_POSIX_OPT_H
Packit 6c4009
#define	_BITS_POSIX_OPT_H	1
Packit 6c4009
Packit 6c4009
/* Job control is supported.  */
Packit 6c4009
#define	_POSIX_JOB_CONTROL	1
Packit 6c4009
Packit 6c4009
/* Processes have a saved set-user-ID and a saved set-group-ID.  */
Packit 6c4009
#define	_POSIX_SAVED_IDS	1
Packit 6c4009
Packit 6c4009
/* Priority scheduling is supported.  */
Packit 6c4009
#define	_POSIX_PRIORITY_SCHEDULING	200809L
Packit 6c4009
Packit 6c4009
/* Synchronizing file data is supported.  */
Packit 6c4009
#define	_POSIX_SYNCHRONIZED_IO	200809L
Packit 6c4009
Packit 6c4009
/* The fsync function is present.  */
Packit 6c4009
#define	_POSIX_FSYNC	200809L
Packit 6c4009
Packit 6c4009
/* Mapping of files to memory is supported.  */
Packit 6c4009
#define	_POSIX_MAPPED_FILES	200809L
Packit 6c4009
Packit 6c4009
/* Locking of all memory is supported.  */
Packit 6c4009
#define	_POSIX_MEMLOCK	200809L
Packit 6c4009
Packit 6c4009
/* Locking of ranges of memory is supported.  */
Packit 6c4009
#define	_POSIX_MEMLOCK_RANGE	200809L
Packit 6c4009
Packit 6c4009
/* Setting of memory protections is supported.  */
Packit 6c4009
#define	_POSIX_MEMORY_PROTECTION	200809L
Packit 6c4009
Packit 6c4009
/* Some filesystems allow all users to change file ownership.  */
Packit 6c4009
#define	_POSIX_CHOWN_RESTRICTED	0
Packit 6c4009
Packit 6c4009
/* `c_cc' member of 'struct termios' structure can be disabled by
Packit 6c4009
   using the value _POSIX_VDISABLE.  */
Packit 6c4009
#define	_POSIX_VDISABLE	'\0'
Packit 6c4009
Packit 6c4009
/* Filenames are not silently truncated.  */
Packit 6c4009
#define	_POSIX_NO_TRUNC	1
Packit 6c4009
Packit 6c4009
/* X/Open realtime support is available.  */
Packit 6c4009
#define _XOPEN_REALTIME	1
Packit 6c4009
Packit 6c4009
/* X/Open thread realtime support is available.  */
Packit 6c4009
#define _XOPEN_REALTIME_THREADS	1
Packit 6c4009
Packit 6c4009
/* XPG4.2 shared memory is supported.  */
Packit 6c4009
#define	_XOPEN_SHM	1
Packit 6c4009
Packit 6c4009
/* Tell we have POSIX threads.  */
Packit 6c4009
#define _POSIX_THREADS	200809L
Packit 6c4009
Packit 6c4009
/* We have the reentrant functions described in POSIX.  */
Packit 6c4009
#define _POSIX_REENTRANT_FUNCTIONS      1
Packit 6c4009
#define _POSIX_THREAD_SAFE_FUNCTIONS	200809L
Packit 6c4009
Packit 6c4009
/* We provide priority scheduling for threads.  */
Packit 6c4009
#define _POSIX_THREAD_PRIORITY_SCHEDULING	200809L
Packit 6c4009
Packit 6c4009
/* We support user-defined stack sizes.  */
Packit 6c4009
#define _POSIX_THREAD_ATTR_STACKSIZE	200809L
Packit 6c4009
Packit 6c4009
/* We support user-defined stacks.  */
Packit 6c4009
#define _POSIX_THREAD_ATTR_STACKADDR	200809L
Packit 6c4009
Packit 6c4009
/* We support priority inheritence.  */
Packit 6c4009
#define _POSIX_THREAD_PRIO_INHERIT	200809L
Packit 6c4009
Packit 6c4009
/* We support priority protection, though only for non-robust
Packit 6c4009
   mutexes.  */
Packit 6c4009
#define _POSIX_THREAD_PRIO_PROTECT	200809L
Packit 6c4009
Packit 6c4009
#ifdef __USE_XOPEN2K8
Packit 6c4009
/* We support priority inheritence for robust mutexes.  */
Packit 6c4009
# define _POSIX_THREAD_ROBUST_PRIO_INHERIT	200809L
Packit 6c4009
Packit 6c4009
/* We do not support priority protection for robust mutexes.  */
Packit 6c4009
# define _POSIX_THREAD_ROBUST_PRIO_PROTECT	-1
Packit 6c4009
#endif
Packit 6c4009
Packit 6c4009
/* We support POSIX.1b semaphores.  */
Packit 6c4009
#define _POSIX_SEMAPHORES	200809L
Packit 6c4009
Packit 6c4009
/* Real-time signals are supported.  */
Packit 6c4009
#define _POSIX_REALTIME_SIGNALS	200809L
Packit 6c4009
Packit 6c4009
/* We support asynchronous I/O.  */
Packit 6c4009
#define _POSIX_ASYNCHRONOUS_IO	200809L
Packit 6c4009
#define _POSIX_ASYNC_IO		1
Packit 6c4009
/* Alternative name for Unix98.  */
Packit 6c4009
#define _LFS_ASYNCHRONOUS_IO	1
Packit 6c4009
/* Support for prioritization is also available.  */
Packit 6c4009
#define _POSIX_PRIORITIZED_IO	200809L
Packit 6c4009
Packit 6c4009
/* The LFS support in asynchronous I/O is also available.  */
Packit 6c4009
#define _LFS64_ASYNCHRONOUS_IO	1
Packit 6c4009
Packit 6c4009
/* The rest of the LFS is also available.  */
Packit 6c4009
#define _LFS_LARGEFILE		1
Packit 6c4009
#define _LFS64_LARGEFILE	1
Packit 6c4009
#define _LFS64_STDIO		1
Packit 6c4009
Packit 6c4009
/* POSIX shared memory objects are implemented.  */
Packit 6c4009
#define _POSIX_SHARED_MEMORY_OBJECTS	200809L
Packit 6c4009
Packit 6c4009
/* CPU-time clocks support needs to be checked at runtime.  */
Packit 6c4009
#define _POSIX_CPUTIME	0
Packit 6c4009
Packit 6c4009
/* Clock support in threads must be also checked at runtime.  */
Packit 6c4009
#define _POSIX_THREAD_CPUTIME	0
Packit 6c4009
Packit 6c4009
/* GNU libc provides regular expression handling.  */
Packit 6c4009
#define _POSIX_REGEXP	1
Packit 6c4009
Packit 6c4009
/* Reader/Writer locks are available.  */
Packit 6c4009
#define _POSIX_READER_WRITER_LOCKS	200809L
Packit 6c4009
Packit 6c4009
/* We have a POSIX shell.  */
Packit 6c4009
#define _POSIX_SHELL	1
Packit 6c4009
Packit 6c4009
/* We support the Timeouts option.  */
Packit 6c4009
#define _POSIX_TIMEOUTS	200809L
Packit 6c4009
Packit 6c4009
/* We support spinlocks.  */
Packit 6c4009
#define _POSIX_SPIN_LOCKS	200809L
Packit 6c4009
Packit 6c4009
/* The `spawn' function family is supported.  */
Packit 6c4009
#define _POSIX_SPAWN	200809L
Packit 6c4009
Packit 6c4009
/* We have POSIX timers.  */
Packit 6c4009
#define _POSIX_TIMERS	200809L
Packit 6c4009
Packit 6c4009
/* The barrier functions are available.  */
Packit 6c4009
#define _POSIX_BARRIERS	200809L
Packit 6c4009
Packit 6c4009
/* POSIX message queues are available.  */
Packit 6c4009
#define	_POSIX_MESSAGE_PASSING	200809L
Packit 6c4009
Packit 6c4009
/* Thread process-shared synchronization is supported.  */
Packit 6c4009
#define _POSIX_THREAD_PROCESS_SHARED	200809L
Packit 6c4009
Packit 6c4009
/* The monotonic clock might be available.  */
Packit 6c4009
#define _POSIX_MONOTONIC_CLOCK	0
Packit 6c4009
Packit 6c4009
/* The clock selection interfaces are available.  */
Packit 6c4009
#define _POSIX_CLOCK_SELECTION	200809L
Packit 6c4009
Packit 6c4009
/* Advisory information interfaces are available.  */
Packit 6c4009
#define _POSIX_ADVISORY_INFO	200809L
Packit 6c4009
Packit 6c4009
/* IPv6 support is available.  */
Packit 6c4009
#define _POSIX_IPV6	200809L
Packit 6c4009
Packit 6c4009
/* Raw socket support is available.  */
Packit 6c4009
#define _POSIX_RAW_SOCKETS	200809L
Packit 6c4009
Packit 6c4009
/* We have at least one terminal.  */
Packit 6c4009
#define _POSIX2_CHAR_TERM	200809L
Packit 6c4009
Packit 6c4009
/* Neither process nor thread sporadic server interfaces is available.  */
Packit 6c4009
#define _POSIX_SPORADIC_SERVER	-1
Packit 6c4009
#define _POSIX_THREAD_SPORADIC_SERVER	-1
Packit 6c4009
Packit 6c4009
/* trace.h is not available.  */
Packit 6c4009
#define _POSIX_TRACE	-1
Packit 6c4009
#define _POSIX_TRACE_EVENT_FILTER	-1
Packit 6c4009
#define _POSIX_TRACE_INHERIT	-1
Packit 6c4009
#define _POSIX_TRACE_LOG	-1
Packit 6c4009
Packit 6c4009
/* Typed memory objects are not available.  */
Packit 6c4009
#define _POSIX_TYPED_MEMORY_OBJECTS	-1
Packit 6c4009
Packit Service 3e5977
/* Streams are not available.  */
Packit Service 3e5977
#define _XOPEN_STREAMS	-1
Packit Service 3e5977
Packit 6c4009
#endif /* bits/posix_opt.h */