1 /* (C) 2001 by Universitaet Karlsruhe */
13 * This file contains the datatypes hidden in tpop.h.
15 * @autor Goetz Lindenmaier
19 /** The type opcode */
27 * Returns a new type opcode.
29 * Allocates a new tp_op struct and initializes it's fields with
30 * the passed values. This function is only to be used during
31 * initialization of the library.
33 * @param code the enum for this type opcode.
34 * @param name an ident for the name of the type opcode.
35 * @param attr_size the size of the attributes necessary for a type with
37 * @return A new type opcode.
40 tp_op * new_tpop (tp_opcode code, ident *name, size_t attr_size);
43 * Initialize the tpop module.
45 * Must be called during the initizlization of the library. Allocates
46 * opcodes and sets the globals that are external visible as specified
48 * Allocates opcodes for classes, struct, method, union, array,
49 * enumeration, pointer and primitive and sets the according values.
51 void init_tpop (void);
54 * Returns the size of the attribute to this kind
59 * @param op The type opcode to get the size for.
60 * @return The size of the attribute of types with this opcode.
63 int get_tpop_attr_size (tp_op *op);
65 #endif /* _TPOP_T_H_ */