rpc_cs_eval_with_universal- evaluates a server's supported character sets and code sets during the server binding selection process
void rpc_cs_eval_with_universal( rpc_ns_handle_t binding_handle, idl_void_p_t eval_args, idl_void_p_t *context);
- The server binding handle.
- An opaque data type that contains matching criteria that the routine uses to perform character and code sets compatibility evaluation.
- An opaque data type that contains search context to perform character and code sets compatibility evaluation. The routine returns the result of the evaluation in a field within context.
- Returns the status code from this routine. This status code indicates whether the routine completed successfully or, if not, why not.
Possible status codes and their meanings include:
The rpc_cs_eval_with_universal() routine evaluates, within an import context, the code sets and character sets supported by a server, providing a mechanism with which a client that is passing international character data can evaluate character and code sets compatibility before establishing a connection. It is one of the routines used for character and code set interoperability, which permits clients and servers to transfer international character data in a heterogeneous character set and code sets environment.
Client applications do not call rpc_cs_eval_with_universal() directly. Instead, they add it to the import context created by the rpc_ns_binding_import_begin() routine by calling the rpc_ns_import_ctx_add_eval() routine and specifying the routine name and the server entry name to be evaluated. When the application calls the rpc_ns_binding_import_next() routine to import binding handles for compatible servers, this routine calls the rpc_cs_eval_with_universal() routine, which then uses the rpc_cs_char_set_compat_check() routine to check character set compatibility between client and server.
The rpc_cs_eval_with_universal() routine directs the rpc_ns_binding_import_next() routine to reject servers with incompatible character sets. If client and server character sets are compatible, but their supported code sets are not, the routine establishes tags that direct the client and/or server stubs to convert character data to the user-defined intermediate code set, if any, or the default, which is the ISO10646 (or universal) code set. (By contrast, the rpc_cs_eval_without_universal() routine rejects all connections for which code set compatibility has not been established.)
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.