The following are declarations for integers of specific sizes:
The following is the declaration for boolean:
The following types are used for status return values:
The following types are used for UUIDs:
The following is the declaration for protocol towers, the
network representation of network addressing information such as RPC
bindings. The contents of the tower_octet_string encode the
abstract type protocol_tower_t, defined in
The following are NDR format flag type definitions and values:
The following is the network representation of an IDL context handle:
The following are international character types:
The following are authentication protocol IDs. These are
architectural values that are carried in RPC protocol messages.
This section contains declarations for the status codes that may be sent in connectionless reject and connectionless and connection-oriented fault PDUs. The Open Group DCE specifies the values of these codes; the names are a notational convenience and are not part of the specification.
A distinction can be drawn between protocol-level errors, which are associated with the RPC request/response protocols proper, and application-level errors, which are defined by IDL and the presentation protocol in use (for example, NDR). Errors such as "unknown interface" are in the former category; errors such as "divide-by-zero" are in the latter category.
Protocol-level errors are interpreted by the RPC protocols. They are sent by a server in the body of a connectionless reject PDU or in the status field of the header of a connection-oriented fault PDU.
Application-level errors are understood by stubs, which map these errors to the appropriate application status return values. In both protocols, application-level errors are indicated in the bodies of fault PDUs. The contents of these bodies are untouched by the RPC protocol proper and are simply conveyed from server to client application. In the names below, the application errors are by convention named nca_s_fault_* to distinguish them.
The following status codes are defined:
/* unable to get response from server: */
const long nca_s_comm_failure = 0x1C010001;
/* bad operation number in call: */
const long nca_s_op_rng_error = 0x1C010002;
/* unknown interface: */
const long nca_s_unk_if = 0x1C010003;
/* client passed server wrong server boot time: */
const long nca_s_wrong_boot_time = 0x1C010006;
/* a restarted server called back a client: */
const long nca_s_you_crashed = 0x1C010009;
/* someone messed up the protocol: */
const long nca_s_proto_error = 0x1C01000B;
/* output args too big: */
const long nca_s_out_args_too_big = 0x1C010013;
/* server is too busy to handle call: */
const long nca_s_server_too_busy = 0x1C010014;
/* string argument longer than declared max len: */
const long nca_s_fault_string_too_long = 0x1C010015;
/* no implementation of generic operation for object: */
const long nca_s_unsupported_type = 0x1C010017;
const long nca_s_fault_int_div_by_zero = 0x1C000001;
const long nca_s_fault_addr_error = 0x1C000002;
const long nca_s_fault_fp_div_zero = 0x1C000003;
const long nca_s_fault_fp_underflow = 0x1C000004;
const long nca_s_fault_fp_overflow = 0x1C000005;
const long nca_s_fault_invalid_tag = 0x1C000006;
const long nca_s_fault_invalid_bound = 0x1C000007;
const long nca_s_rpc_version_mismatch = 0x1C000008;
/* call rejected, but no more detail: */
const long nca_s_unspec_reject = 0x1C000009;
const long nca_s_bad_actid = 0x1C00000A;
const long nca_s_who_are_you_failed = 0x1C00000B;
const long nca_s_manager_not_entered = 0x1C00000C;
const long nca_s_fault_cancel = 0x1C00000D;
const long nca_s_fault_ill_inst = 0x1C00000E;
const long nca_s_fault_fp_error = 0x1C00000F;
const long nca_s_fault_int_overflow = 0x1C000010;
/* unused: 0x1C000011; */
const long nca_s_fault_unspec = 0x1C000012;
const long nca_s_fault_remote_comm_failure = 0x1C000013;
const long nca_s_fault_pipe_empty = 0x1C000014;
const long nca_s_fault_pipe_closed = 0x1C000015;
const long nca_s_fault_pipe_order = 0x1C000016;
const long nca_s_fault_pipe_discipline = 0x1C000017;
const long nca_s_fault_pipe_comm_error = 0x1C000018;
const long nca_s_fault_pipe_memory = 0x1C000019;
const long nca_s_fault_context_mismatch = 0x1C00001A;
const long nca_s_fault_remote_no_memory = 0x1C00001B;
const long nca_s_invalid_pres_context_id = 0x1C00001C;
const long nca_s_unsupported_authn_level = 0x1C00001D;
const long nca_s_invalid_checksum = 0x1C00001F;
const long nca_s_invalid_crc = 0x1C000020;
const long nca_s_fault_user_defined = 0x1C000021;
const long nca_s_fault_tx_open_failed = 0x1C000022;
const long nca_s_fault_codeset_conv_error = 0x1C000023;
const long nca_s_fault_object_not_found = 0x1C000024;
const long nca_s_fault_no_client_stub = 0x1C000025;
This section contains some RPC-specific data types declarations.
In this section, the interface attribute [pointer_default(ref)] is assumed in effect, unless explicitly overridden.
The following is a declaration of the interface identifier structure,
consisting of uuid and major and minor version fields:
The following is a declaration of a vector of interface identifiers:
The following are declarations of
version options (choices for matching on version numbers):
The following are declarations of
constants for accessing values in statistics vector:
The following is a declaration of a
statistics vector returned by management inquiry:
The following are declarations of constants for the endpoint service:
Please note that the html version of this specification may contain formatting aberrations. The definitive version is available as an electronic publication on CD-ROM from The Open Group.
Contents | Next section | Index |