Interfacing to C with GNAT can use one of two approaches:
Interfaces.Cmay be used.
Convention C maybe applied to Ada types, but mostly has no
effect, since this is the default. The following table shows the
correspondence between Ada scalar types and the corresponding C types.
Convention Cis specified, which causes them to have int length. Without pragma
Convention C, Ada enumeration types map to 8, 16, or 32 bits (i.e. C types
int, respectively) depending on the number of values passed. This is the only case in which pragma
Convention Caffects the representation of an Ada type.
'Sizevalue in Ada.