June 2025 | ||||||
Mo | Tu | We | Th | Fr | Sa | Su |
26 | 27 | 28 | 29 | 30 | 31 | 1 |
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 1 | 2 | 3 | 4 | 5 | 6 |
001: /* Define POSIX options for Linux. 002: Copyright (C) 1996-2004, 2006, 2008, 2009 Free Software Foundation, Inc. 003: This file is part of the GNU C Library. 004: 005: The GNU C Library is free software; you can redistribute it and/or 006: modify it under the terms of the GNU Lesser General Public License as 007: published by the Free Software Foundation; either version 2.1 of the 008: License, or (at your option) any later version. 009: 010: The GNU C Library is distributed in the hope that it will be useful, 011: but WITHOUT ANY WARRANTY; without even the implied warranty of 012: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 013: Lesser General Public License for more details. 014: 015: You should have received a copy of the GNU Lesser General Public 016: License along with the GNU C Library; see the file COPYING.LIB. If not, 017: write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 018: Boston, MA 02111-1307, USA. */ 019: 020: #ifndef _BITS_POSIX_OPT_H 021: #define _BITS_POSIX_OPT_H 1 022: 023: /* Job control is supported. */ 024: #define _POSIX_JOB_CONTROL 1 025: 026: /* Processes have a saved set-user-ID and a saved set-group-ID. */ 027: #define _POSIX_SAVED_IDS 1 028: 029: /* Priority scheduling is supported. */ 030: #define _POSIX_PRIORITY_SCHEDULING 200809L 031: 032: /* Synchronizing file data is supported. */ 033: #define _POSIX_SYNCHRONIZED_IO 200809L 034: 035: /* The fsync function is present. */ 036: #define _POSIX_FSYNC 200809L 037: 038: /* Mapping of files to memory is supported. */ 039: #define _POSIX_MAPPED_FILES 200809L 040: 041: /* Locking of all memory is supported. */ 042: #define _POSIX_MEMLOCK 200809L 043: 044: /* Locking of ranges of memory is supported. */ 045: #define _POSIX_MEMLOCK_RANGE 200809L 046: 047: /* Setting of memory protections is supported. */ 048: #define _POSIX_MEMORY_PROTECTION 200809L 049: 050: /* Some filesystems allow all users to change file ownership. */ 051: #define _POSIX_CHOWN_RESTRICTED 0 052: 053: /* `c_cc' member of 'struct termios' structure can be disabled by 054: using the value _POSIX_VDISABLE. */ 055: #define _POSIX_VDISABLE '\0' 056: 057: /* Filenames are not silently truncated. */ 058: #define _POSIX_NO_TRUNC 1 059: 060: /* X/Open realtime support is available. */ 061: #define _XOPEN_REALTIME 1 062: 063: /* X/Open thread realtime support is available. */ 064: #define _XOPEN_REALTIME_THREADS 1 065: 066: /* XPG4.2 shared memory is supported. */ 067: #define _XOPEN_SHM 1 068: 069: /* Tell we have POSIX threads. */ 070: #define _POSIX_THREADS 200809L 071: 072: /* We have the reentrant functions described in POSIX. */ 073: #define _POSIX_REENTRANT_FUNCTIONS 1 074: #define _POSIX_THREAD_SAFE_FUNCTIONS 200809L 075: 076: /* We provide priority scheduling for threads. */ 077: #define _POSIX_THREAD_PRIORITY_SCHEDULING 200809L 078: 079: /* We support user-defined stack sizes. */ 080: #define _POSIX_THREAD_ATTR_STACKSIZE 200809L 081: 082: /* We support user-defined stacks. */ 083: #define _POSIX_THREAD_ATTR_STACKADDR 200809L 084: 085: /* We support priority inheritence. */ 086: #define _POSIX_THREAD_PRIO_INHERIT 200809L 087: 088: /* We support priority protection, though only for non-robust 089: mutexes. */ 090: #define _POSIX_THREAD_PRIO_PROTECT 200809L 091: 092: #ifdef __USE_XOPEN2K8 093: /* We support priority inheritence for robust mutexes. */ 094: # define _POSIX_THREAD_ROBUST_PRIO_INHERIT 200809L 095: 096: /* We do not support priority protection for robust mutexes. */ 097: # define _POSIX_THREAD_ROBUST_PRIO_PROTECT -1 098: #endif 099: 100: /* We support POSIX.1b semaphores. */ 101: #define _POSIX_SEMAPHORES 200809L 102: 103: /* Real-time signals are supported. */ 104: #define _POSIX_REALTIME_SIGNALS 200809L 105: 106: /* We support asynchronous I/O. */ 107: #define _POSIX_ASYNCHRONOUS_IO 200809L 108: #define _POSIX_ASYNC_IO 1 109: /* Alternative name for Unix98. */ 110: #define _LFS_ASYNCHRONOUS_IO 1 111: /* Support for prioritization is also available. */ 112: #define _POSIX_PRIORITIZED_IO 200809L 113: 114: /* The LFS support in asynchronous I/O is also available. */ 115: #define _LFS64_ASYNCHRONOUS_IO 1 116: 117: /* The rest of the LFS is also available. */ 118: #define _LFS_LARGEFILE 1 119: #define _LFS64_LARGEFILE 1 120: #define _LFS64_STDIO 1 121: 122: /* POSIX shared memory objects are implemented. */ 123: #define _POSIX_SHARED_MEMORY_OBJECTS 200809L 124: 125: /* CPU-time clocks support needs to be checked at runtime. */ 126: #define _POSIX_CPUTIME 0 127: 128: /* Clock support in threads must be also checked at runtime. */ 129: #define _POSIX_THREAD_CPUTIME 0 130: 131: /* GNU libc provides regular expression handling. */ 132: #define _POSIX_REGEXP 1 133: 134: /* Reader/Writer locks are available. */ 135: #define _POSIX_READER_WRITER_LOCKS 200809L 136: 137: /* We have a POSIX shell. */ 138: #define _POSIX_SHELL 1 139: 140: /* We support the Timeouts option. */ 141: #define _POSIX_TIMEOUTS 200809L 142: 143: /* We support spinlocks. */ 144: #define _POSIX_SPIN_LOCKS 200809L 145: 146: /* The `spawn' function family is supported. */ 147: #define _POSIX_SPAWN 200809L 148: 149: /* We have POSIX timers. */ 150: #define _POSIX_TIMERS 200809L 151: 152: /* The barrier functions are available. */ 153: #define _POSIX_BARRIERS 200809L 154: 155: /* POSIX message queues are available. */ 156: #define _POSIX_MESSAGE_PASSING 200809L 157: 158: /* Thread process-shared synchronization is supported. */ 159: #define _POSIX_THREAD_PROCESS_SHARED 200809L 160: 161: /* The monotonic clock might be available. */ 162: #define _POSIX_MONOTONIC_CLOCK 0 163: 164: /* The clock selection interfaces are available. */ 165: #define _POSIX_CLOCK_SELECTION 200809L 166: 167: /* Advisory information interfaces are available. */ 168: #define _POSIX_ADVISORY_INFO 200809L 169: 170: /* IPv6 support is available. */ 171: #define _POSIX_IPV6 200809L 172: 173: /* Raw socket support is available. */ 174: #define _POSIX_RAW_SOCKETS 200809L 175: 176: /* We have at least one terminal. */ 177: #define _POSIX2_CHAR_TERM 200809L 178: 179: /* Neither process nor thread sporadic server interfaces is available. */ 180: #define _POSIX_SPORADIC_SERVER -1 181: #define _POSIX_THREAD_SPORADIC_SERVER -1 182: 183: /* trace.h is not available. */ 184: #define _POSIX_TRACE -1 185: #define _POSIX_TRACE_EVENT_FILTER -1 186: #define _POSIX_TRACE_INHERIT -1 187: #define _POSIX_TRACE_LOG -1 188: 189: /* Typed memory objects are not available. */ 190: #define _POSIX_TYPED_MEMORY_OBJECTS -1 191: 192: #endif /* bits/posix_opt.h */ 193: