Up: Byte Data Library Types


6.13.2.1 struct x1f4_lxdata_type

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

The x1f4_lxdata_type record lists the application concerns related to the byte data library generation.

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

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

See Symbolic Types.

type
the id

The fields that are interpreted only if so requested are:

See Byte Data 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.