Back to index

glibc  2.9
posix_opt.h
Go to the documentation of this file.
00001 /* Define POSIX options for GNU/Hurd.
00002    Copyright (C) 1998,2000,2001,2002,2006 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
00007    License as published by the Free Software Foundation; either
00008    version 2.1 of the 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; if not, write to the Free
00017    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
00018    02111-1307 USA.  */
00019 
00020 #ifndef _UNISTD_H
00021 #error "Never include this file directly; use <unistd.h> instead."
00022 #endif
00023 
00024 #ifndef       _BITS_POSIX_OPT_H
00025 #define       _BITS_POSIX_OPT_H    1
00026 
00027 
00028 /* Job control is supported.  */
00029 #define       _POSIX_JOB_CONTROL   1
00030 
00031 /* Processes have a saved set-user-ID and a saved set-group-ID.  */
00032 #define       _POSIX_SAVED_IDS     1
00033 
00034 /* Synchronizing file data is supported, but msync is missing.  */
00035 #undef _POSIX_SYNCHRONIZED_IO
00036 
00037 /* The fsync function is present.  */
00038 #define       _POSIX_FSYNC  200112L
00039 
00040 /* Mapping of files to memory is supported.  */
00041 #define       _POSIX_MAPPED_FILES  200112L
00042 
00043 /* Locking of all memory could be supported in future.  */
00044 #define       _POSIX_MEMLOCK       0
00045 
00046 /* Locking of ranges of memory is supported.  */
00047 #define       _POSIX_MEMLOCK_RANGE 200112L
00048 
00049 /* Setting of memory protections is supported.  */
00050 #define       _POSIX_MEMORY_PROTECTION    200112L
00051 
00052 /* Elements of the `c_cc' member of `struct termios' structure
00053    can be disabled by using the value _POSIX_VDISABLE.  */
00054 #define _POSIX_VDISABLE                   ((unsigned char) -1)
00055 
00056 
00057 /* Different Hurd filesystems might do these differently.
00058    You must query the particular file with `pathconf' or `fpathconf'.  */
00059 #undef _POSIX_CHOWN_RESTRICTED     /* Only root can change owner of file?  */
00060 #undef _POSIX_NO_TRUNC             /* Overlong file names get error?  */
00061 #undef _POSIX_SYNC_IO              /* File supports O_SYNC et al?  */
00062 
00063 
00064 /* We do not have the POSIX threads interface.  */
00065 #define _POSIX_THREADS      -1
00066 
00067 /* We have the reentrant functions described in POSIX.  */
00068 #define _POSIX_REENTRANT_FUNCTIONS      1
00069 #define _POSIX_THREAD_SAFE_FUNCTIONS      200112L
00070 
00071 /* These are all things that won't be supported when _POSIX_THREADS is not.  */
00072 #define _POSIX_THREAD_PRIORITY_SCHEDULING -1
00073 #define _POSIX_THREAD_ATTR_STACKSIZE             -1
00074 #define _POSIX_THREAD_ATTR_STACKADDR             -1
00075 #define _POSIX_SEMAPHORES                 -1
00076 
00077 /* Real-time signals are not yet supported.  */
00078 #define _POSIX_REALTIME_SIGNALS    -1
00079 
00080 /* Asynchronous I/O might supported with the existing ABI.  */
00081 #define _POSIX_ASYNCHRONOUS_IO     0
00082 /* Alternative name for Unix98.  */
00083 #define _LFS_ASYNCHRONOUS_IO       _POSIX_ASYNCHRONOUS_IO
00084 
00085 /* The LFS support in asynchronous I/O is also available.  */
00086 #define _LFS64_ASYNCHRONOUS_IO     _POSIX_ASYNCHRONOUS_IO
00087 
00088 /* The rest of the LFS is also available.  */
00089 #define _LFS_LARGEFILE             1
00090 #define _LFS64_LARGEFILE    1
00091 #define _LFS64_STDIO        1
00092 
00093 /* POSIX.4 shared memory objects are supported (using regular files).  */
00094 #define _POSIX_SHARED_MEMORY_OBJECTS      _POSIX_MAPPED_FILES
00095 
00096 /* CPU-time clocks support needs to be checked at runtime.  */
00097 #define _POSIX_CPUTIME      0
00098 
00099 /* Clock support in threads must be also checked at runtime.  */
00100 #define _POSIX_THREAD_CPUTIME      0
00101 
00102 /* GNU libc provides regular expression handling.  */
00103 #define _POSIX_REGEXP       1
00104 
00105 /* Reader/Writer locks are not available.  */
00106 #define _POSIX_READER_WRITER_LOCKS -1
00107 
00108 /* We have a POSIX shell.  */
00109 #define _POSIX_SHELL 1
00110 
00111 /* We cannot support the Timeouts option without _POSIX_THREADS.  */
00112 #define _POSIX_TIMEOUTS     -1
00113 
00114 /* The `spawn' function family is supported.  */
00115 #define _POSIX_SPAWN 200112L
00116 
00117 /* We do not have POSIX timers, but could in future without ABI change.  */
00118 #define _POSIX_TIMERS       0
00119 
00120 /* The barrier functions are not available.  */
00121 #define _POSIX_BARRIERS     -1
00122 
00123 /* POSIX message queues could be available in future.  */
00124 #define       _POSIX_MESSAGE_PASSING      0
00125 
00126 /* Thread process-shared synchronization is not supported.  */
00127 #define _POSIX_THREAD_PROCESS_SHARED      -1
00128 
00129 /* The monotonic clock might be available.  */
00130 #define _POSIX_MONOTONIC_CLOCK     0
00131 
00132 /* The clock selection interfaces are available.  */
00133 #define _POSIX_CLOCK_SELECTION     200112L
00134 
00135 /* Advisory information interfaces could be available in future.  */
00136 #define _POSIX_ADVISORY_INFO       0
00137 
00138 /* IPv6 support is available.  */
00139 #define _POSIX_IPV6  200112L
00140 
00141 /* Raw socket support is available.  */
00142 #define _POSIX_RAW_SOCKETS  200112L
00143 
00144 /* We have at least one terminal.  */
00145 #define _POSIX2_CHAR_TERM   200112L
00146 
00147 /* Neither process nor thread sporadic server interfaces is available.  */
00148 #define _POSIX_SPORADIC_SERVER     -1
00149 #define _POSIX_THREAD_SPORADIC_SERVER     -1
00150 
00151 /* trace.h is not available.  */
00152 #define _POSIX_TRACE -1
00153 #define _POSIX_TRACE_EVENT_FILTER  -1
00154 #define _POSIX_TRACE_INHERIT       -1
00155 #define _POSIX_TRACE_LOG    -1
00156 
00157 /* Typed memory objects are not available.  */
00158 #define _POSIX_TYPED_MEMORY_OBJECTS       -1
00159 
00160 /* No support for priority inheritance or protection so far.  */
00161 #define _POSIX_THREAD_PRIO_INHERIT -1
00162 #define _POSIX_THREAD_PRIO_PROTECT -1
00163 
00164 
00165 #endif /* bits/posix_opt.h */