Frama-C:
Plug-ins:
Libraries:

Frama-C API - Command

Useful high-level system operations.

Pretty from files

val pp_from_file : Stdlib.Format.formatter -> Filepath.t -> unit

pp_from_file fmt file dumps the content of file into the fmt. Exceptions in pp are re-raised after closing.

Timing Utility

type timer = float Stdlib.ref
val time : ?rmax:timer -> ?radd:timer -> ('a -> 'b) -> 'a -> 'b

Compute 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.

System commands

type process_result =
  1. | Not_ready of unit -> unit
  2. | Result of Unix.process_status
    (*

    Not_ready f means that the child process is not yet finished and may be terminated manually with f ().

    *)
val async : ?stdout:Stdlib.Buffer.t -> ?stderr:Stdlib.Buffer.t -> string -> string list -> unit -> process_result

Same arguments as Unix.create_process.

  • returns

    a function to call to check if the process execution is complete. You must call this function until it returns a Result to prevent Zombie processes. When this function returns a Result, the stdout and stderr of the child process will be filled into the arguments buffer.

  • raises Sys_error

    when a system error occurs

  • before 31.0-Gallium

    this function was named command_async

val spawn : ?timeout:int -> ?stdout:Stdlib.Buffer.t -> ?stderr:Stdlib.Buffer.t -> string -> string list -> Unix.process_status

Same arguments as Unix.create_process. When this function returns, the stdout and stderr of the child process will be filled into the arguments buffer.

  • raises Sys_error

    when a system error occurs

  • raises Async.Cancel

    when the computation is interrupted or on timeout

  • before 29.0-Copper

    Async.Cancel was Db.Cancel

  • before 31.0-Gallium

    this function was named command