Modify the attributes associated with the object named name, relative to ctx.
int fn_attr_multi_modify( FN_ctx_t *ctx, const FN_composite_name_t *name, const FN_attrmodlist_t *mods, unsigned int follow_link, FN_attrmodlist_t **unexecuted_mods, FN_status_t *status); |
In the mods parameter, the caller specifies a sequence of modifications that are to be performed in order on the attributes. Each modification in the sequence specifies a modification operation code (shown in Table 2-1) and an attribute on which to operate.
If all the modifications were performed successfully, unexecuted_mods is a NULL pointer. If an error is encountered while performing the list of modifications, status indicates the type of error and unexecuted_mods is set to point to a list of unexecuted modifications. The contents of unexecuted_mods do not share any state with mods; items in unexecuted_mods are copies of items in mods and appear in the same order in which they were originally supplied in mods. The first operation in unexecuted_mods is the first one that failed, and the code in status applies to this modification operation in particular. If status indicates a failure and a NULL pointer is returned in unexecuted_mods, that means no modifications were executed.