Frama-C API - Ctypes
 C-Types
type arrayflat = {arr_size : int;(*number of elements in the array
*)arr_dim : int;(*number of dimensions in the array
*)arr_cell : Frama_c_kernel.Cil_types.typ;(*type of elementary cells of the flatten array. Never an array.
*)arr_cell_nbr : int64;(*number of elementary cells in the flatten array
*)
}Array objects, with both the head view and the flatten view.
type arrayinfo = {arr_element : Frama_c_kernel.Cil_types.typ;(*type of the elements of the array
*)arr_flat : arrayflat option;
}type c_object = | C_int of c_int| C_float of c_float| C_pointer of Frama_c_kernel.Cil_types.typ| C_comp of Frama_c_kernel.Cil_types.compinfo| C_array of arrayinfo
Type of variable, inits, field or assignable values. Abstract view of unrolled C types without attribute.
val object_of_logic_type : Frama_c_kernel.Cil_types.logic_type -> c_objectval object_of_logic_pointed : Frama_c_kernel.Cil_types.logic_type -> c_objectUtilities
val i_iter : (c_int -> unit) -> unitval f_iter : (c_float -> unit) -> unitval is_char : c_int -> boolval c_char : unit -> c_intReturns the type of char
val c_bool : unit -> c_intReturns the type of int
val c_ptr : unit -> c_intReturns the type of pointers
val c_int : Frama_c_kernel.Cil_types.ikind -> c_intConforms to Machine.theMachine
val c_float : Frama_c_kernel.Cil_types.fkind -> c_floatConforms to Machine.theMachine
val to_ikind : c_int -> Frama_c_kernel.Cil_types.ikindval to_fkind : c_float -> Frama_c_kernel.Cil_types.fkindval object_of : Frama_c_kernel.Cil_types.typ -> c_objectval object_to : c_object -> Frama_c_kernel.Cil_types.typval is_pointer : c_object -> boolval constant : Frama_c_kernel.Cil_types.exp -> int64val get_int : Frama_c_kernel.Cil_types.exp -> int optionval get_int64 : Frama_c_kernel.Cil_types.exp -> int64 optionval signed : c_int -> booltrue if signed
val bounds : c_int -> Frama_c_kernel.Z.t * Frama_c_kernel.Z.tdomain, bounds included
val i_bits : c_int -> intsize in bits
val i_bytes : c_int -> intsize in bytes
val f_bits : c_float -> intsize in bits
val f_bytes : c_float -> intsize in bytes
val sizeof_defined : c_object -> boolval sizeof_object : c_object -> intval bits_sizeof_comp : Frama_c_kernel.Cil_types.compinfo -> intval bits_sizeof_array : arrayinfo -> intval bits_sizeof_object : c_object -> intval field_offset : Frama_c_kernel.Cil_types.fieldinfo -> intval no_infinite_array : c_object -> boolval is_compound : c_object -> boolval is_comp : c_object -> Frama_c_kernel.Cil_types.compinfo -> boolval get_array_size : c_object -> int optionval get_array_dim : c_object -> intval array_size : arrayinfo -> int optionReturns the list of dimensions the array consists of. None-dimension means undefined one.
val dimension_of_object : c_object -> (int * int64) optionReturns None for 1-dimension objects, and Some(d,N) for d-matrix with N cells
val pp_int : Stdlib.Format.formatter -> c_int -> unitval pp_float : Stdlib.Format.formatter -> c_float -> unitval pp_object : Stdlib.Format.formatter -> c_object -> unitval i_name : c_int -> stringval f_name : c_float -> stringval basename : c_object -> stringval hash : c_object -> intval pretty : Stdlib.Format.formatter -> c_object -> unitmodule C_object : Frama_c_kernel.Datatype.S with type t = c_objectmodule AinfoComparable : sig ... end