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-2001, 2002, 2003, 2004 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 /* Only root can change owner of file.  */
00051 #define       _POSIX_CHOWN_RESTRICTED     1
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 realtime thread 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 POSIX.1b semaphores, but only the non-shared form for now.  */
00086 #define _POSIX_SEMAPHORES   200112L
00087 
00088 /* Real-time signals are supported.  */
00089 #define _POSIX_REALTIME_SIGNALS    200112L
00090 
00091 /* We support asynchronous I/O.  */
00092 #define _POSIX_ASYNCHRONOUS_IO     200112L
00093 #define _POSIX_ASYNC_IO            1
00094 /* Alternative name for Unix98.  */
00095 #define _LFS_ASYNCHRONOUS_IO       1
00096 /* Support for prioritization is also available.  */
00097 #define _POSIX_PRIORITIZED_IO      200112L
00098 
00099 /* The LFS support in asynchronous I/O is also available.  */
00100 #define _LFS64_ASYNCHRONOUS_IO     1
00101 
00102 /* The rest of the LFS is also available.  */
00103 #define _LFS_LARGEFILE             1
00104 #define _LFS64_LARGEFILE    1
00105 #define _LFS64_STDIO        1
00106 
00107 /* POSIX shared memory objects are implemented.  */
00108 #define _POSIX_SHARED_MEMORY_OBJECTS      200112L
00109 
00110 /* CPU-time clocks support needs to be checked at runtime.  */
00111 #define _POSIX_CPUTIME      0
00112 
00113 /* Clock support in threads must be also checked at runtime.  */
00114 #define _POSIX_THREAD_CPUTIME      0
00115 
00116 /* GNU libc provides regular expression handling.  */
00117 #define _POSIX_REGEXP       1
00118 
00119 /* Reader/Writer locks are available.  */
00120 #define _POSIX_READER_WRITER_LOCKS 200112L
00121 
00122 /* We have a POSIX shell.  */
00123 #define _POSIX_SHELL 1
00124 
00125 /* We support the Timeouts option.  */
00126 #define _POSIX_TIMEOUTS     200112L
00127 
00128 /* We support spinlocks.  */
00129 #define _POSIX_SPIN_LOCKS   200112L
00130 
00131 /* The `spawn' function family is supported.  */
00132 #define _POSIX_SPAWN 200112L
00133 
00134 /* We have POSIX timers.  */
00135 #define _POSIX_TIMERS       200112L
00136 
00137 /* The barrier functions are available.  */
00138 #define _POSIX_BARRIERS     200112L
00139 
00140 /* POSIX message queues are available.  */
00141 #define       _POSIX_MESSAGE_PASSING      200112L
00142 
00143 /* Thread process-shared synchronization is not supported.  */
00144 #define _POSIX_THREAD_PROCESS_SHARED      -1
00145 
00146 /* The monotonic clock might be available.  */
00147 #define _POSIX_MONOTONIC_CLOCK     0
00148 
00149 /* The clock selection interfaces are not available.  */
00150 #define _POSIX_CLOCK_SELECTION     -1
00151 
00152 /* Advisory information interfaces are available.  */
00153 #define _POSIX_ADVISORY_INFO       200112L
00154 
00155 /* IPv6 support is available.  */
00156 #define _POSIX_IPV6  200112L
00157 
00158 /* Raw socket support is available.  */
00159 #define _POSIX_RAW_SOCKETS  200112L
00160 
00161 /* We have at least one terminal.  */
00162 #define _POSIX2_CHAR_TERM   200112L
00163 
00164 /* Neither process nor thread sporadic server interfaces is available.  */
00165 #define _POSIX_SPORADIC_SERVER     -1
00166 #define _POSIX_THREAD_SPORADIC_SERVER     -1
00167 
00168 /* trace.h is not available.  */
00169 #define _POSIX_TRACE -1
00170 #define _POSIX_TRACE_EVENT_FILTER  -1
00171 #define _POSIX_TRACE_INHERIT       -1
00172 #define _POSIX_TRACE_LOG    -1
00173 
00174 /* Typed memory objects are not available.  */
00175 #define _POSIX_TYPED_MEMORY_OBJECTS       -1
00176 
00177 /* No support for priority inheritance or protection.  */
00178 #define _POSIX_THREAD_PRIO_INHERIT -1
00179 #define _POSIX_THREAD_PRIO_PROTECT -1
00180 
00181 #endif /* posix_opt.h */