Sun Microsystems, Inc.
spacerspacer
spacer   www.sun.com docs.sun.com | | |  
spacer
black dot
   
A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y   Z
    
 
XFN Interface Library FunctionsFN_attribute_t(3XFN)


NAME

 FN_attribute_t, fn_attribute_create, fn_attribute_destroy, fn_attribute_copy, fn_attribute_assign, fn_attribute_identifier, fn_attribute_syntax, fn_attribute_valuecount, fn_attribute_first, fn_attribute_next, fn_attribute_add, fn_attribute_remove - an XFN attribute

SYNOPSIS

 
cc [ flag ... ] file ... -lxfn [ library ... ]
#include <xfn/xfn.h>
FN_attribute_t *fn_attribute_create(constFN_identifier_t *attribute_id, const FN_identifier_t *attribute_syntax);
 void fn_attribute_destroy(FN_attribute_t *attr);
 FN_attribute_t *fn_attribute_copy(constFN_attribute_t *attr);
 FN_attribute_t *fn_attribute_assign(FN_attribute_t *dst, const FN_attribute_t *src);
 const FN_identifier_t *fn_attribute_identifier(constFN_attribute_t *attr);
 const FN_identifier_t *fn_attribute_syntax(constFN_attribute_t *attr);
 unsigned int fn_attribute_valuecount(constFN_attribute_t *attr);
 const FN_attrvalue_t *fn_attribute_first(constFN_attribute_t *attr, void **iter_pos);
 const FN_attrvalue_t *fn_attribute_next(constFN_attribute_t *attr, void **iter_pos);
 int fn_attribute_add(FN_attribute_t *attr, const FN_attrvalue_t *attribute_value, unsigned int exclusive);
 int fn_attribute_remove(FN_attribute_t *attr, const FN_attrvalue_t *attribute_value);

DESCRIPTION

 

An attribute has an attribute identifier, a syntax, and a set of distinct values. Each value is a sequence of octets. The operations associated with objects of type FN_attribute_t allow the construction, destruction, and manipulation of an attribute and its value set.

The attribute identifier and its syntax are specified using an FN_identifier_t. fn_attribute_create() creates a new attribute object with the given identifier and syntax, and an empty set of values. fn_attribute_destroy() releases the storage associated with attr. fn_attribute_copy() returns a copy of the object pointed to by attr. fn_attribute_assign() makes a copy of the attribute object pointed to by src and assigns it to dst, releasing any old contents of dst. A pointer to the same object as dst is returned.

fn_attribute_identifier() returns the attribute identifier of attr. fn_attribute_syntax() returns the attribute syntax of attr. fn_attribute_valuecount() returns the number of attribute values in attr.

fn_attribute_first() and fn_attribute_next() are used to enumerate the values of an attribute. Enumeration of the values of an attribute may return the values in any order. fn_attribute_first() returns an attribute value from attr and sets the iteration marker iter_pos. Subsequent calls to fn_attribute_next() returns the next attribute value identified by iter_pos and advances iter_pos. Adding or removing values from an attribute invalidates any iteration markers that the caller holds.

fn_attribute_add() adds a new value attribute_value to attr. The operation succeeds (but no change is made) if attribute_value is already in attr and exclusive is 0; the operation fails if attribute_value is already in attr and exclusive is non-zero.

fn_attribute_remove() removes attribute_value from attr. The operation succeeds even if attribute_value is not amongst attr's values.

RETURN VALUES

 

fn_attribute_first() returns 0 if the attribute contains no values. fn_attribute_next() returns 0 if there are no more values to be returned in the attribute (as identified by the iteration marker) or if the iteration marker is invalid.

fn_attribute_add() and fn_attribute_remove() return 1 if the operation succeeds, 0 if it fails.

USAGE

 

Manipulation of attributes using the operations described in this manual page does not affect their representation in the underlying naming system. Changes to attributes in the underlying naming system can only be effected through the use of the interfaces described in xfn_attributes(3XFN).

ATTRIBUTES

 

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPEATTRIBUTE VALUE
MT-LevelMT-Safe

SEE ALSO

 

FN_attrset_t(3XFN), FN_attrvalue_t(3XFN), FN_identifier_t(3XFN), fn_attr_get(3XFN), fn_attr_modify(3XFN), xfn(3XFN), xfn_attributes(3XFN), attributes(5)

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.


SunOS 5.9Go To TopLast Changed 13 Dec 1996

 
      
      
Copyright 2002 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.