Frama_c_kernel.CommandUseful high-level system operations.
val pp_to_file : Filepath.Normalized.t -> (Format.formatter -> unit) -> unitpp_to_file file pp runs pp on a formatter that writes into file. The formatter is always properly flushed and closed on return. Exceptions in pp are re-raised after closing.
val pp_from_file : Format.formatter -> Filepath.Normalized.t -> unitpp_from_file fmt file dumps the content of file into the fmt. Exceptions in pp are re-raised after closing.
val bincopy : bytes -> in_channel -> out_channel -> unitcopy buffer cin cout reads cin until end-of-file and copy it in cout. buffer is a temporary string used during the copy. Recommended size is 2048.
val copy : Filepath.Normalized.t -> Filepath.Normalized.t -> unitcopy source target copies source file to target file using bincopy.
val read_file : Filepath.Normalized.t -> (in_channel -> 'a) -> 'aProperly close the channel and re-raise exceptions
val read_lines : Filepath.Normalized.t -> (string -> unit) -> unitIter over all text lines in the file
val write_file : Filepath.Normalized.t -> (out_channel -> 'a) -> 'aProperly close the channel and re-raise exceptions
val print_file : Filepath.Normalized.t -> (Format.formatter -> 'a) -> 'aProperly flush and close the channel and re-raise exceptions
type timer = float refCompute the elapsed time with Sys.time. The rmax timer is maximized and the radd timer is cumulated. Computed result is returned, or exception is re-raised.
val full_command :
string ->
string array ->
stdin:Unix.file_descr ->
stdout:Unix.file_descr ->
stderr:Unix.file_descr ->
Unix.process_statusSame arguments as Unix.create_process but returns only when execution is complete.
type process_result = | Not_ready of unit -> unit| Result of Unix.process_statusNot_ready f means that the child process is not yet finished and may be terminated manually with f ().
val full_command_async :
string ->
string array ->
stdin:Unix.file_descr ->
stdout:Unix.file_descr ->
stderr:Unix.file_descr ->
unit ->
process_resultSame arguments as Unix.create_process.
val command_async :
?stdout:Buffer.t ->
?stderr:Buffer.t ->
string ->
string array ->
unit ->
process_resultSame arguments as Unix.create_process.
val command :
?timeout:int ->
?stdout:Buffer.t ->
?stderr:Buffer.t ->
string ->
string array ->
Unix.process_statusSame arguments as Unix.create_process. When this function returns, the stdout and stderr of the child process will be filled into the arguments buffer.