diff --git a/src/plugins/value/Eva.mli b/src/plugins/value/Eva.mli
index a11a0dca9aa2bab2ab56cfc918b2dbb915cd0c8e..c603b3c16d5a6e7de8597953b5c4dc093e805608 100644
--- a/src/plugins/value/Eva.mli
+++ b/src/plugins/value/Eva.mli
@@ -66,3 +66,37 @@ module Unit_tests: sig
   (** Runs the unit tests of Eva. *)
   val run: unit -> unit
 end
+
+
+module Eva_annotations: sig
+  type slevel_annotation =
+    | SlevelMerge
+    | SlevelDefault
+    | SlevelLocal of int
+    | SlevelFull
+
+  type unroll_annotation =
+    | UnrollAmount of Cil_types.term
+    | UnrollFull
+
+  type flow_annotation =
+    | FlowSplit of Cil_types.term
+    | FlowMerge of Cil_types.term
+
+  type allocation_kind = By_stack | Fresh | Fresh_weak | Imprecise
+
+  val get_slevel_annot : Cil_types.stmt -> slevel_annotation option
+  val get_unroll_annot : Cil_types.stmt -> unroll_annotation list
+  val get_flow_annot : Cil_types.stmt -> flow_annotation list
+  val get_subdivision_annot : Cil_types.stmt -> int list
+  val get_allocation: Cil_types.stmt -> allocation_kind
+
+  val add_slevel_annot : emitter:Emitter.t -> loc:Cil_types.location ->
+    Cil_types.stmt -> slevel_annotation -> unit
+  val add_unroll_annot : emitter:Emitter.t -> loc:Cil_types.location ->
+    Cil_types.stmt -> unroll_annotation -> unit
+  val add_flow_annot : emitter:Emitter.t -> loc:Cil_types.location ->
+    Cil_types.stmt -> flow_annotation -> unit
+  val add_subdivision_annot : emitter:Emitter.t -> loc:Cil_types.location ->
+    Cil_types.stmt -> int -> unit
+end