rpc_cs_eval_with_universal(3rpc) — Subroutines
NAME
rpc_cs_eval_with_universal — Evaluates a server’s supported character sets and code sets during the server binding selection process; used indirectly by client applications
Synopsis
void rpc_cs_eval_with_universal(
rpc_ns_handle_t binding_handle,
idl_void_p_t eval_args,
idl_void_p_t ∗context);
Parameters
Input
binding_handle
The server binding handle.
eval_argsAn opaque data type that contains matching criteria that the routine uses to perform character and code sets compatibility evaluation.
Input/Output
contextAn 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.
Description
The rpc_cs_eval_with_universal() routine is a DCE RPC character and code sets evaluation routine that can be added to an import context. The routine provides a mechanism for a client application that is passing character data in a heterogeneous character set and code sets environment to evaluate a server’s character and code sets compatibility before establishing a connection with it.
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 routine rpc_ns_import_ctx_add_eval() and specifying the routine name and the RPC server entry name to be evaluated. When the client application calls the rpc_ns_binding_import_next() routine to import compatible binding handles for servers, this routine calls rpc_cs_eval_with_universal(), which applies client-server code sets compatibility checking as another criteria for compatible binding selection.
The rpc_cs_eval_with_universal() routine directs the routine rpc_ns_binding_import_next() 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 (if any) or default intermediate code set, which is the ISO10646 (or universal) code set.
Note:
Application programmers need not pay attention to the arguments of this routine. Programmers only need to use the routine rpc_ns_import_ctx_add_eval() to set the routine, for example:
rpc_ns_import_ctx_add_eval(
&import_context,
rpc_c_eval_type_codesets,
(void ∗) nsi_entry_name,
rpc_cs_eval_with_universal,
NULL,
&status);
Permissions Required
No permissions are required.
Return Values
No value is returned.
Related Information
Functions: rpc_cs_eval_without_universal(3rpc), rpc_cs_get_tags(3rpc), rpc_ns_binding_import_begin(3rpc), rpc_ns_binding_import_done(3rpc), rpc_ns_binding_import_next(3rpc), rpc_ns_import_ctx_add_eval(3rpc), rpc_ns_mgmt_handle_set_exp_age(3rpc).