Up: Data Copying Functions [Index]
extern int x1f4_pull_lxlead
(void *bqpp, void *output, const void *input, int *status,
struct x1f4_trans_type *trans, struct x1f4_caselink_type **caselink,
struct x1f4_nodetype_type *nodetype,
const struct x1f4_nodelink_type *nodelink);
The x1f4_pull_lxlead function makes a copy of the object to be found at
the address stored at input and stores its address at output for
data types that define specialised copying methods (post or copy)
in the struct x1f4_nodetype_type data type definition.
See struct x1f4_nodetype_type.
The function observes the non recursive data copying protocol and the
copy method and the X1f4_LX_AUTO_RECORD,
X1f4_LX_LINK_ACCESS and X1f4_LX_PULL_ACCESS bits in the
nodetype record.
See Non Recursive Data Replication.
nodelink is the struct x1f4_nodelink_type description of the
object to hold the reference to the newly made object copy and it is passed as
argument to the called struct x1f4_nodetype_type methods.
See struct x1f4_nodelink_type.
bqpp is the reference tracking context.
If the pair of original and copied objects is added to the caselink list
of objects prescribed by the non recursive data copying protocol, the list link
is allocated via the trans allocator.
See struct x1f4_caselink_type.
The function returns non zero if the data type (as described by
nodetype) qualifies for the specialized copying, zero otherwise.
status is set to 0 for success (including the positive find that
the data type does not qualify) and non zero for operation failure.
If the data type does not qualify for the specialized copying (as it does not for numerical intrinsic types), it is likely that a verbatim copying suffices.
The intrinsic string type is not copied by the function, and a verbatim pointer copy does not do.
Up: Data Copying Functions [Index]