Frama-C API - Mt_types
Kind of access to zones
type rw = | Read| Write of Frama_c_kernel.Locations.location| ReadPos of Eva.Position.t| WritePos of Eva.Position.t
module RW : sig ... endMultithread events
type event = | CreateThread of Eva.Thread.t| StartThread of Eva.Thread.t| SuspendThread of Eva.Thread.t| CancelThread of Eva.Thread.t| ThreadExit of Mt_memory.Types.value| MutexLock of Eva.Mutex.t| MutexRelease of Eva.Mutex.t| CreateQueue of Eva.Mqueue.t * int option| SendMsg of Eva.Mqueue.t * Mt_memory.Types.slice * int(*SendMsg(q, (msg, size))q: the queuemsg: content of the messagesize: size of the message
| ReceiveMsg of Eva.Mqueue.t * Mt_memory.Types.pointer * int(*ReceiveMsg(q, ptr, size)q: the queueptr: loc to which the message must be writtensize: max size to read
| VarAccess of rw * Frama_c_kernel.Locations.Zone.t(*Access to some shared variables
*)| Dummy of string * Mt_memory.Types.value list
module Event : sig ... endMaps from statements to multithread events, together with the context in which they occur
module EventsSet : sig ... endtype events_set = EventsSet.tmodule Trace : sig ... endExecution trace, mapping execution stacks to sets of events occurring at this point
Live threads/taken mutexes at a given point of execution
module type Presence = sig ... endmodule ThreadPresence : Presence with type key = Eva.Thread.t and module KeySet = Eva.Thread.Setmodule MutexPresence : Presence with type key = Eva.Mutex.t and module KeySet = Eva.Mutex.Set