xfn_status_codes(3N) manual page
Table of Contents
xfn_status_codes - descriptions of XFN status codes
#include
<xfn/xfn.h>
The result status of operations in the context interface
and the attribute interface is encapsulated in an FN_status_t object. This
object contains information about how the operation completed: whether
an error occurred in performing the operation; if so, what kind of error;
and information localizing where the error occurred. In the case that the
error occurred while resolving an XFN link, the status object contains
additional information about that error.
The context status object consists
of several items of information. One of them is the primary status code,
describing the disposition of the operation. In the case that an error occurred
while resolving an XFN link, the primary status code has the value FN_E_LINK_ERROR
,
and the link status code describes the error that occurred while resolving
the XFN link.
Both the primary status code and the link
status code are values of type unsigned int that are drawn from the same
set of meaningful values. XFN reserves the values 0 through 127 for standard
meanings. Currently, values and interpretations for the following codes
are determined by XFN.
- FN_SUCCESS
- The operation succeeded.
- FN_E_ATTR_NO_PERMISSION
- The caller did not have permission to perform the attempted attribute
operation.
- FN_E_ATTR_VALUE_REQUIRED
- The operation attempted to create an
attribute without a value, and the specific naming system does not allow
this.
- FN_E_AUTHENTICATION_FAILURE
- The identity of the client principal
could not be verified.
- FN_E_COMMUNICATION_FAILURE
- An error occurred in
communicating with one of the contexts involved in the operation.
- FN_E_CONFIGURATION_ERROR
- A problem was detected that indicated an error in the installation of
the XFN implementation.
- FN_E_CONTINUE
- The operation should be continued
using the remaining name and the resolved reference returned in the status.
- FN_E_CTX_NO_PERMISSION
- The client did not have permission to perform the
operation.
- FN_E_CTX_NOT_EMPTY
- (Applies only to fn_ctx_destroy_subcontext().)
The naming system required that the context be empty before its destruction,
and it was not empty.
- FN_E_CTX_UNAVAILABLE
- Service could not be obtained
from one of the contexts involved in the operation. This may be because
the naming system is busy, or is not providing service. In some implementations
this may not be distinguished from a communication failure.
- FN_E_ILLEGAL_NAME
- The name supplied to the operation was not a well- formed XFN composite
name, or one of the component names was not well-formed according to the
syntax of the naming system(s) involved in its resolution.
- FN_E_E_INCOMPATIBLE_CODE_SETS
- The operation involved character strings of incompatible code sets, or
the supplied code set is not supported by the implementation.
- FN_E_INSUFFICIENT_RESOURCES
- Either the client or one of the involved contexts could not obtain sufficient
resources (for example, memory, file descriptors, communication ports,
stable media space, and so on) to complete the operation successfully.
- FN_E_INVALID_ATTR_IDENTIFIER
- The attribute identifier was not in a format
acceptable to the naming system, or its content was not valid for the format
specified for the identifier.
- FN_E_INVALID_ATTR_VALUE
- One of the values
supplied was not in the appropriate form for the given attribute.
- FN_E_INVALID_ENUM_HANDLE
- The enumeration handle supplied was invalid, either because it was from
another enumeration, or because an update operation occurred during the
enumeration, or because of some other reason.
- FN_E_INVALID_SYNTAX_ATTRS
- The syntax attributes supplied are invalid or insufficient to fully specify
the syntax.
- FN_E_LINK_ERROR
- There was an error in resolving an XFN link
encountered during resolution of the supplied name.
- FN_E_LINK_LOOP_LIMIT
- A non-terminating loop (cycle) in the resolution can arise due to XFN links
encountered during the resolution of a composite name. This code indicates
either the definite detection of such a cycle, or that resolution exceeded
an implementation-defined limit on the number of XFN links allowed for a
single operation invoked by the caller.
- FN_E_MALFORMED_LINK
- A malformed
link reference was encountered. For fn_ctx_lookup_link(), the name supplied
resolved to a reference that was not a link.
- FN_E_MALFORMED_REFERENCE
- A
context object could not be constructed from the supplied reference, because
the reference was not properly formed.
- FN_E_NAME_IN_USE
- (Only for operations
that bind names.) The supplied name was already in use.
- FN_E_NAME_NOT_FOUND
- Resolution of the supplied composite name proceeded to a context in which
the next atomic component of the name was not bound.
- FN_E_NO_SUCH_ATTRIBUTE
- The object did not have an attribute with the given identifier.
- FN_E_NO_SUPPORTED_ADDRESS
- A context object could not be constructed from a particular reference.
The reference contained no address type over which the context interface
was supported.
- FN_E_NOT_A_CONTEXT
- Either one of the intermediate atomic
names did not name a context, and resolution could not proceed beyond
this point, or the operation required that the caller supply the name
of a context, and the name did not resolve to a reference for a context.
- FN_E_OPERATION_NOT_SUPPORTED
- The operation attempted is not supported.
- FN_E_PARTIAL_RESULT
- The operation attempted is returning a partial result.
- FN_E_SYNTAX_NOT_SUPPORTED
- The syntax type specified is not supported.
- FN_E_TOO_MANY_ATTR_VALUES
- The operation attempted to associate more values with an attribute than
the naming system supported.
- FN_E_UNSPECIFIED_ERROR
- An error occurred that
could not be classified by any of the other error codes.
- #include
<xfn/xfn.h>
- XFN status codes header file
FN_status_t(3N)
, xfn(3N)
,
xfn_ctx_destroy_subcontext(3N)
, xfn_ctx_lookup_link(3N)
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