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 identi-
fied 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 attri-
butes:
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| MT-Level | MT-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.
|
Закладки на сайте Проследить за страницей |
Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |