1 /* Copyright (C) 1991-2023 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 <https://www.gnu.org/licenses/>. */
28 #include <sys/param.h>
30 #include <sys/sysinfo.h>
31 #include <sys/types.h>
35 #include <sysconf-pthread_stack_min.h>
37 #define NEED_SPEC_ARRAY 0
38 #include <posix-conf-vars.h>
40 #if !defined _XBS5_ILP32_OFF32 || !defined _XBS5_ILP32_OFFBIG \
41 || !defined _XBS5_LP64_OFF64 || !defined _XBS5_LPBIG_OFFBIG \
42 || !defined _POSIX_V6_ILP32_OFF32 || !defined _POSIX_V6_ILP32_OFFBIG \
43 || !defined _POSIX_V6_LP64_OFF64 || !defined _POSIX_V6_LPBIG_OFFBIG \
44 || !defined _POSIX_V7_ILP32_OFF32 || !defined _POSIX_V7_ILP32_OFFBIG \
45 || !defined _POSIX_V7_LP64_OFF64 || !defined _POSIX_V7_LPBIG_OFFBIG
46 # define NEED_CHECK_SPEC 1
48 # define NEED_CHECK_SPEC 0
52 static long int __sysconf_check_spec (const char *spec
);
56 /* Get the value of the system variable NAME. */
62 /* Also add obsolete or unnecessarily added constants here. */
63 case _SC_EQUIV_CLASS_MAX
:
79 return __get_child_max ();
83 return __getclktck ();
93 return __getdtablesize ();
105 case _SC_JOB_CONTROL
:
106 #if CONF_IS_DEFINED_SET (_POSIX_JOB_CONTROL)
107 return _POSIX_JOB_CONTROL
;
113 #if CONF_IS_DEFINED_SET (_POSIX_SAVED_IDS)
119 case _SC_REALTIME_SIGNALS
:
120 #if CONF_IS_DEFINED_SET (_POSIX_REALTIME_SIGNALS)
121 return _POSIX_REALTIME_SIGNALS
;
126 case _SC_PRIORITY_SCHEDULING
:
127 #if CONF_IS_DEFINED_SET (_POSIX_PRIORITY_SCHEDULING)
128 return _POSIX_PRIORITY_SCHEDULING
;
134 #if CONF_IS_DEFINED_SET (_POSIX_TIMERS)
135 return _POSIX_TIMERS
;
140 case _SC_ASYNCHRONOUS_IO
:
141 #if CONF_IS_DEFINED_SET (_POSIX_ASYNCHRONOUS_IO)
142 return _POSIX_ASYNCHRONOUS_IO
;
147 case _SC_PRIORITIZED_IO
:
148 #if CONF_IS_DEFINED_SET (_POSIX_PRIORITIZED_IO)
149 return _POSIX_PRIORITIZED_IO
;
154 case _SC_SYNCHRONIZED_IO
:
155 #if CONF_IS_DEFINED_SET (_POSIX_SYNCHRONIZED_IO)
156 return _POSIX_SYNCHRONIZED_IO
;
162 #if CONF_IS_DEFINED_SET (_POSIX_FSYNC)
168 case _SC_MAPPED_FILES
:
169 #if CONF_IS_DEFINED_SET (_POSIX_MAPPED_FILES)
170 return _POSIX_MAPPED_FILES
;
176 #if CONF_IS_DEFINED_SET (_POSIX_MEMLOCK)
177 return _POSIX_MEMLOCK
;
182 case _SC_MEMLOCK_RANGE
:
183 #if CONF_IS_DEFINED_SET (_POSIX_MEMLOCK_RANGE)
184 return _POSIX_MEMLOCK_RANGE
;
189 case _SC_MEMORY_PROTECTION
:
190 #if CONF_IS_DEFINED_SET (_POSIX_MEMORY_PROTECTION)
191 return _POSIX_MEMORY_PROTECTION
;
196 case _SC_MESSAGE_PASSING
:
197 #if CONF_IS_DEFINED_SET (_POSIX_MESSAGE_PASSING)
198 return _POSIX_MESSAGE_PASSING
;
204 #if CONF_IS_DEFINED_SET (_POSIX_SEMAPHORES)
205 return _POSIX_SEMAPHORES
;
210 case _SC_SHARED_MEMORY_OBJECTS
:
211 #if CONF_IS_DEFINED_SET (_POSIX_SHARED_MEMORY_OBJECTS)
212 return _POSIX_SHARED_MEMORY_OBJECTS
;
218 return _POSIX_VERSION
;
221 return __getpagesize ();
223 case _SC_AIO_LISTIO_MAX
:
224 #ifdef AIO_LISTIO_MAX
225 return AIO_LISTIO_MAX
;
237 case _SC_AIO_PRIO_DELTA_MAX
:
238 #ifdef AIO_PRIO_DELTA_MAX
239 return AIO_PRIO_DELTA_MAX
;
244 case _SC_DELAYTIMER_MAX
:
245 #ifdef DELAYTIMER_MAX
246 return DELAYTIMER_MAX
;
251 case _SC_MQ_OPEN_MAX
:
258 case _SC_MQ_PRIO_MAX
:
272 case _SC_SEM_NSEMS_MAX
:
274 return SEM_NSEMS_MAX
;
279 case _SC_SEM_VALUE_MAX
:
281 return SEM_VALUE_MAX
;
286 case _SC_SIGQUEUE_MAX
:
300 case _SC_BC_BASE_MAX
:
314 case _SC_BC_SCALE_MAX
:
321 case _SC_BC_STRING_MAX
:
323 return BC_STRING_MAX
;
328 case _SC_COLL_WEIGHTS_MAX
:
329 #ifdef COLL_WEIGHTS_MAX
330 return COLL_WEIGHTS_MAX
;
335 case _SC_EXPR_NEST_MAX
:
337 return EXPR_NEST_MAX
;
356 case _SC_CHARCLASS_NAME_MAX
:
357 #ifdef CHARCLASS_NAME_MAX
358 return CHARCLASS_NAME_MAX
;
364 #if CONF_IS_DEFINED_SET (_POSIX_PII)
371 #if CONF_IS_DEFINED_SET (_POSIX_PII_XTI)
378 #if CONF_IS_DEFINED_SET (_POSIX_PII_SOCKET)
384 case _SC_PII_INTERNET
:
385 #if CONF_IS_DEFINED_SET (_POSIX_PII_INTERNET)
392 #if CONF_IS_DEFINED_SET (_POSIX_PII_OSI)
399 #if CONF_IS_DEFINED_SET (_POSIX_POLL)
406 #if CONF_IS_DEFINED_SET (_POSIX_SELECT)
412 /* The same as _SC_IOV_MAX. */
420 case _SC_PII_INTERNET_STREAM
:
421 #if CONF_IS_DEFINED_SET (_POSIX_PII_INTERNET_STREAM)
427 case _SC_PII_INTERNET_DGRAM
:
428 #if CONF_IS_DEFINED_SET (_POSIX_PII_INTERNET_DGRAM)
434 case _SC_PII_OSI_COTS
:
435 #if CONF_IS_DEFINED_SET (_POSIX_PII_OSI_COTS)
441 case _SC_PII_OSI_CLTS
:
442 #if CONF_IS_DEFINED_SET (_POSIX_PII_OSI_CLTS)
449 #if CONF_IS_DEFINED_SET (_POSIX_PII_OSI_M)
463 return _POSIX2_VERSION
;
466 #ifdef _POSIX2_C_BIND
467 return _POSIX2_C_BIND
;
474 return _POSIX2_C_DEV
;
479 case _SC_2_C_VERSION
:
480 #ifdef _POSIX2_C_VERSION
481 return _POSIX2_C_VERSION
;
487 #ifdef _POSIX2_FORT_DEV
488 return _POSIX2_FORT_DEV
;
494 #ifdef _POSIX2_FORT_RUN
495 return _POSIX2_FORT_RUN
;
500 case _SC_2_LOCALEDEF
:
501 #ifdef _POSIX2_LOCALEDEF
502 return _POSIX2_LOCALEDEF
;
508 #ifdef _POSIX2_SW_DEV
509 return _POSIX2_SW_DEV
;
514 case _SC_2_CHAR_TERM
:
515 #ifdef _POSIX2_CHAR_TERM
516 return _POSIX2_CHAR_TERM
;
528 /* POSIX 1003.1c (POSIX Threads). */
530 #if CONF_IS_DEFINED_SET (_POSIX_THREADS)
531 return _POSIX_THREADS
;
536 case _SC_THREAD_SAFE_FUNCTIONS
:
537 #if CONF_IS_DEFINED_SET (_POSIX_THREAD_SAFE_FUNCTIONS)
538 return _POSIX_THREAD_SAFE_FUNCTIONS
;
543 case _SC_GETGR_R_SIZE_MAX
:
544 return NSS_BUFLEN_GROUP
;
546 case _SC_GETPW_R_SIZE_MAX
:
547 return NSS_BUFLEN_PASSWD
;
549 case _SC_LOGIN_NAME_MAX
:
550 #ifdef LOGIN_NAME_MAX
551 return LOGIN_NAME_MAX
;
556 case _SC_TTY_NAME_MAX
:
563 case _SC_THREAD_DESTRUCTOR_ITERATIONS
:
564 #if CONF_IS_DEFINED_SET (_POSIX_THREAD_DESTRUCTOR_ITERATIONS)
565 return _POSIX_THREAD_DESTRUCTOR_ITERATIONS
;
570 case _SC_THREAD_KEYS_MAX
:
571 #ifdef PTHREAD_KEYS_MAX
572 return PTHREAD_KEYS_MAX
;
577 case _SC_THREAD_STACK_MIN
:
578 return __get_pthread_stack_min ();
580 case _SC_THREAD_THREADS_MAX
:
581 #ifdef PTHREAD_THREADS_MAX
582 return PTHREAD_THREADS_MAX
;
587 case _SC_THREAD_ATTR_STACKADDR
:
588 #if CONF_IS_DEFINED_SET (_POSIX_THREAD_ATTR_STACKADDR)
589 return _POSIX_THREAD_ATTR_STACKADDR
;
594 case _SC_THREAD_ATTR_STACKSIZE
:
595 #if CONF_IS_DEFINED_SET (_POSIX_THREAD_ATTR_STACKSIZE)
596 return _POSIX_THREAD_ATTR_STACKSIZE
;
601 case _SC_THREAD_PRIORITY_SCHEDULING
:
602 #if CONF_IS_DEFINED_SET (_POSIX_THREAD_PRIORITY_SCHEDULING)
603 return _POSIX_THREAD_PRIORITY_SCHEDULING
;
608 case _SC_THREAD_PRIO_INHERIT
:
609 #if CONF_IS_DEFINED_SET (_POSIX_THREAD_PRIO_INHERIT)
610 return _POSIX_THREAD_PRIO_INHERIT
;
615 case _SC_THREAD_PRIO_PROTECT
:
616 #if CONF_IS_DEFINED_SET (_POSIX_THREAD_PRIO_PROTECT)
617 return _POSIX_THREAD_PRIO_PROTECT
;
622 case _SC_THREAD_PROCESS_SHARED
:
623 #if CONF_IS_DEFINED_SET (_POSIX_THREAD_PROCESS_SHARED)
624 return _POSIX_THREAD_PROCESS_SHARED
;
629 case _SC_NPROCESSORS_CONF
:
630 return __get_nprocs_conf ();
632 case _SC_NPROCESSORS_ONLN
:
633 return __get_nprocs ();
636 return __get_phys_pages ();
638 case _SC_AVPHYS_PAGES
:
639 return __get_avphys_pages ();
642 /* We have no limit since we use lists. */
646 /* We have no limit but since the return value might be used to
647 allocate a buffer we restrict the value. */
650 case _SC_XOPEN_VERSION
:
651 return _XOPEN_VERSION
;
653 case _SC_XOPEN_XCU_VERSION
:
654 return _XOPEN_XCU_VERSION
;
659 case _SC_XOPEN_CRYPT
:
666 case _SC_XOPEN_ENH_I18N
:
667 #ifdef _XOPEN_ENH_I18N
668 return _XOPEN_ENH_I18N
;
717 return sizeof (long int) * CHAR_BIT
;
720 return sizeof (int) * CHAR_BIT
;
729 return _POSIX_SSIZE_MAX
;
797 #define START_ENV_GROUP(VERSION) \
800 #define END_ENV_GROUP(VERSION) \
803 #define KNOWN_ABSENT_ENVIRONMENT(SC_PREFIX, ENV_PREFIX, SUFFIX) \
804 case _SC_##SC_PREFIX##_##SUFFIX: \
805 return _##ENV_PREFIX##_##SUFFIX;
807 #define KNOWN_PRESENT_ENVIRONMENT(SC_PREFIX, ENV_PREFIX, SUFFIX) \
808 case _SC_##SC_PREFIX##_##SUFFIX: \
809 return _##ENV_PREFIX##_##SUFFIX;
811 #define UNKNOWN_ENVIRONMENT(SC_PREFIX, ENV_PREFIX, SUFFIX) \
812 case _SC_##SC_PREFIX##_##SUFFIX: \
813 return __sysconf_check_spec (#SUFFIX);
815 #include <posix/posix-envs.def>
817 #undef START_ENV_GROUP
819 #undef KNOWN_ABSENT_ENVIRONMENT
820 #undef KNOWN_PRESENT_ENVIRONMENT
821 #undef UNKNOWN_ENVIRONMENT
823 case _SC_XOPEN_LEGACY
:
824 return _XOPEN_LEGACY
;
826 case _SC_XOPEN_REALTIME
:
827 #ifdef _XOPEN_REALTIME
828 return _XOPEN_REALTIME
;
832 case _SC_XOPEN_REALTIME_THREADS
:
833 #ifdef _XOPEN_REALTIME_THREADS
834 return _XOPEN_REALTIME_THREADS
;
839 case _SC_ADVISORY_INFO
:
840 #if CONF_IS_DEFINED_SET (_POSIX_ADVISORY_INFO)
841 return _POSIX_ADVISORY_INFO
;
847 #if CONF_IS_DEFINED_SET (_POSIX_BARRIERS)
848 return _POSIX_BARRIERS
;
854 #if CONF_IS_DEFINED_SET (_POSIX_BASE)
859 case _SC_C_LANG_SUPPORT
:
860 #if CONF_IS_DEFINED_SET (_POSIX_C_LANG_SUPPORT)
861 return _POSIX_C_LANG_SUPPORT
;
865 case _SC_C_LANG_SUPPORT_R
:
866 #if CONF_IS_DEFINED_SET (_POSIX_C_LANG_SUPPORT_R)
867 return _POSIX_C_LANG_SUPPORT_R
;
872 case _SC_CLOCK_SELECTION
:
873 #if CONF_IS_DEFINED_SET (_POSIX_CLOCK_SELECTION)
874 return _POSIX_CLOCK_SELECTION
;
880 #if CONF_IS_DEFINED_SET (_POSIX_CPUTIME)
881 return _POSIX_CPUTIME
;
887 #if CONF_IS_DEFINED_SET (_POSIX_DEVICE_IO)
888 return _POSIX_DEVICE_IO
;
892 case _SC_DEVICE_SPECIFIC
:
893 #if CONF_IS_DEFINED_SET (_POSIX_DEVICE_SPECIFIC)
894 return _POSIX_DEVICE_SPECIFIC
;
898 case _SC_DEVICE_SPECIFIC_R
:
899 #if CONF_IS_DEFINED_SET (_POSIX_DEVICE_SPECIFIC_R)
900 return _POSIX_DEVICE_SPECIFIC_R
;
906 #if CONF_IS_DEFINED_SET (_POSIX_FD_MGMT)
907 return _POSIX_FD_MGMT
;
913 #if CONF_IS_DEFINED_SET (_POSIX_FIFO)
919 #if CONF_IS_DEFINED_SET (_POSIX_PIPE)
925 case _SC_FILE_ATTRIBUTES
:
926 #if CONF_IS_DEFINED_SET (_POSIX_FILE_ATTRIBUTES)
927 return _POSIX_FILE_ATTRIBUTES
;
931 case _SC_FILE_LOCKING
:
932 #if CONF_IS_DEFINED_SET (_POSIX_FILE_LOCKING)
933 return _POSIX_FILE_LOCKING
;
937 case _SC_FILE_SYSTEM
:
938 #if CONF_IS_DEFINED_SET (_POSIX_FILE_SYSTEM)
939 return _POSIX_FILE_SYSTEM
;
944 case _SC_MONOTONIC_CLOCK
:
945 #if CONF_IS_DEFINED_SET (_POSIX_MONOTONIC_CLOCK)
946 return _POSIX_MONOTONIC_CLOCK
;
951 case _SC_MULTI_PROCESS
:
952 #if CONF_IS_DEFINED_SET (_POSIX_MULTI_PROCESS)
953 return _POSIX_MULTI_PROCESS
;
957 case _SC_SINGLE_PROCESS
:
958 #if CONF_IS_DEFINED_SET (_POSIX_SINGLE_PROCESS)
959 return _POSIX_SINGLE_PROCESS
;
965 #if CONF_IS_DEFINED_SET (_POSIX_NETWORKING)
966 return _POSIX_NETWORKING
;
971 case _SC_READER_WRITER_LOCKS
:
972 #if CONF_IS_DEFINED_SET (_POSIX_READER_WRITER_LOCKS)
973 return _POSIX_READER_WRITER_LOCKS
;
978 #if CONF_IS_DEFINED_SET (_POSIX_SPIN_LOCKS)
979 return _POSIX_SPIN_LOCKS
;
985 #if CONF_IS_DEFINED_SET (_POSIX_REGEXP)
986 return _POSIX_REGEXP
;
990 /* _REGEX_VERSION has been removed with IEEE Std 1003.1-2001/Cor 2-2004,
991 item XSH/TC2/D6/137. */
992 case _SC_REGEX_VERSION
:
996 #if CONF_IS_DEFINED_SET (_POSIX_SHELL)
1003 #if CONF_IS_DEFINED (_POSIX_SIGNALS)
1004 return _POSIX_SIGNALS
;
1010 #if CONF_IS_DEFINED_SET (_POSIX_SPAWN)
1011 return _POSIX_SPAWN
;
1016 case _SC_SPORADIC_SERVER
:
1017 #if CONF_IS_DEFINED_SET (_POSIX_SPORADIC_SERVER)
1018 return _POSIX_SPORADIC_SERVER
;
1022 case _SC_THREAD_SPORADIC_SERVER
:
1023 #if CONF_IS_DEFINED_SET (_POSIX_THREAD_SPORADIC_SERVER)
1024 return _POSIX_THREAD_SPORADIC_SERVER
;
1029 case _SC_SYSTEM_DATABASE
:
1030 #if CONF_IS_DEFINED_SET (_POSIX_SYSTEM_DATABASE)
1031 return _POSIX_SYSTEM_DATABASE
;
1035 case _SC_SYSTEM_DATABASE_R
:
1036 #if CONF_IS_DEFINED_SET (_POSIX_SYSTEM_DATABASE_R)
1037 return _POSIX_SYSTEM_DATABASE_R
;
1042 case _SC_THREAD_CPUTIME
:
1043 #if CONF_IS_DEFINED_SET (_POSIX_THREAD_CPUTIME)
1044 return _POSIX_THREAD_CPUTIME
;
1050 #if CONF_IS_DEFINED_SET (_POSIX_TIMEOUTS)
1051 return _POSIX_TIMEOUTS
;
1056 case _SC_TYPED_MEMORY_OBJECTS
:
1057 #if CONF_IS_DEFINED_SET (_POSIX_TYPED_MEMORY_OBJECTS)
1058 return _POSIX_TYPED_MEMORY_OBJECTS
;
1063 case _SC_USER_GROUPS
:
1064 #if CONF_IS_DEFINED_SET (_POSIX_USER_GROUPS)
1065 return _POSIX_USER_GROUPS
;
1069 case _SC_USER_GROUPS_R
:
1070 #if CONF_IS_DEFINED_SET (_POSIX_USER_GROUPS_R)
1071 return _POSIX_USER_GROUPS_R
;
1082 case _SC_2_PBS_ACCOUNTING
:
1083 #ifdef _POSIX2_PBS_ACCOUNTING
1084 return _POSIX2_PBS_ACCOUNTING
;
1088 case _SC_2_PBS_CHECKPOINT
:
1089 #ifdef _POSIX2_PBS_CHECKPOINT
1090 return _POSIX2_PBS_CHECKPOINT
;
1094 case _SC_2_PBS_LOCATE
:
1095 #ifdef _POSIX2_PBS_LOCATE
1096 return _POSIX2_PBS_LOCATE
;
1100 case _SC_2_PBS_MESSAGE
:
1101 #ifdef _POSIX2_PBS_MESSAGE
1102 return _POSIX2_PBS_MESSAGE
;
1106 case _SC_2_PBS_TRACK
:
1107 #ifdef _POSIX2_PBS_TRACK
1108 return _POSIX2_PBS_TRACK
;
1113 case _SC_SYMLOOP_MAX
:
1123 case _SC_HOST_NAME_MAX
:
1124 #ifdef HOST_NAME_MAX
1125 return HOST_NAME_MAX
;
1131 #if CONF_IS_DEFINED_SET (_POSIX_TRACE)
1132 return _POSIX_TRACE
;
1136 case _SC_TRACE_EVENT_FILTER
:
1137 #if CONF_IS_DEFINED_SET (_POSIX_TRACE_EVENT_FILTER)
1138 return _POSIX_TRACE_EVENT_FILTER
;
1142 case _SC_TRACE_INHERIT
:
1143 #if CONF_IS_DEFINED_SET (_POSIX_TRACE_INHERIT)
1144 return _POSIX_TRACE_INHERIT
;
1149 #if CONF_IS_DEFINED_SET (_POSIX_TRACE_LOG)
1150 return _POSIX_TRACE_LOG
;
1155 case _SC_TRACE_EVENT_NAME_MAX
:
1156 case _SC_TRACE_NAME_MAX
:
1157 case _SC_TRACE_SYS_MAX
:
1158 case _SC_TRACE_USER_EVENT_MAX
:
1159 /* No support for tracing. */
1161 case _SC_XOPEN_STREAMS
:
1162 /* No support for STREAMS. */
1165 case _SC_LEVEL1_ICACHE_SIZE
:
1166 case _SC_LEVEL1_ICACHE_ASSOC
:
1167 case _SC_LEVEL1_ICACHE_LINESIZE
:
1168 case _SC_LEVEL1_DCACHE_SIZE
:
1169 case _SC_LEVEL1_DCACHE_ASSOC
:
1170 case _SC_LEVEL1_DCACHE_LINESIZE
:
1171 case _SC_LEVEL2_CACHE_SIZE
:
1172 case _SC_LEVEL2_CACHE_ASSOC
:
1173 case _SC_LEVEL2_CACHE_LINESIZE
:
1174 case _SC_LEVEL3_CACHE_SIZE
:
1175 case _SC_LEVEL3_CACHE_ASSOC
:
1176 case _SC_LEVEL3_CACHE_LINESIZE
:
1177 case _SC_LEVEL4_CACHE_SIZE
:
1178 case _SC_LEVEL4_CACHE_ASSOC
:
1179 case _SC_LEVEL4_CACHE_LINESIZE
:
1180 /* In general we cannot determine these values. Therefore we
1181 return zero which indicates that no information is
1186 #if CONF_IS_DEFINED_SET (_POSIX_IPV6)
1192 case _SC_RAW_SOCKETS
:
1193 #if CONF_IS_DEFINED_SET (_POSIX_RAW_SOCKETS)
1194 return _POSIX_RAW_SOCKETS
;
1206 case _SC_MINSIGSTKSZ
:
1216 weak_alias (__sysconf
, sysconf
)
1217 libc_hidden_def (__sysconf
)
1221 __sysconf_check_spec (const char *spec
)
1223 int save_errno
= errno
;
1225 const char *getconf_dir
= __libc_secure_getenv ("GETCONF_DIR") ?: GETCONF_DIR
;
1226 size_t getconf_dirlen
= strlen (getconf_dir
);
1227 size_t speclen
= strlen (spec
);
1229 char name
[getconf_dirlen
+ sizeof ("/POSIX_V6_") + speclen
];
1230 memcpy (mempcpy (mempcpy (name
, getconf_dir
, getconf_dirlen
),
1231 "/POSIX_V6_", sizeof ("/POSIX_V6_") - 1),
1234 struct __stat64_t64 st
;
1235 long int ret
= __stat64_time64 (name
, &st
) >= 0 ? 1 : -1;
1237 __set_errno (save_errno
);