123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121moduleDef(S:Cstubs.Types.TYPE)=structlethost_name_max=S.constant"HOST_NAME_MAX"S.intletlogin_name_max=S.constant"LOGIN_NAME_MAX"S.int(* sysconf names - commonly available ones *)letsc_arg_max=S.constant"_SC_ARG_MAX"S.intletsc_child_max=S.constant"_SC_CHILD_MAX"S.intletsc_clk_tck=S.constant"_SC_CLK_TCK"S.intletsc_open_max=S.constant"_SC_OPEN_MAX"S.intletsc_pagesize=S.constant"_SC_PAGESIZE"S.intletsc_page_size=S.constant"_SC_PAGE_SIZE"S.int(* alias for PAGESIZE *)letsc_nprocessors_onln=S.constant"_SC_NPROCESSORS_ONLN"S.intletsc_nprocessors_conf=S.constant"_SC_NPROCESSORS_CONF"S.intletsc_phys_pages=S.constant"_SC_PHYS_PAGES"S.intletsc_stream_max=S.constant"_SC_STREAM_MAX"S.intletsc_tzname_max=S.constant"_SC_TZNAME_MAX"S.intletsc_version=S.constant"_SC_VERSION"S.intletsc_atexit_max=S.constant"_SC_ATEXIT_MAX"S.intletsc_login_name_max=S.constant"_SC_LOGIN_NAME_MAX"S.intletsc_tty_name_max=S.constant"_SC_TTY_NAME_MAX"S.intletsc_host_name_max=S.constant"_SC_HOST_NAME_MAX"S.intletsc_line_max=S.constant"_SC_LINE_MAX"S.intletsc_getgr_r_size_max=S.constant"_SC_GETGR_R_SIZE_MAX"S.intletsc_getpw_r_size_max=S.constant"_SC_GETPW_R_SIZE_MAX"S.intletsc_ngroups_max=S.constant"_SC_NGROUPS_MAX"S.intletsc_re_dup_max=S.constant"_SC_RE_DUP_MAX"S.intletsc_symloop_max=S.constant"_SC_SYMLOOP_MAX"S.int(* POSIX options *)letsc_job_control=S.constant"_SC_JOB_CONTROL"S.intletsc_saved_ids=S.constant"_SC_SAVED_IDS"S.intletsc_fsync=S.constant"_SC_FSYNC"S.intletsc_mapped_files=S.constant"_SC_MAPPED_FILES"S.intletsc_memlock=S.constant"_SC_MEMLOCK"S.intletsc_memlock_range=S.constant"_SC_MEMLOCK_RANGE"S.intletsc_memory_protection=S.constant"_SC_MEMORY_PROTECTION"S.intletsc_priority_scheduling=S.constant"_SC_PRIORITY_SCHEDULING"S.intletsc_synchronized_io=S.constant"_SC_SYNCHRONIZED_IO"S.intletsc_timers=S.constant"_SC_TIMERS"S.intletsc_asynchronous_io=S.constant"_SC_ASYNCHRONOUS_IO"S.intletsc_prioritized_io=S.constant"_SC_PRIORITIZED_IO"S.intletsc_realtime_signals=S.constant"_SC_REALTIME_SIGNALS"S.intletsc_semaphores=S.constant"_SC_SEMAPHORES"S.intletsc_shared_memory_objects=S.constant"_SC_SHARED_MEMORY_OBJECTS"S.intletsc_message_passing=S.constant"_SC_MESSAGE_PASSING"S.intletsc_threads=S.constant"_SC_THREADS"S.intletsc_thread_safe_functions=S.constant"_SC_THREAD_SAFE_FUNCTIONS"S.intletsc_thread_attr_stackaddr=S.constant"_SC_THREAD_ATTR_STACKADDR"S.intletsc_thread_attr_stacksize=S.constant"_SC_THREAD_ATTR_STACKSIZE"S.intletsc_thread_priority_scheduling=S.constant"_SC_THREAD_PRIORITY_SCHEDULING"S.intletsc_thread_prio_inherit=S.constant"_SC_THREAD_PRIO_INHERIT"S.intletsc_thread_prio_protect=S.constant"_SC_THREAD_PRIO_PROTECT"S.intletsc_thread_process_shared=S.constant"_SC_THREAD_PROCESS_SHARED"S.int(* POSIX.2 constants *)letsc_2_version=S.constant"_SC_2_VERSION"S.intletsc_2_c_bind=S.constant"_SC_2_C_BIND"S.intletsc_2_c_dev=S.constant"_SC_2_C_DEV"S.intletsc_bc_base_max=S.constant"_SC_BC_BASE_MAX"S.intletsc_bc_dim_max=S.constant"_SC_BC_DIM_MAX"S.intletsc_bc_scale_max=S.constant"_SC_BC_SCALE_MAX"S.intletsc_bc_string_max=S.constant"_SC_BC_STRING_MAX"S.intletsc_coll_weights_max=S.constant"_SC_COLL_WEIGHTS_MAX"S.intletsc_expr_nest_max=S.constant"_SC_EXPR_NEST_MAX"S.int(* X/Open constants *)letsc_xopen_version=S.constant"_SC_XOPEN_VERSION"S.intletsc_xopen_crypt=S.constant"_SC_XOPEN_CRYPT"S.intletsc_xopen_enh_i18n=S.constant"_SC_XOPEN_ENH_I18N"S.intletsc_xopen_shm=S.constant"_SC_XOPEN_SHM"S.intletsc_xopen_unix=S.constant"_SC_XOPEN_UNIX"S.int(* pathconf names *)letpc_link_max=S.constant"_PC_LINK_MAX"S.intletpc_max_canon=S.constant"_PC_MAX_CANON"S.intletpc_max_input=S.constant"_PC_MAX_INPUT"S.intletpc_name_max=S.constant"_PC_NAME_MAX"S.intletpc_path_max=S.constant"_PC_PATH_MAX"S.intletpc_pipe_buf=S.constant"_PC_PIPE_BUF"S.intletpc_no_trunc=S.constant"_PC_NO_TRUNC"S.intletpc_vdisable=S.constant"_PC_VDISABLE"S.intletpc_chown_restricted=S.constant"_PC_CHOWN_RESTRICTED"S.intletpc_async_io=S.constant"_PC_ASYNC_IO"S.intletpc_prio_io=S.constant"_PC_PRIO_IO"S.intletpc_sync_io=S.constant"_PC_SYNC_IO"S.intletpc_filesizebits=S.constant"_PC_FILESIZEBITS"S.intletpc_2_symlinks=S.constant"_PC_2_SYMLINKS"S.intletpc_symlink_max=S.constant"_PC_SYMLINK_MAX"S.int(* lockf commands *)letf_ulock=S.constant"F_ULOCK"S.intletf_lock=S.constant"F_LOCK"S.intletf_tlock=S.constant"F_TLOCK"S.intletf_test=S.constant"F_TEST"S.int(* confstr names *)letcs_path=S.constant"_CS_PATH"S.int(* whence values for lseek (also in Unix but good to have) *)letseek_set=S.constant"SEEK_SET"S.intletseek_cur=S.constant"SEEK_CUR"S.intletseek_end=S.constant"SEEK_END"S.int(* access mode flags *)letr_ok=S.constant"R_OK"S.intletw_ok=S.constant"W_OK"S.intletx_ok=S.constant"X_OK"S.intletf_ok=S.constant"F_OK"S.int(* Standard file descriptors *)letstdin_fileno=S.constant"STDIN_FILENO"S.intletstdout_fileno=S.constant"STDOUT_FILENO"S.intletstderr_fileno=S.constant"STDERR_FILENO"S.int(* NULL constant (for completeness, though not typically needed in OCaml) *)(* let null = S.constant "NULL" S.int *)(* Not needed - use from_voidp *)end