1 /* Copyright (C) 1991-2015 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
4 The GNU C Library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) any later version.
9 The GNU C Library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Lesser General Public License for more details.
14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
28 #include <sys/param.h>
30 #include <sys/sysinfo.h>
31 #include <sys/types.h>
34 #define NEED_SPEC_ARRAY 0
35 #include <posix-conf-vars.h>
37 #define NEED_CHECK_SPEC \
38 (!defined _XBS5_ILP32_OFF32 || !defined _XBS5_ILP32_OFFBIG \
39 || !defined _XBS5_LP64_OFF64 || !defined _XBS5_LPBIG_OFFBIG \
40 || !defined _POSIX_V6_ILP32_OFF32 || !defined _POSIX_V6_ILP32_OFFBIG \
41 || !defined _POSIX_V6_LP64_OFF64 || !defined _POSIX_V6_LPBIG_OFFBIG \
42 || !defined _POSIX_V7_ILP32_OFF32 || !defined _POSIX_V7_ILP32_OFFBIG \
43 || !defined _POSIX_V7_LP64_OFF64 || !defined _POSIX_V7_LPBIG_OFFBIG)
45 static long int __sysconf_check_spec (const char *spec
);
49 /* Get the value of the system variable NAME. */
56 /* Also add obsolete or unnecessarily added constants here. */
57 case _SC_EQUIV_CLASS_MAX
:
73 return __get_child_max ();
77 return __getclktck ();
87 return __getdtablesize ();
97 return MAX (__tzname_max (), _POSIX_TZNAME_MAX
);
100 #if CONF_IS_DEFINED_SET (_POSIX_JOB_CONTROL)
101 return _POSIX_JOB_CONTROL
;
107 #if CONF_IS_DEFINED_SET (_POSIX_SAVED_IDS)
113 case _SC_REALTIME_SIGNALS
:
114 #if CONF_IS_DEFINED_SET (_POSIX_REALTIME_SIGNALS)
115 return _POSIX_REALTIME_SIGNALS
;
120 case _SC_PRIORITY_SCHEDULING
:
121 #if CONF_IS_DEFINED_SET (_POSIX_PRIORITY_SCHEDULING)
122 return _POSIX_PRIORITY_SCHEDULING
;
128 #if CONF_IS_DEFINED_SET (_POSIX_TIMERS)
129 return _POSIX_TIMERS
;
134 case _SC_ASYNCHRONOUS_IO
:
135 #if CONF_IS_DEFINED_SET (_POSIX_ASYNCHRONOUS_IO)
136 return _POSIX_ASYNCHRONOUS_IO
;
141 case _SC_PRIORITIZED_IO
:
142 #if CONF_IS_DEFINED_SET (_POSIX_PRIORITIZED_IO)
143 return _POSIX_PRIORITIZED_IO
;
148 case _SC_SYNCHRONIZED_IO
:
149 #if CONF_IS_DEFINED_SET (_POSIX_SYNCHRONIZED_IO)
150 return _POSIX_SYNCHRONIZED_IO
;
156 #if CONF_IS_DEFINED_SET (_POSIX_FSYNC)
162 case _SC_MAPPED_FILES
:
163 #if CONF_IS_DEFINED_SET (_POSIX_MAPPED_FILES)
164 return _POSIX_MAPPED_FILES
;
170 #if CONF_IS_DEFINED_SET (_POSIX_MEMLOCK)
171 return _POSIX_MEMLOCK
;
176 case _SC_MEMLOCK_RANGE
:
177 #if CONF_IS_DEFINED_SET (_POSIX_MEMLOCK_RANGE)
178 return _POSIX_MEMLOCK_RANGE
;
183 case _SC_MEMORY_PROTECTION
:
184 #if CONF_IS_DEFINED_SET (_POSIX_MEMORY_PROTECTION)
185 return _POSIX_MEMORY_PROTECTION
;
190 case _SC_MESSAGE_PASSING
:
191 #if CONF_IS_DEFINED_SET (_POSIX_MESSAGE_PASSING)
192 return _POSIX_MESSAGE_PASSING
;
198 #if CONF_IS_DEFINED_SET (_POSIX_SEMAPHORES)
199 return _POSIX_SEMAPHORES
;
204 case _SC_SHARED_MEMORY_OBJECTS
:
205 #if CONF_IS_DEFINED_SET (_POSIX_SHARED_MEMORY_OBJECTS)
206 return _POSIX_SHARED_MEMORY_OBJECTS
;
212 return _POSIX_VERSION
;
215 return __getpagesize ();
217 case _SC_AIO_LISTIO_MAX
:
218 #ifdef AIO_LISTIO_MAX
219 return AIO_LISTIO_MAX
;
231 case _SC_AIO_PRIO_DELTA_MAX
:
232 #ifdef AIO_PRIO_DELTA_MAX
233 return AIO_PRIO_DELTA_MAX
;
238 case _SC_DELAYTIMER_MAX
:
239 #ifdef DELAYTIMER_MAX
240 return DELAYTIMER_MAX
;
245 case _SC_MQ_OPEN_MAX
:
252 case _SC_MQ_PRIO_MAX
:
266 case _SC_SEM_NSEMS_MAX
:
268 return SEM_NSEMS_MAX
;
273 case _SC_SEM_VALUE_MAX
:
275 return SEM_VALUE_MAX
;
280 case _SC_SIGQUEUE_MAX
:
294 case _SC_BC_BASE_MAX
:
308 case _SC_BC_SCALE_MAX
:
315 case _SC_BC_STRING_MAX
:
317 return BC_STRING_MAX
;
322 case _SC_COLL_WEIGHTS_MAX
:
323 #ifdef COLL_WEIGHTS_MAX
324 return COLL_WEIGHTS_MAX
;
329 case _SC_EXPR_NEST_MAX
:
331 return EXPR_NEST_MAX
;
350 case _SC_CHARCLASS_NAME_MAX
:
351 #ifdef CHARCLASS_NAME_MAX
352 return CHARCLASS_NAME_MAX
;
358 #if CONF_IS_DEFINED_SET (_POSIX_PII)
365 #if CONF_IS_DEFINED_SET (_POSIX_PII_XTI)
372 #if CONF_IS_DEFINED_SET (_POSIX_PII_SOCKET)
378 case _SC_PII_INTERNET
:
379 #if CONF_IS_DEFINED_SET (_POSIX_PII_INTERNET)
386 #if CONF_IS_DEFINED_SET (_POSIX_PII_OSI)
393 #if CONF_IS_DEFINED_SET (_POSIX_POLL)
400 #if CONF_IS_DEFINED_SET (_POSIX_SELECT)
406 /* The same as _SC_IOV_MAX. */
414 case _SC_PII_INTERNET_STREAM
:
415 #if CONF_IS_DEFINED_SET (_POSIX_PII_INTERNET_STREAM)
421 case _SC_PII_INTERNET_DGRAM
:
422 #if CONF_IS_DEFINED_SET (_POSIX_PII_INTERNET_DGRAM)
428 case _SC_PII_OSI_COTS
:
429 #if CONF_IS_DEFINED_SET (_POSIX_PII_OSI_COTS)
435 case _SC_PII_OSI_CLTS
:
436 #if CONF_IS_DEFINED_SET (_POSIX_PII_OSI_CLTS)
443 #if CONF_IS_DEFINED_SET (_POSIX_PII_OSI_M)
457 return _POSIX2_VERSION
;
460 #ifdef _POSIX2_C_BIND
461 return _POSIX2_C_BIND
;
468 return _POSIX2_C_DEV
;
473 case _SC_2_C_VERSION
:
474 #ifdef _POSIX2_C_VERSION
475 return _POSIX2_C_VERSION
;
481 #ifdef _POSIX2_FORT_DEV
482 return _POSIX2_FORT_DEV
;
488 #ifdef _POSIX2_FORT_RUN
489 return _POSIX2_FORT_RUN
;
494 case _SC_2_LOCALEDEF
:
495 #ifdef _POSIX2_LOCALEDEF
496 return _POSIX2_LOCALEDEF
;
502 #ifdef _POSIX2_SW_DEV
503 return _POSIX2_SW_DEV
;
508 case _SC_2_CHAR_TERM
:
509 #ifdef _POSIX2_CHAR_TERM
510 return _POSIX2_CHAR_TERM
;
522 /* POSIX 1003.1c (POSIX Threads). */
524 #if CONF_IS_DEFINED_SET (_POSIX_THREADS)
525 return _POSIX_THREADS
;
530 case _SC_THREAD_SAFE_FUNCTIONS
:
531 #if CONF_IS_DEFINED_SET (_POSIX_THREAD_SAFE_FUNCTIONS)
532 return _POSIX_THREAD_SAFE_FUNCTIONS
;
537 case _SC_GETGR_R_SIZE_MAX
:
538 return NSS_BUFLEN_GROUP
;
540 case _SC_GETPW_R_SIZE_MAX
:
541 return NSS_BUFLEN_PASSWD
;
543 case _SC_LOGIN_NAME_MAX
:
544 #ifdef LOGIN_NAME_MAX
545 return LOGIN_NAME_MAX
;
550 case _SC_TTY_NAME_MAX
:
557 case _SC_THREAD_DESTRUCTOR_ITERATIONS
:
558 #if CONF_IS_DEFINED_SET (_POSIX_THREAD_DESTRUCTOR_ITERATIONS)
559 return _POSIX_THREAD_DESTRUCTOR_ITERATIONS
;
564 case _SC_THREAD_KEYS_MAX
:
565 #ifdef PTHREAD_KEYS_MAX
566 return PTHREAD_KEYS_MAX
;
571 case _SC_THREAD_STACK_MIN
:
572 #ifdef PTHREAD_STACK_MIN
573 return PTHREAD_STACK_MIN
;
578 case _SC_THREAD_THREADS_MAX
:
579 #ifdef PTHREAD_THREADS_MAX
580 return PTHREAD_THREADS_MAX
;
585 case _SC_THREAD_ATTR_STACKADDR
:
586 #if CONF_IS_DEFINED_SET (_POSIX_THREAD_ATTR_STACKADDR)
587 return _POSIX_THREAD_ATTR_STACKADDR
;
592 case _SC_THREAD_ATTR_STACKSIZE
:
593 #if CONF_IS_DEFINED_SET (_POSIX_THREAD_ATTR_STACKSIZE)
594 return _POSIX_THREAD_ATTR_STACKSIZE
;
599 case _SC_THREAD_PRIORITY_SCHEDULING
:
600 #if CONF_IS_DEFINED_SET (_POSIX_THREAD_PRIORITY_SCHEDULING)
601 return _POSIX_THREAD_PRIORITY_SCHEDULING
;
606 case _SC_THREAD_PRIO_INHERIT
:
607 #if CONF_IS_DEFINED_SET (_POSIX_THREAD_PRIO_INHERIT)
608 return _POSIX_THREAD_PRIO_INHERIT
;
613 case _SC_THREAD_PRIO_PROTECT
:
614 #if CONF_IS_DEFINED_SET (_POSIX_THREAD_PRIO_PROTECT)
615 return _POSIX_THREAD_PRIO_PROTECT
;
620 case _SC_THREAD_PROCESS_SHARED
:
621 #if CONF_IS_DEFINED_SET (_POSIX_THREAD_PROCESS_SHARED)
622 return _POSIX_THREAD_PROCESS_SHARED
;
627 case _SC_NPROCESSORS_CONF
:
628 return __get_nprocs_conf ();
630 case _SC_NPROCESSORS_ONLN
:
631 return __get_nprocs ();
634 return __get_phys_pages ();
636 case _SC_AVPHYS_PAGES
:
637 return __get_avphys_pages ();
640 /* We have no limit since we use lists. */
644 /* We have no limit but since the return value might be used to
645 allocate a buffer we restrict the value. */
648 case _SC_XOPEN_VERSION
:
649 return _XOPEN_VERSION
;
651 case _SC_XOPEN_XCU_VERSION
:
652 return _XOPEN_XCU_VERSION
;
657 case _SC_XOPEN_CRYPT
:
664 case _SC_XOPEN_ENH_I18N
:
665 #ifdef _XOPEN_ENH_I18N
666 return _XOPEN_ENH_I18N
;
715 return sizeof (long int) * CHAR_BIT
;
718 return sizeof (int) * CHAR_BIT
;
727 return _POSIX_SSIZE_MAX
;
795 #define START_ENV_GROUP(VERSION) \
798 #define END_ENV_GROUP(VERSION) \
801 #define KNOWN_ABSENT_ENVIRONMENT(SC_PREFIX, ENV_PREFIX, SUFFIX) \
802 case _SC_##SC_PREFIX##_##SUFFIX: \
803 return _##ENV_PREFIX##_##SUFFIX;
805 #define KNOWN_PRESENT_ENVIRONMENT(SC_PREFIX, ENV_PREFIX, SUFFIX) \
806 case _SC_##SC_PREFIX##_##SUFFIX: \
807 return _##ENV_PREFIX##_##SUFFIX;
809 #define UNKNOWN_ENVIRONMENT(SC_PREFIX, ENV_PREFIX, SUFFIX) \
810 case _SC_##SC_PREFIX##_##SUFFIX: \
811 return __sysconf_check_spec (#SUFFIX);
813 #include <posix/posix-envs.def>
815 #undef START_ENV_GROUP
817 #undef KNOWN_ABSENT_ENVIRONMENT
818 #undef KNOWN_PRESENT_ENVIRONMENT
819 #undef UNKNOWN_ENVIRONMENT
821 case _SC_XOPEN_LEGACY
:
822 return _XOPEN_LEGACY
;
824 case _SC_XOPEN_REALTIME
:
825 #ifdef _XOPEN_REALTIME
826 return _XOPEN_REALTIME
;
830 case _SC_XOPEN_REALTIME_THREADS
:
831 #ifdef _XOPEN_REALTIME_THREADS
832 return _XOPEN_REALTIME_THREADS
;
837 case _SC_ADVISORY_INFO
:
838 #if CONF_IS_DEFINED_SET (_POSIX_ADVISORY_INFO)
839 return _POSIX_ADVISORY_INFO
;
845 #if CONF_IS_DEFINED_SET (_POSIX_BARRIERS)
846 return _POSIX_BARRIERS
;
852 #if CONF_IS_DEFINED_SET (_POSIX_BASE)
857 case _SC_C_LANG_SUPPORT
:
858 #if CONF_IS_DEFINED_SET (_POSIX_C_LANG_SUPPORT)
859 return _POSIX_C_LANG_SUPPORT
;
863 case _SC_C_LANG_SUPPORT_R
:
864 #if CONF_IS_DEFINED_SET (_POSIX_C_LANG_SUPPORT_R)
865 return _POSIX_C_LANG_SUPPORT_R
;
870 case _SC_CLOCK_SELECTION
:
871 #if CONF_IS_DEFINED_SET (_POSIX_CLOCK_SELECTION)
872 return _POSIX_CLOCK_SELECTION
;
878 #if CONF_IS_DEFINED_SET (_POSIX_CPUTIME)
879 return _POSIX_CPUTIME
;
885 #if CONF_IS_DEFINED_SET (_POSIX_DEVICE_IO)
886 return _POSIX_DEVICE_IO
;
890 case _SC_DEVICE_SPECIFIC
:
891 #if CONF_IS_DEFINED_SET (_POSIX_DEVICE_SPECIFIC)
892 return _POSIX_DEVICE_SPECIFIC
;
896 case _SC_DEVICE_SPECIFIC_R
:
897 #if CONF_IS_DEFINED_SET (_POSIX_DEVICE_SPECIFIC_R)
898 return _POSIX_DEVICE_SPECIFIC_R
;
904 #if CONF_IS_DEFINED_SET (_POSIX_FD_MGMT)
905 return _POSIX_FD_MGMT
;
911 #if CONF_IS_DEFINED_SET (_POSIX_FIFO)
917 #if CONF_IS_DEFINED_SET (_POSIX_PIPE)
923 case _SC_FILE_ATTRIBUTES
:
924 #if CONF_IS_DEFINED_SET (_POSIX_FILE_ATTRIBUTES)
925 return _POSIX_FILE_ATTRIBUTES
;
929 case _SC_FILE_LOCKING
:
930 #if CONF_IS_DEFINED_SET (_POSIX_FILE_LOCKING)
931 return _POSIX_FILE_LOCKING
;
935 case _SC_FILE_SYSTEM
:
936 #if CONF_IS_DEFINED_SET (_POSIX_FILE_SYSTEM)
937 return _POSIX_FILE_SYSTEM
;
942 case _SC_MONOTONIC_CLOCK
:
943 #if CONF_IS_DEFINED_SET (_POSIX_MONOTONIC_CLOCK)
944 return _POSIX_MONOTONIC_CLOCK
;
949 case _SC_MULTI_PROCESS
:
950 #if CONF_IS_DEFINED_SET (_POSIX_MULTI_PROCESS)
951 return _POSIX_MULTI_PROCESS
;
955 case _SC_SINGLE_PROCESS
:
956 #if CONF_IS_DEFINED_SET (_POSIX_SINGLE_PROCESS)
957 return _POSIX_SINGLE_PROCESS
;
963 #if CONF_IS_DEFINED_SET (_POSIX_NETWORKING)
964 return _POSIX_NETWORKING
;
969 case _SC_READER_WRITER_LOCKS
:
970 #if CONF_IS_DEFINED_SET (_POSIX_READER_WRITER_LOCKS)
971 return _POSIX_READER_WRITER_LOCKS
;
976 #if CONF_IS_DEFINED_SET (_POSIX_SPIN_LOCKS)
977 return _POSIX_SPIN_LOCKS
;
983 #if CONF_IS_DEFINED_SET (_POSIX_REGEXP)
984 return _POSIX_REGEXP
;
988 /* _REGEX_VERSION has been removed with IEEE Std 1003.1-2001/Cor 2-2004,
989 item XSH/TC2/D6/137. */
990 case _SC_REGEX_VERSION
:
994 #if CONF_IS_DEFINED_SET (_POSIX_SHELL)
1001 #if CONF_IS_DEFINED (_POSIX_SIGNALS)
1002 return _POSIX_SIGNALS
;
1008 #if CONF_IS_DEFINED_SET (_POSIX_SPAWN)
1009 return _POSIX_SPAWN
;
1014 case _SC_SPORADIC_SERVER
:
1015 #if CONF_IS_DEFINED_SET (_POSIX_SPORADIC_SERVER)
1016 return _POSIX_SPORADIC_SERVER
;
1020 case _SC_THREAD_SPORADIC_SERVER
:
1021 #if CONF_IS_DEFINED_SET (_POSIX_THREAD_SPORADIC_SERVER)
1022 return _POSIX_THREAD_SPORADIC_SERVER
;
1027 case _SC_SYSTEM_DATABASE
:
1028 #if CONF_IS_DEFINED_SET (_POSIX_SYSTEM_DATABASE)
1029 return _POSIX_SYSTEM_DATABASE
;
1033 case _SC_SYSTEM_DATABASE_R
:
1034 #if CONF_IS_DEFINED_SET (_POSIX_SYSTEM_DATABASE_R)
1035 return _POSIX_SYSTEM_DATABASE_R
;
1040 case _SC_THREAD_CPUTIME
:
1041 #if CONF_IS_DEFINED_SET (_POSIX_THREAD_CPUTIME)
1042 return _POSIX_THREAD_CPUTIME
;
1048 #if CONF_IS_DEFINED_SET (_POSIX_TIMEOUTS)
1049 return _POSIX_TIMEOUTS
;
1054 case _SC_TYPED_MEMORY_OBJECTS
:
1055 #if CONF_IS_DEFINED_SET (_POSIX_TYPED_MEMORY_OBJECTS)
1056 return _POSIX_TYPED_MEMORY_OBJECTS
;
1061 case _SC_USER_GROUPS
:
1062 #if CONF_IS_DEFINED_SET (_POSIX_USER_GROUPS)
1063 return _POSIX_USER_GROUPS
;
1067 case _SC_USER_GROUPS_R
:
1068 #if CONF_IS_DEFINED_SET (_POSIX_USER_GROUPS_R)
1069 return _POSIX_USER_GROUPS_R
;
1080 case _SC_2_PBS_ACCOUNTING
:
1081 #ifdef _POSIX2_PBS_ACCOUNTING
1082 return _POSIX2_PBS_ACCOUNTING
;
1086 case _SC_2_PBS_CHECKPOINT
:
1087 #ifdef _POSIX2_PBS_CHECKPOINT
1088 return _POSIX2_PBS_CHECKPOINT
;
1092 case _SC_2_PBS_LOCATE
:
1093 #ifdef _POSIX2_PBS_LOCATE
1094 return _POSIX2_PBS_LOCATE
;
1098 case _SC_2_PBS_MESSAGE
:
1099 #ifdef _POSIX2_PBS_MESSAGE
1100 return _POSIX2_PBS_MESSAGE
;
1104 case _SC_2_PBS_TRACK
:
1105 #ifdef _POSIX2_PBS_TRACK
1106 return _POSIX2_PBS_TRACK
;
1111 case _SC_SYMLOOP_MAX
:
1119 #ifdef _XOPEN_STREAMS
1120 return _XOPEN_STREAMS
;
1125 case _SC_HOST_NAME_MAX
:
1126 #ifdef HOST_NAME_MAX
1127 return HOST_NAME_MAX
;
1133 #if CONF_IS_DEFINED_SET (_POSIX_TRACE)
1134 return _POSIX_TRACE
;
1138 case _SC_TRACE_EVENT_FILTER
:
1139 #if CONF_IS_DEFINED_SET (_POSIX_TRACE_EVENT_FILTER)
1140 return _POSIX_TRACE_EVENT_FILTER
;
1144 case _SC_TRACE_INHERIT
:
1145 #if CONF_IS_DEFINED_SET (_POSIX_TRACE_INHERIT)
1146 return _POSIX_TRACE_INHERIT
;
1151 #if CONF_IS_DEFINED_SET (_POSIX_TRACE_LOG)
1152 return _POSIX_TRACE_LOG
;
1157 case _SC_TRACE_EVENT_NAME_MAX
:
1158 case _SC_TRACE_NAME_MAX
:
1159 case _SC_TRACE_SYS_MAX
:
1160 case _SC_TRACE_USER_EVENT_MAX
:
1161 /* No support for tracing. */
1163 case _SC_XOPEN_STREAMS
:
1164 /* No support for STREAMS. */
1167 case _SC_LEVEL1_ICACHE_SIZE
:
1168 case _SC_LEVEL1_ICACHE_ASSOC
:
1169 case _SC_LEVEL1_ICACHE_LINESIZE
:
1170 case _SC_LEVEL1_DCACHE_SIZE
:
1171 case _SC_LEVEL1_DCACHE_ASSOC
:
1172 case _SC_LEVEL1_DCACHE_LINESIZE
:
1173 case _SC_LEVEL2_CACHE_SIZE
:
1174 case _SC_LEVEL2_CACHE_ASSOC
:
1175 case _SC_LEVEL2_CACHE_LINESIZE
:
1176 case _SC_LEVEL3_CACHE_SIZE
:
1177 case _SC_LEVEL3_CACHE_ASSOC
:
1178 case _SC_LEVEL3_CACHE_LINESIZE
:
1179 case _SC_LEVEL4_CACHE_SIZE
:
1180 case _SC_LEVEL4_CACHE_ASSOC
:
1181 case _SC_LEVEL4_CACHE_LINESIZE
:
1182 /* In general we cannot determine these values. Therefore we
1183 return zero which indicates that no information is
1188 #if CONF_IS_DEFINED_SET (_POSIX_IPV6)
1194 case _SC_RAW_SOCKETS
:
1195 #if CONF_IS_DEFINED_SET (_POSIX_RAW_SOCKETS)
1196 return _POSIX_RAW_SOCKETS
;
1204 weak_alias (__sysconf
, sysconf
)
1205 libc_hidden_def (__sysconf
)
1209 __sysconf_check_spec (const char *spec
)
1211 int save_errno
= errno
;
1213 const char *getconf_dir
= __libc_secure_getenv ("GETCONF_DIR") ?: GETCONF_DIR
;
1214 size_t getconf_dirlen
= strlen (getconf_dir
);
1215 size_t speclen
= strlen (spec
);
1217 char name
[getconf_dirlen
+ sizeof ("/POSIX_V6_") + speclen
];
1218 memcpy (mempcpy (mempcpy (name
, getconf_dir
, getconf_dirlen
),
1219 "/POSIX_V6_", sizeof ("/POSIX_V6_") - 1),
1223 long int ret
= __xstat64 (_STAT_VER
, name
, &st
) >= 0 ? 1 : -1;
1225 __set_errno (save_errno
);