Next: , Up: Library Construct Types   [Index]


7.2.2.1 struct x1f4_lxnote_type

typedef struct x1f4_lxnote_type {
    int (*bset)(void *, const struct x1f4_operator_type **),
	(*cfix)(void *, unsigned, void *),
	(*clip)(unsigned, const void *, struct x1f4_nodetype_type **, int *),
	(*dset)(void *, const struct x1f4_datatype_type **),
	(*fini)(void **), (*fold)(void *, unsigned *),
	(*fset)(void *, const struct x1f4_linetext_type **),
	(*lift)(void *, int, void **),
	(*lock)(void *, int, int, const struct x1f4_linetext_type **),
	(*near)(void *),
	(*pass)(void *, struct x1f4_progress_type **, char **),
	(*seek)(const void *), (*suit)(void *, void *, void *),
	(*tile)(void **, unsigned, struct x1f4_lxwide_type *, unsigned,
		const void *), (*tune)(void *),
	(*uset)(void *, const struct x1f4_operator_type **),
	(*vset)(void *, void **),
	(*wrap)(void *, struct x1f4_indexset_type *);
    unsigned bits;
} x1f4_lxnote_type;

The x1f4_lxnote_type record types the libaime library objects operating interface.

The fields that are assumed always set are:

bits

is a bitwise OR of zero or more library operation interface flag bits.

See Library Operation Interface Flags.

bset

indicates the routine writing the struct x1f4_operator_type description pointers of the infix binary operators provided by the first argument library object at the address indicated by the second argument.

See struct x1f4_operator_type.

The method should return the number of copied pointers.

The field may be NULL if no infix binary operators are provided.

cfix

indicates the routine setting the context attribute of the data type description registered with the first argument library object and indexed by the second argument to the third argument.

The context attribute corresponds the context field in the struct x1f4_nodetype_type.

See struct x1f4_nodetype_type.

The set struct x1f4_nodetype_type record corresponds the data type description indexed by the method second argument in the array of data type descriptions supplied when building the library object.

The method should return 0.

The field may be NULL.

clip

indicates the routine reserving data types codes and setting up the struct x1f4_nodetype_type data type descriptions. The method is expected to increment the struct x1f4_nodetype_type pointer at the address indicated by its third argument and the type id at the address indicated by its fourth argument by the number of data types provided by the library object class. The in between struct x1f4_nodetype_type data type descriptions are to be fully set up and the skipped type id codes used for them. It is passed the class specific generation context pointer (a flags set and a generation attributes record) as its first and second arguments.

See struct x1f4_nodetype_type.

The method should return 0.

The field may be NULL.

dset

indicates the routine storing the address of the null terminated array of data type definitions provided by the first argument library object at the address indicated by the second argument.

See struct x1f4_datatype_type.

See Data Type Definition.

Null terminated means here that the last data type definition in the array has its name field set to NULL.

The method should return 0.

The method is available only when the seek method is also available.

fini

indicates the routine dismantling the library object at the address stored at the address indicated by its only argument.

The method should return 0 for success, one of the defined error codes for failure.

fset

indicates the routine storing the address of the null terminated array of contextualized function definitions provided by the first argument library object at the address indicated by the second argument.

The contextualized function definitions pair function definitions with their respective function specific execution contexts.

See struct x1f4_linetext_type.

See Per Function Execution Context.

Null terminated means here that the last function definition in the array has its name field set to NULL.

The method should return 0.

lift

indicates the routine storing the operation context of the data type provided by the first argument library object and identified by the second argument index at the address indicated by the third argument.

The method should return 0 for success, non zero for failure (invalid data type index, etc).

The field may be NULL, in which case the operation context of the provided data types is to be taken to be the library object itself.

near

indicates the routine describing the set of infix binary operators provided by the method only argument library object.

The method should return the number of operators.

The field may be NULL if no infix binary operators are provided.

seek

indicates the routine describing the set of aime data types provided by the library object class. When called, it is passed the class specific generation context pointer as its sole argument.

The method should return the number of data types.

The field may be NULL if no data types are provided.

tile

indicates the routine constructing the library object. The method constructs the library object in the generic library object assembling context described by its second and third arguments (a generation flags set and a struct x1f4_lxwide_type record) and the class specific generation context described by its fourth and fifth arguments (a generation flags set and a generation attributes record of a matching type).

See struct x1f4_lxwide_type.

See struct x1f4_lxtile_type.

See Library Construct Generation Flags.

The method should return 0 for success, one of the defined error codes for failure.

vset

indicates the routine adding the symbolic constant definitions provided by the first argument library object into the variables collection of which address is recorded at address indicated by method second argument. The variables collection address may be modified by the method call.

See Variables Collections.

The method should return 0 for success, one of variables collection construction errors for failure.

The field may be NULL.

wrap

indicates the routine collecting the dependencies for the first argument library object from the struct x1f4_indexset_type executive objects set indicated by the second argument.

See struct x1f4_indexset_type.

The method should return 0 if all the dependencies have been collected successfully, non zero otherwise.

The field may be NULL.

The fields that are interpreted only if marked set are:

See Library Operation Interface Flags.

fold

indicates the routine describing the set of collection traversal modes provided by the first argument library object and adding the memory requirements for writing the traversal mode descriptions in excess of the struct x1f4_progress_type records to the summater at the address indicated by the method second argument.

The method should return the number of collection traversal modes.

See Traversable Collections.

lock

indicates the routine constructing single parameter function implicit convertors for the first argument library object, to the data type identified by the second argument and from the data type identified by the third, and storing the address of the converter struct x1f4_linetext_type definition at the address indicated by the fourth argument.

See Application Defined Implicit Conversions.

See Function Converters Set Definition.

pass

indicates the routine writing the struct x1f4_progress_type collection traversal mode descriptions provided by the first argument library object. The method is expected to increment the struct x1f4_progress_type pointer at the address indicated by its second argument by the number of traversal modes provided by the library object class. The in between struct x1f4_progress_type traversal mode descriptions are to be fully set up. The char pointer at the address indicated by its third argument is to be incremented by the amount required to write the traversal mode descriptions in excess of the struct x1f4_progress_type records.

The method should return 0 for success, one of the defined error codes for failure.

See struct x1f4_progress_type.

See Traversable Collections.

suit

indicates the routine adding the struct x1f4_deprefix_type records describing the strippable function name prefixes for the first argument library object to the third argument global collector. The method is to ignore its second argument.

The method should return 0 for success, non zero for failure.

See struct x1f4_deprefix_type.

See Strippable Prefixes.

The prefix collector is a type id to list of prefixes associative array.

The prefixes are introduced in the struct x1f4_deprefix_type record definition, with one null terminated array per type (the last record in the array has its name and size fields set as NULL and 0 respectively).

See x1f4_suit_prefix.

tune

indicates the routine describing the set of prefix unary operators provided by the method only argument library object.

The method should return the number of operators.

uset

indicates the routine writing the struct x1f4_operator_type description pointers of the prefix unary operators provided by the first argument library object at the address indicated by the second argument.

See struct x1f4_operator_type.

The method should return the number of copied pointers.


Next: struct x1f4_lxwide_type, Up: Library Construct Types   [Index]