diff options
author | max99x <max99x@gmail.com> | 2011-07-23 05:49:48 +0300 |
---|---|---|
committer | max99x <max99x@gmail.com> | 2011-07-23 05:49:48 +0300 |
commit | 136756f734ecf14a28736900075d561e981e973e (patch) | |
tree | cf33472ea6550c6486ec7722facf34d98a16a51d /tests/unistd/sysconf.c | |
parent | 586d229ec311daa5e89781eb6da822989e677789 (diff) |
Added unistd tests; fixed a lot of unistd bugs and deficiencies.
Diffstat (limited to 'tests/unistd/sysconf.c')
-rw-r--r-- | tests/unistd/sysconf.c | 266 |
1 files changed, 266 insertions, 0 deletions
diff --git a/tests/unistd/sysconf.c b/tests/unistd/sysconf.c new file mode 100644 index 00000000..3211608e --- /dev/null +++ b/tests/unistd/sysconf.c @@ -0,0 +1,266 @@ +#include <stdio.h> +#include <errno.h> +#include <unistd.h> + +int main() { + int vals[] = { + _SC_PAGE_SIZE, + _SC_PAGESIZE, + _SC_ADVISORY_INFO, + _SC_BARRIERS, + _SC_ASYNCHRONOUS_IO, + _SC_CLOCK_SELECTION, + _SC_CPUTIME, + _SC_FSYNC, + _SC_IPV6, + _SC_MAPPED_FILES, + _SC_MEMLOCK, + _SC_MEMLOCK_RANGE, + _SC_MEMORY_PROTECTION, + _SC_MESSAGE_PASSING, + _SC_MONOTONIC_CLOCK, + _SC_PRIORITIZED_IO, + _SC_PRIORITY_SCHEDULING, + _SC_RAW_SOCKETS, + _SC_READER_WRITER_LOCKS, + _SC_REALTIME_SIGNALS, + _SC_SEMAPHORES, + _SC_SHARED_MEMORY_OBJECTS, + _SC_SPAWN, + _SC_SPIN_LOCKS, + _SC_SYNCHRONIZED_IO, + _SC_THREAD_ATTR_STACKADDR, + _SC_THREAD_ATTR_STACKSIZE, + _SC_THREAD_CPUTIME, + _SC_THREAD_PRIO_INHERIT, + _SC_THREAD_PRIO_PROTECT, + _SC_THREAD_PRIORITY_SCHEDULING, + _SC_THREAD_PROCESS_SHARED, + _SC_THREAD_SAFE_FUNCTIONS, + _SC_THREADS, + _SC_TIMEOUTS, + _SC_TIMERS, + _SC_VERSION, + _SC_2_C_BIND, + _SC_2_C_DEV, + _SC_2_CHAR_TERM, + _SC_2_LOCALEDEF, + _SC_2_SW_DEV, + _SC_2_VERSION, + _SC_MQ_OPEN_MAX, + _SC_XOPEN_STREAMS, + _SC_XBS5_LP64_OFF64, + _SC_XBS5_LPBIG_OFFBIG, + _SC_AIO_LISTIO_MAX, + _SC_AIO_MAX, + _SC_SPORADIC_SERVER, + _SC_THREAD_SPORADIC_SERVER, + _SC_TRACE, + _SC_TRACE_EVENT_FILTER, + _SC_TRACE_EVENT_NAME_MAX, + _SC_TRACE_INHERIT, + _SC_TRACE_LOG, + _SC_TRACE_NAME_MAX, + _SC_TRACE_SYS_MAX, + _SC_TRACE_USER_EVENT_MAX, + _SC_TYPED_MEMORY_OBJECTS, + _SC_V6_LP64_OFF64, + _SC_V6_LPBIG_OFFBIG, + _SC_2_FORT_DEV, + _SC_2_FORT_RUN, + _SC_2_PBS, + _SC_2_PBS_ACCOUNTING, + _SC_2_PBS_CHECKPOINT, + _SC_2_PBS_LOCATE, + _SC_2_PBS_MESSAGE, + _SC_2_PBS_TRACK, + _SC_2_UPE, + _SC_THREAD_THREADS_MAX, + _SC_SEM_NSEMS_MAX, + _SC_SYMLOOP_MAX, + _SC_TIMER_MAX, + _SC_V6_ILP32_OFF32, + _SC_V6_ILP32_OFFBIG, + _SC_JOB_CONTROL, + _SC_REGEXP, + _SC_SAVED_IDS, + _SC_SHELL, + _SC_XBS5_ILP32_OFF32, + _SC_XBS5_ILP32_OFFBIG, + _SC_XOPEN_CRYPT, + _SC_XOPEN_ENH_I18N, + _SC_XOPEN_LEGACY, + _SC_XOPEN_REALTIME, + _SC_XOPEN_REALTIME_THREADS, + _SC_XOPEN_SHM, + _SC_XOPEN_UNIX, + _SC_THREAD_KEYS_MAX, + _SC_IOV_MAX, + _SC_GETGR_R_SIZE_MAX, + _SC_GETPW_R_SIZE_MAX, + _SC_OPEN_MAX, + _SC_RTSIG_MAX, + _SC_EXPR_NEST_MAX, + _SC_TTY_NAME_MAX, + _SC_ATEXIT_MAX, + _SC_DELAYTIMER_MAX, + _SC_SEM_VALUE_MAX, + _SC_SIGQUEUE_MAX, + _SC_CHILD_MAX, + _SC_BC_SCALE_MAX, + _SC_BC_BASE_MAX, + _SC_LINE_MAX, + _SC_BC_DIM_MAX, + _SC_ARG_MAX, + _SC_NGROUPS_MAX, + _SC_MQ_PRIO_MAX, + _SC_RE_DUP_MAX, + _SC_THREAD_STACK_MIN, + _SC_BC_STRING_MAX, + _SC_XOPEN_VERSION, + _SC_LOGIN_NAME_MAX, + _SC_COLL_WEIGHTS_MAX, + _SC_CLK_TCK, + _SC_HOST_NAME_MAX, + _SC_AIO_PRIO_DELTA_MAX, + _SC_STREAM_MAX, + _SC_TZNAME_MAX, + _SC_THREAD_DESTRUCTOR_ITERATIONS + }; + char* names[] = { + "_SC_PAGE_SIZE", + "_SC_PAGESIZE", + "_SC_ADVISORY_INFO", + "_SC_BARRIERS", + "_SC_ASYNCHRONOUS_IO", + "_SC_CLOCK_SELECTION", + "_SC_CPUTIME", + "_SC_FSYNC", + "_SC_IPV6", + "_SC_MAPPED_FILES", + "_SC_MEMLOCK", + "_SC_MEMLOCK_RANGE", + "_SC_MEMORY_PROTECTION", + "_SC_MESSAGE_PASSING", + "_SC_MONOTONIC_CLOCK", + "_SC_PRIORITIZED_IO", + "_SC_PRIORITY_SCHEDULING", + "_SC_RAW_SOCKETS", + "_SC_READER_WRITER_LOCKS", + "_SC_REALTIME_SIGNALS", + "_SC_SEMAPHORES", + "_SC_SHARED_MEMORY_OBJECTS", + "_SC_SPAWN", + "_SC_SPIN_LOCKS", + "_SC_SYNCHRONIZED_IO", + "_SC_THREAD_ATTR_STACKADDR", + "_SC_THREAD_ATTR_STACKSIZE", + "_SC_THREAD_CPUTIME", + "_SC_THREAD_PRIO_INHERIT", + "_SC_THREAD_PRIO_PROTECT", + "_SC_THREAD_PRIORITY_SCHEDULING", + "_SC_THREAD_PROCESS_SHARED", + "_SC_THREAD_SAFE_FUNCTIONS", + "_SC_THREADS", + "_SC_TIMEOUTS", + "_SC_TIMERS", + "_SC_VERSION", + "_SC_2_C_BIND", + "_SC_2_C_DEV", + "_SC_2_CHAR_TERM", + "_SC_2_LOCALEDEF", + "_SC_2_SW_DEV", + "_SC_2_VERSION", + "_SC_MQ_OPEN_MAX", + "_SC_XOPEN_STREAMS", + "_SC_XBS5_LP64_OFF64", + "_SC_XBS5_LPBIG_OFFBIG", + "_SC_AIO_LISTIO_MAX", + "_SC_AIO_MAX", + "_SC_SPORADIC_SERVER", + "_SC_THREAD_SPORADIC_SERVER", + "_SC_TRACE", + "_SC_TRACE_EVENT_FILTER", + "_SC_TRACE_EVENT_NAME_MAX", + "_SC_TRACE_INHERIT", + "_SC_TRACE_LOG", + "_SC_TRACE_NAME_MAX", + "_SC_TRACE_SYS_MAX", + "_SC_TRACE_USER_EVENT_MAX", + "_SC_TYPED_MEMORY_OBJECTS", + "_SC_V6_LP64_OFF64", + "_SC_V6_LPBIG_OFFBIG", + "_SC_2_FORT_DEV", + "_SC_2_FORT_RUN", + "_SC_2_PBS", + "_SC_2_PBS_ACCOUNTING", + "_SC_2_PBS_CHECKPOINT", + "_SC_2_PBS_LOCATE", + "_SC_2_PBS_MESSAGE", + "_SC_2_PBS_TRACK", + "_SC_2_UPE", + "_SC_THREAD_THREADS_MAX", + "_SC_SEM_NSEMS_MAX", + "_SC_SYMLOOP_MAX", + "_SC_TIMER_MAX", + "_SC_V6_ILP32_OFF32", + "_SC_V6_ILP32_OFFBIG", + "_SC_JOB_CONTROL", + "_SC_REGEXP", + "_SC_SAVED_IDS", + "_SC_SHELL", + "_SC_XBS5_ILP32_OFF32", + "_SC_XBS5_ILP32_OFFBIG", + "_SC_XOPEN_CRYPT", + "_SC_XOPEN_ENH_I18N", + "_SC_XOPEN_LEGACY", + "_SC_XOPEN_REALTIME", + "_SC_XOPEN_REALTIME_THREADS", + "_SC_XOPEN_SHM", + "_SC_XOPEN_UNIX", + "_SC_THREAD_KEYS_MAX", + "_SC_IOV_MAX", + "_SC_GETGR_R_SIZE_MAX", + "_SC_GETPW_R_SIZE_MAX", + "_SC_OPEN_MAX", + "_SC_RTSIG_MAX", + "_SC_EXPR_NEST_MAX", + "_SC_TTY_NAME_MAX", + "_SC_ATEXIT_MAX", + "_SC_DELAYTIMER_MAX", + "_SC_SEM_VALUE_MAX", + "_SC_SIGQUEUE_MAX", + "_SC_CHILD_MAX", + "_SC_BC_SCALE_MAX", + "_SC_BC_BASE_MAX", + "_SC_LINE_MAX", + "_SC_BC_DIM_MAX", + "_SC_ARG_MAX", + "_SC_NGROUPS_MAX", + "_SC_MQ_PRIO_MAX", + "_SC_RE_DUP_MAX", + "_SC_THREAD_STACK_MIN", + "_SC_BC_STRING_MAX", + "_SC_XOPEN_VERSION", + "_SC_LOGIN_NAME_MAX", + "_SC_COLL_WEIGHTS_MAX", + "_SC_CLK_TCK", + "_SC_HOST_NAME_MAX", + "_SC_AIO_PRIO_DELTA_MAX", + "_SC_STREAM_MAX", + "_SC_TZNAME_MAX", + "_SC_THREAD_DESTRUCTOR_ITERATIONS" + }; + char buffer[256]; + + for (int i = 0; i < sizeof vals / sizeof vals[0]; i++) { + printf("%s: %ld\n", names[i], sysconf(vals[i])); + printf("errno: %d\n\n", errno); + errno = 0; + } + + printf("(invalid): %ld\n", sysconf(-123)); + printf("errno: %d\n", errno); + + return 0; +} |