1 /******************************************************************************
4 * Event generator. XML to logging C code converter.
8 * - C types : struct, union, enum, basic types.
9 * - Architectures : LP32, ILP32, ILP64, LLP64, LP64.
11 * Additionnal structures supported :
12 * - embedded variable size strings
13 * - embedded variable size arrays
14 * - embedded variable size sequences
18 * enums are limited to integer type, as this is what is used in C. Note,
19 * however, that ISO/IEC 9899:TC2 specify that the type of enum can be char,
20 * unsigned int or int. This is implementation defined (compiler). That's why we
21 * add a check for sizeof enum.
24 * Because of archtecture defined type sizes, we need to ask for ltt_align
25 * (which gives the alignment) by passing basic types, not their actual sizes.
26 * It's up to ltt_align to determine sizes of types.
29 * http://www.usenix.org/publications/login/standards/10.data.html
30 * (Andrew Josey <a.josey@opengroup.org>) :
32 * Data Type LP32 ILP32 ILP64 LLP64 LP64
34 * short 16 16 16 16 16
38 * long long (int64) 64
39 * pointer 32 32 64 64 64
41 * With these constraints :
42 * sizeof(char) <= sizeof(short) <= sizeof(int)
43 * <= sizeof(long) = sizeof(size_t)
45 * and therefore sizeof(long) <= sizeof(pointer) <= sizeof(size_t)
47 * Which means we only have to remember which is the biggest type in a structure
48 * to know the structure's alignment.
55 /* Type size checking */
56 int print_check(int fd
);
60 int print_types(int fd
);
63 int print_events(int fd
);
This page took 0.031801 seconds and 4 git commands to generate.