Back to index

glibc  2.9
posix_opt.h
Go to the documentation of this file.
00001 /* Define POSIX options for Linux.
00002    Copyright (C) 1996-2004, 2006, 2008 Free Software Foundation, Inc.
00003    This file is part of the GNU C Library.
00004 
00005    The GNU C Library is free software; you can redistribute it and/or
00006    modify it under the terms of the GNU Lesser General Public License as
00007    published by the Free Software Foundation; either version 2.1 of the
00008    License, or (at your option) any later version.
00009 
00010    The GNU C Library is distributed in the hope that it will be useful,
00011    but WITHOUT ANY WARRANTY; without even the implied warranty of
00012    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013    Lesser General Public License for more details.
00014 
00015    You should have received a copy of the GNU Lesser General Public
00016    License along with the GNU C Library; see the file COPYING.LIB.  If not,
00017    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00018    Boston, MA 02111-1307, USA.  */
00019 
00020 #ifndef       _POSIX_OPT_H
00021 #define       _POSIX_OPT_H  1
00022 
00023 /* Job control is supported.  */
00024 #define       _POSIX_JOB_CONTROL   1
00025 
00026 /* Processes have a saved set-user-ID and a saved set-group-ID.  */
00027 #define       _POSIX_SAVED_IDS     1
00028 
00029 /* Priority scheduling is supported.  */
00030 #define       _POSIX_PRIORITY_SCHEDULING  200112L
00031 
00032 /* Synchronizing file data is supported.  */
00033 #define       _POSIX_SYNCHRONIZED_IO      200112L
00034 
00035 /* The fsync function is present.  */
00036 #define       _POSIX_FSYNC  200112L
00037 
00038 /* Mapping of files to memory is supported.  */
00039 #define       _POSIX_MAPPED_FILES  200112L
00040 
00041 /* Locking of all memory is supported.  */
00042 #define       _POSIX_MEMLOCK       200112L
00043 
00044 /* Locking of ranges of memory is supported.  */
00045 #define       _POSIX_MEMLOCK_RANGE 200112L
00046 
00047 /* Setting of memory protections is supported.  */
00048 #define       _POSIX_MEMORY_PROTECTION    200112L
00049 
00050 /* Some filesystems allow all users to change file ownership.  */
00051 #define       _POSIX_CHOWN_RESTRICTED     0
00052 
00053 /* `c_cc' member of 'struct termios' structure can be disabled by
00054    using the value _POSIX_VDISABLE.  */
00055 #define       _POSIX_VDISABLE      '\0'
00056 
00057 /* Filenames are not silently truncated.  */
00058 #define       _POSIX_NO_TRUNC      1
00059 
00060 /* X/Open realtime support is available.  */
00061 #define _XOPEN_REALTIME     1
00062 
00063 /* X/Open thread realtime support is available.  */
00064 #define _XOPEN_REALTIME_THREADS    1
00065 
00066 /* XPG4.2 shared memory is supported.  */
00067 #define       _XOPEN_SHM    1
00068 
00069 /* Tell we have POSIX threads.  */
00070 #define _POSIX_THREADS      200112L
00071 
00072 /* We have the reentrant functions described in POSIX.  */
00073 #define _POSIX_REENTRANT_FUNCTIONS      1
00074 #define _POSIX_THREAD_SAFE_FUNCTIONS      200112L
00075 
00076 /* We provide priority scheduling for threads.  */
00077 #define _POSIX_THREAD_PRIORITY_SCHEDULING 200112L
00078 
00079 /* We support user-defined stack sizes.  */
00080 #define _POSIX_THREAD_ATTR_STACKSIZE      200112L
00081 
00082 /* We support user-defined stacks.  */
00083 #define _POSIX_THREAD_ATTR_STACKADDR      200112L
00084 
00085 /* We support priority inheritence.  */
00086 #define _POSIX_THREAD_PRIO_INHERIT 200112L
00087 
00088 /* We support priority protection, though only for non-robust
00089    mutexes.  */
00090 #define _POSIX_THREAD_PRIO_PROTECT 200112L
00091 
00092 /* We support POSIX.1b semaphores.  */
00093 #define _POSIX_SEMAPHORES   200112L
00094 
00095 /* Real-time signals are supported.  */
00096 #define _POSIX_REALTIME_SIGNALS    200112L
00097 
00098 /* We support asynchronous I/O.  */
00099 #define _POSIX_ASYNCHRONOUS_IO     200112L
00100 #define _POSIX_ASYNC_IO            1
00101 /* Alternative name for Unix98.  */
00102 #define _LFS_ASYNCHRONOUS_IO       1
00103 /* Support for prioritization is also available.  */
00104 #define _POSIX_PRIORITIZED_IO      200112L
00105 
00106 /* The LFS support in asynchronous I/O is also available.  */
00107 #define _LFS64_ASYNCHRONOUS_IO     1
00108 
00109 /* The rest of the LFS is also available.  */
00110 #define _LFS_LARGEFILE             1
00111 #define _LFS64_LARGEFILE    1
00112 #define _LFS64_STDIO        1
00113 
00114 /* POSIX shared memory objects are implemented.  */
00115 #define _POSIX_SHARED_MEMORY_OBJECTS      200112L
00116 
00117 /* CPU-time clocks support needs to be checked at runtime.  */
00118 #define _POSIX_CPUTIME      0
00119 
00120 /* Clock support in threads must be also checked at runtime.  */
00121 #define _POSIX_THREAD_CPUTIME      0
00122 
00123 /* GNU libc provides regular expression handling.  */
00124 #define _POSIX_REGEXP       1
00125 
00126 /* Reader/Writer locks are available.  */
00127 #define _POSIX_READER_WRITER_LOCKS 200112L
00128 
00129 /* We have a POSIX shell.  */
00130 #define _POSIX_SHELL 1
00131 
00132 /* We support the Timeouts option.  */
00133 #define _POSIX_TIMEOUTS     200112L
00134 
00135 /* We support spinlocks.  */
00136 #define _POSIX_SPIN_LOCKS   200112L
00137 
00138 /* The `spawn' function family is supported.  */
00139 #define _POSIX_SPAWN 200112L
00140 
00141 /* We have POSIX timers.  */
00142 #define _POSIX_TIMERS       200112L
00143 
00144 /* The barrier functions are available.  */
00145 #define _POSIX_BARRIERS     200112L
00146 
00147 /* POSIX message queues are available.  */
00148 #define       _POSIX_MESSAGE_PASSING      200112L
00149 
00150 /* Thread process-shared synchronization is supported.  */
00151 #define _POSIX_THREAD_PROCESS_SHARED      200112L
00152 
00153 /* The monotonic clock might be available.  */
00154 #define _POSIX_MONOTONIC_CLOCK     0
00155 
00156 /* The clock selection interfaces are available.  */
00157 #define _POSIX_CLOCK_SELECTION     200112L
00158 
00159 /* Advisory information interfaces are available.  */
00160 #define _POSIX_ADVISORY_INFO       200112L
00161 
00162 /* IPv6 support is available.  */
00163 #define _POSIX_IPV6  200112L
00164 
00165 /* Raw socket support is available.  */
00166 #define _POSIX_RAW_SOCKETS  200112L
00167 
00168 /* We have at least one terminal.  */
00169 #define _POSIX2_CHAR_TERM   200112L
00170 
00171 /* Neither process nor thread sporadic server interfaces is available.  */
00172 #define _POSIX_SPORADIC_SERVER     -1
00173 #define _POSIX_THREAD_SPORADIC_SERVER     -1
00174 
00175 /* trace.h is not available.  */
00176 #define _POSIX_TRACE -1
00177 #define _POSIX_TRACE_EVENT_FILTER  -1
00178 #define _POSIX_TRACE_INHERIT       -1
00179 #define _POSIX_TRACE_LOG    -1
00180 
00181 /* Typed memory objects are not available.  */
00182 #define _POSIX_TYPED_MEMORY_OBJECTS       -1
00183 
00184 #endif /* posix_opt.h */