Up: List Library Types


6.3.2.1 struct x1f4_lxlist_type

typedef struct x1f4_lxlist_type {
    struct {
	int (*line) (void *), (*post) (void *),
	    (*push) (void *, const char *, unsigned);
	void *data;
    } textflat_set;
    struct {
	int type;
    } listtype_set;
    struct {
	int (*free) (void *, void *), (*link) (void *, void **, unsigned),
	    (*mode) (void *, void **, unsigned);
	void *data;
    } resource_set;
    struct {
	unsigned miss;
	const struct x1f4_nodetype_type *nodetype_data;
    } datatype_set;
    struct {
	int (*free) (void *, void *), (*link) (void *, void **, unsigned),
	    (*mode) (void *, void **, unsigned);
	void *data;
    } codelink_set;
} x1f4_lxlist_type;

The x1f4_lxlist_type record lists the application concerns related to the list library generation.

The fields that are always interpreted by the list library constructor function are:

listtype_set
specifies the type id to use for the introduced `list' type (some number conveniencing the application, greater than X1f4_E4_LAST) as:

See Symbolic Types.

type
the id

datatype_set
specifies the data types that are to be allowed for list item data types (and for which the list operating functions need be generated) as:
miss
the data types count
nodetype_data
the array of struct x1f4_nodetype_type record data type descriptions, miss long. The data type descriptions detail such data operations as copying and freeing along data type identification (data type name and data type id).

See struct x1f4_nodetype_type.

The fields that are interpreted only if so requested are:

See List Library Generation Flags.

codelink_set
specifies the library data memory allocator (allocates memory for the library object construction purposes only) as:
free
the memory deallocater method
link
the memory allocator method
mode
the memory reallocator method
data
the memory management context

See Memory Allocator Construct.

resource_set
specifies the data memory allocator (allocates memory for the data created while executing programs) as:
free
the memory deallocater method
link
the memory allocator method
mode
the memory reallocator method
data
the memory management context

See Memory Allocator Construct.

textflat_set
specifies the error reporter as:
line
the error report introducing method
push
the error report constructor method
post
the error report completion method
data
the error reporting context

See Error Reporter Construct.