123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175(* stdlib/sys.ml. Generated from sys.ml.in by configure. *)#3 "sys.ml.in"(**************************************************************************)(* *)(* OCaml *)(* *)(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *)(* *)(* Copyright 1996 Institut National de Recherche en Informatique et *)(* en Automatique. *)(* *)(* All rights reserved. This file is distributed under the terms of *)(* the GNU Lesser General Public License version 2.1, with the *)(* special exception on linking described in the file LICENSE. *)(* *)(**************************************************************************)typebackend_type=|Native|Bytecode|Otherofstring(* System interface *)externalget_config:unit->string*int*bool="caml_sys_get_config"externalget_executable_name:unit->string="caml_sys_executable_name"externalargv:stringarray="%sys_argv"externalbig_endian:unit->bool="%big_endian"externalword_size:unit->int="%word_size"externalint_size:unit->int="%int_size"externalmax_wosize:unit->int="%max_wosize"externalunix:unit->bool="%ostype_unix"externalwin32:unit->bool="%ostype_win32"externalcygwin:unit->bool="%ostype_cygwin"externalget_backend_type:unit->backend_type="%backend_type"letexecutable_name=get_executable_name()let(os_type,_,_)=get_config()letbackend_type=get_backend_type()letbig_endian=big_endian()letword_size=word_size()letint_size=int_size()letunix=unix()letwin32=win32()letcygwin=cygwin()letmax_array_length=max_wosize()letmax_floatarray_length=max_array_length/(64/word_size)letmax_string_length=word_size/8*max_array_length-1externalruntime_variant:unit->string="caml_runtime_variant"externalruntime_parameters:unit->string="caml_runtime_parameters"externalfile_exists:string->bool="caml_sys_file_exists"externalis_directory:string->bool="caml_sys_is_directory"externalis_regular_file:string->bool="caml_sys_is_regular_file"externalremove:string->unit="caml_sys_remove"externalrename:string->string->unit="caml_sys_rename"externalgetenv:string->string="caml_sys_getenv"letgetenv_opts=(* TODO: expose a non-raising primitive directly. *)trySome(getenvs)withNot_found->Noneexternalcommand:string->int="caml_sys_system_command"externaltime:unit->(float[@unboxed])="caml_sys_time""caml_sys_time_unboxed"[@@noalloc]externalchdir:string->unit="caml_sys_chdir"externalmkdir:string->int->unit="caml_sys_mkdir"externalrmdir:string->unit="caml_sys_rmdir"externalgetcwd:unit->string="caml_sys_getcwd"externalreaddir:string->stringarray="caml_sys_read_directory"letinteractive=reffalsetypesignal_behavior=Signal_default|Signal_ignore|Signal_handleof(int->unit)externalsignal:int->signal_behavior->signal_behavior="caml_install_signal_handler"letset_signalsig_numsig_beh=ignore(signalsig_numsig_beh)letsigabrt=-1letsigalrm=-2letsigfpe=-3letsighup=-4letsigill=-5letsigint=-6letsigkill=-7letsigpipe=-8letsigquit=-9letsigsegv=-10letsigterm=-11letsigusr1=-12letsigusr2=-13letsigchld=-14letsigcont=-15letsigstop=-16letsigtstp=-17letsigttin=-18letsigttou=-19letsigvtalrm=-20letsigprof=-21letsigbus=-22letsigpoll=-23letsigsys=-24letsigtrap=-25letsigurg=-26letsigxcpu=-27letsigxfsz=-28exceptionBreakletcatch_breakon=ifonthenset_signalsigint(Signal_handle(fun_->raiseBreak))elseset_signalsigintSignal_defaultexternalenable_runtime_warnings:bool->unit="caml_ml_enable_runtime_warnings"externalruntime_warnings_enabled:unit->bool="caml_ml_runtime_warnings_enabled"(* The version string is found in file ../VERSION *)letocaml_version="5.2.0"letdevelopment_version=falsetypeextra_prefix=Plus|Tildetypeextra_info=extra_prefix*stringtypeocaml_release_info={major:int;minor:int;patchlevel:int;extra:extra_infooption}letocaml_release={major=5;minor=2;patchlevel=0;extra=None}(* Optimization *)externalopaque_identity:'a->'a="%opaque"moduleImmediate64=structmoduletypeNon_immediate=sigtypetendmoduletypeImmediate=sigtypet[@@immediate]endmoduleMake(Immediate:Immediate)(Non_immediate:Non_immediate)=structtypet[@@immediate64]type'arepr=|Immediate:Immediate.trepr|Non_immediate:Non_immediate.treprexternalmagic:_repr->trepr="%identity"letrepr=ifword_size=64thenmagicImmediateelsemagicNon_immediateendend