Next: struct x1f4_lxwide_type, Up: Library Construct Types [Index]
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.
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 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.
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.
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.
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.
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]