Up: File Library Types


6.9.2.1 struct x1f4_lxfile_type

typedef struct x1f4_lxfile_type {
    struct {
	int (*line) (void *), (*post) (void *),
	    (*push) (void *, const char *, unsigned);
	void *data;
    } textflat_set;
    struct {
	int type;
    } listlink_set;
    struct {
	int type;
    } filetype_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_lxfile_type;

The x1f4_lxfile_type record lists the application concerns related to the file library generation.

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

filetype_set
specifies the type id to use for the introduced `file' 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 File Library Generation Flags.

listlink_set
specifies the type id to use for the referred `list' type as:
type
the id

The type id will be used to construct functions (like the `f_list' function) that refer list objects. If such functions are to be constructed the file library object must be introduced the list library object, before any (list related) constructed function gets executed.

See x1f4_list_lxfile.

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.