|
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.
XFN Status Codes
|
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.
|
|