genders_testattr() tests if the node pointed to by node
contains the attribute pointed to by attr. If node is
NULL, the current node is tested. If the attribute is found, its
value is stored in the buffer pointed to by val. len
should indicate the length of the buffer. If the attribute value is
not needed, val can be set to NULL.
To avoid passing in an attribute value buffer that is not large enough
to store the attribute value,
genders_getmaxvallen(3)
should be used to determine the minimum buffer size that should be used.
genders_testattrval() tests if the node pointed to by node
contains the attribute pointed to by attr and if that attribute
is equal to the attribute value pointed to by val. If val
is NULL, only the attribute is tested.
RETURN VALUES
For genders_testattr(), if the node contains the attribute, 1 is
returned. 0 is returned if the node does not contain the attribute.
For genders_testattrval(), if the node contains the attribute
and it is equal to the attribute value, 1 is returned. 0 is returned
if the node does not contain the attribute, or if the attribute is not
equal to the attribute value.
For both genders_testattr() and genders_testattrval(), -1
is returned on error, and an error code is returned in handle.
The error code can be retrieved via
genders_errnum(3)
, and a description of the error code can be retrieved via
genders_strerror(3).
Error codes are defined in genders.h.
ERRORS
GENDERS_ERR_NULLHANDLE
The handle parameter is NULL. The genders handle must be
created with
genders_handle_create(3).
The buffer pointed to by val is not large enough to store the
attribute value.
GENDERS_ERR_PARAMETERS
An incorrect parameter has been passed in.
GENDERS_ERR_NOTFOUND
The node pointed to by node cannot be found in the genders file
or if node=NULL, the machine genders is running on is not listed
in the genders database.
GENDERS_ERR_MAGIC
handle has an incorrect magic number. handle does not
point to a genders handle or handle has been destroyed by
genders_handle_destroy(3).