1 /* Define POSIX options for Linux. 2 Copyright (C) 1996,1997,1998,1999,2000,2001 Free Software Foundation, Inc. 3 This file is part of the GNU C Library. 4 5 The GNU C Library is free software; you can redistribute it and/or 6 modify it under the terms of the GNU Library General Public License as 7 published by the Free Software Foundation; either version 2 of the 8 License, or (at your option) any later version. 9 10 The GNU C Library is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 Library General Public License for more details. 14 15 You should have received a copy of the GNU Library General Public 16 License along with the GNU C Library; see the file COPYING.LIB. If not, 17 write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 18 Boston, MA 02111-1307, USA. */ 19 20 #ifndef _POSIX_OPT_H 21 #define _POSIX_OPT_H 1 22 23 /* Job control is supported. */ 24 #define _POSIX_JOB_CONTROL 1 25 26 /* Processes have a saved set-user-ID and a saved set-group-ID. */ 27 #define _POSIX_SAVED_IDS 1 28 29 /* Priority scheduling is supported. */ 30 #define _POSIX_PRIORITY_SCHEDULING 1 31 32 /* Synchronizing file data is supported. */ 33 #define _POSIX_SYNCHRONIZED_IO 1 34 35 /* The fsync function is present. */ 36 #define _POSIX_FSYNC 1 37 38 /* Mapping of files to memory is supported. */ 39 #define _POSIX_MAPPED_FILES 1 40 41 /* Locking of all memory is supported. */ 42 #define _POSIX_MEMLOCK 1 43 44 /* Locking of ranges of memory is supported. */ 45 #define _POSIX_MEMLOCK_RANGE 1 46 47 /* Setting of memory protections is supported. */ 48 #define _POSIX_MEMORY_PROTECTION 1 49 50 /* Implementation supports `poll' function. */ 51 #define _POSIX_POLL 1 52 53 /* Implementation supports `select' and `pselect' functions. */ 54 #define _POSIX_SELECT 1 55 56 /* Only root can change owner of file. */ 57 #define _POSIX_CHOWN_RESTRICTED 1 58 59 /* `c_cc' member of 'struct termios' structure can be disabled by 60 using the value _POSIX_VDISABLE. */ 61 #define _POSIX_VDISABLE '\0' 62 63 /* Filenames are not silently truncated. */ 64 #define _POSIX_NO_TRUNC 1 65 66 /* X/Open realtime support is available. */ 67 #define _XOPEN_REALTIME 1 68 69 /* X/Open realtime thread support is available. */ 70 #define _XOPEN_REALTIME_THREADS 1 71 72 /* XPG4.2 shared memory is supported. */ 73 #define _XOPEN_SHM 1 74 75 /* Tell we have POSIX threads. */ 76 #define _POSIX_THREADS 1 77 78 /* We have the reentrant functions described in POSIX. */ 79 #define _POSIX_REENTRANT_FUNCTIONS 1 80 #define _POSIX_THREAD_SAFE_FUNCTIONS 1 81 82 /* We provide priority scheduling for threads. */ 83 #define _POSIX_THREAD_PRIORITY_SCHEDULING 1 84 85 /* We support user-defined stack sizes. */ 86 #define _POSIX_THREAD_ATTR_STACKSIZE 1 87 88 /* We support user-defined stacks. */ 89 #define _POSIX_THREAD_ATTR_STACKADDR 1 90 91 /* We support POSIX.1b semaphores, but only the non-shared form for now. */ 92 #define _POSIX_SEMAPHORES 1 93 94 /* Real-time signals are supported. */ 95 #define _POSIX_REALTIME_SIGNALS 1 96 97 /* We support asynchronous I/O. */ 98 #define _POSIX_ASYNCHRONOUS_IO 1 99 #define _POSIX_ASYNC_IO 1 100 /* Alternative name for Unix98. */ 101 #define _LFS_ASYNCHRONOUS_IO 1 102 103 /* The LFS support in asynchronous I/O is also available. */ 104 #define _LFS64_ASYNCHRONOUS_IO 1 105 106 /* The rest of the LFS is also available. */ 107 #define _LFS_LARGEFILE 1 108 #define _LFS64_LARGEFILE 1 109 #define _LFS64_STDIO 1 110 111 /* POSIX shared memory objects are implemented. */ 112 #define _POSIX_SHARED_MEMORY_OBJECTS 1 113 114 /* GNU libc provides regular expression handling. */ 115 #define _POSIX_REGEXP 1 116 117 /* Reader/Writer locks are available. */ 118 #define _POSIX_READER_WRITER_LOCKS 200912L 119 120 /* We have a POSIX shell. */ 121 #define _POSIX_SHELL 1 122 123 /* We support the Timeouts option. */ 124 #define _POSIX_TIMEOUTS 200912L 125 126 /* We support spinlocks. */ 127 #define _POSIX_SPIN_LOCKS 200912L 128 129 /* The `spawn' function family is supported. */ 130 #define _POSIX_SPAWN 200912L 131 132 /* We have POSIX timers. */ 133 #define _POSIX_TIMERS 1 134 135 /* The barrier functions are available. */ 136 #define _POSIX_BARRIERS 200912L 137 138 /* POSIX message queues are not yet supported. */ 139 #undef _POSIX_MESSAGE_PASSING 140 141 #endif /* posix_opt.h */ 142