Frama-C API - Inout_access
Read and written memory zones at some given Position.t point.
The data is projectified and depends on the analysis state.
Represents a read and write access.
module Access : sig ... endval register_read : Position.t -> Frama_c_kernel.Locations.Zone.t -> unitregister_read pos zone adds the given zone as a "read" memory location at the given pos.
val register_write : Position.t -> Frama_c_kernel.Locations.Zone.t -> unitregister_write pos zone adds the given zone as a "written" memory location at the given pos.
val register : Position.t -> t -> unitregister pos access adds the given access to the accesses at the given pos.
val mk_filter : filter_base:(Frama_c_kernel.Base.base -> bool) -> t -> tmk_filter ~filter_base creates a filter function for the functions below from a function that filter bases.
keep_globals_only access filters the given memory locations to only keep those coming from global bases (cf. Base.is_global).
val at : ?filter:(t -> t) -> Position.t -> tat ?filter pos returns the read and written zones for the given pos, filtered by filter.
val iter : ?filter:(t -> t) -> (Position.t -> t -> unit) -> unititer ?filter f iterates over all positions where a read or write access occurs and applies f on that access. The access is filtered by filter before being passed to f.
val fold : ?filter:(t -> t) -> (Position.t -> t -> 'acc -> 'acc) -> 'acc -> 'accfold ?filter f acc folds over all positions where a read or write access occurs and applies f on that access. The access is filtered by filter before being passed to f.
