[Go to CFHT Home Page] Man Pages
Back to Software Index  BORDER=0Manpage Top Level
    fn_attr_multi_modify(3N) manual page Table of Contents

Name

fn_attr_multi_modify - modify multiple attributes associated with named object

Synopsis

cc [ flag ... ] file ... -lxfn [ library ... ]


#include <xfn/xfn.h>

int fn_attr_multi_modify(FN_ctx_t *ctx, const FN_composite_name_t *name, const FN_attrmodlist_t *mods, FN_attrmodlist_t **unexecuted_mods, FN_status_t *status);

MT-Level

MT-Safe

Description

This operation modifies the attributes associated with the object named name relative to ctx. If name is empty, the attributes associated with ctx are modified.

In the mods parameter, the caller specifies a sequence of modifications that are to be done in order on the attributes. Each modification in the sequence specifies a modification operation code (see fn_attr_modify(3N) ) and an attribute on which to operate.

The FN_attrmodlist_t type is described in FN_attrmodlist_t(3N) .

Return Values

fn_attr_multi_modify() returns 1 if all the modification operations were performed successfully. The function returns 0 if it any error occurs. If the operation fails, status and unexecuted_mods are set as described below.

Errors

If an error is encountered while performing the list of modifications, status indicates the type of error and unexecuted_mods is set 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 failure and a NULL pointer (0) is returned in unexecuted_mods, that indicates no modifications were executed.

See Also

FN_attrmodlist_t(3N) , FN_composite_name_t(3N) , FN_ctx_t(3N) , FN_status_t(3N) , fn_attr_modify(3N) , xfn(3N) , xfn_attributes(3N) , xfn_status_codes(3N)

Notes

The implementation of XFN in this Solaris release is based on the X/Open preliminary specification. It is likely that there will be minor changes to these interfaces to reflect changes in the final version of this specification. The next minor release of Solaris will offer binary compatibility for applications developed using the current interfaces. As the interfaces evolve toward standardization, it is possible that future releases of Solaris will require minor source code changes to applications that have been developed against the preliminary specification.


Table of Contents