123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226(* 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"externalpoll_actions:unit->unit="%poll"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"externalgetenv_opt:string->stringoption="caml_sys_getenv_opt"externalcommand: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"externalio_buffer_size:unit->int="caml_sys_io_buffer_size"letio_buffer_size=io_buffer_size()letinteractive=reffalsetypesignal=inttypesignal_behavior=Signal_default|Signal_ignore|Signal_handleof(signal->unit)externalsignal:signal->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=-28letsigio=-29letsigwinch=-30letsignal_to_strings=ifs=sigabrtthen"SIGABRT"elseifs=sigalrmthen"SIGALRM"elseifs=sigfpethen"SIGFPE"elseifs=sighupthen"SIGHUP"elseifs=sigillthen"SIGILL"elseifs=sigintthen"SIGINT"elseifs=sigkillthen"SIGKILL"elseifs=sigpipethen"SIGPIPE"elseifs=sigquitthen"SIGQUIT"elseifs=sigsegvthen"SIGSEGV"elseifs=sigtermthen"SIGTERM"elseifs=sigusr1then"SIGUSR1"elseifs=sigusr2then"SIGUSR2"elseifs=sigchldthen"SIGCHLD"elseifs=sigcontthen"SIGCONT"elseifs=sigstopthen"SIGSTOP"elseifs=sigtstpthen"SIGTSTP"elseifs=sigttinthen"SIGTTIN"elseifs=sigttouthen"SIGTTOU"elseifs=sigvtalrmthen"SIGVTALRM"elseifs=sigprofthen"SIGPROF"elseifs=sigbusthen"SIGBUS"elseifs=sigpollthen"SIGPOLL"elseifs=sigsysthen"SIGSYS"elseifs=sigtrapthen"SIGTRAP"elseifs=sigurgthen"SIGURG"elseifs=sigxcputhen"SIGXCPU"elseifs=sigxfszthen"SIGXFSZ"elseifs=sigiothen"SIGIO"elseifs=sigwinchthen"SIGWINCH"elseifs<sigwinchtheninvalid_arg"Sys.signal_to_string"else"SIG("^string_of_ints^")"externalrev_convert_signal_number:int->int="caml_sys_rev_convert_signal_number"externalconvert_signal_number:int->int="caml_sys_convert_signal_number"letsignal_of_inti=ifi<0theninvalid_arg"Sys.signal_of_int"elserev_convert_signal_numberiletsignal_to_inti=ifi<sigwinchtheninvalid_arg"Sys.signal_to_int"elseconvert_signal_numberiexceptionBreakletcatch_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.4.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=4;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