PreviousNext

rpc_cs_eval_without_universal(3rpc)

Evaluates a server's supported character sets and code sets during the server binding selection process

Used indirectly by client applications.

Synopsis

#include <dce/rpc.h>

void rpc_cs_eval_without_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_args
An opaque data type that contains matching criteria that the routine uses to perform code sets compatibility evaluation.

Input/Output

context
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.

Description
The rpc_cs_eval_without_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_without_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_without_universal( ), which applies client-server code sets compatibility checking as another criteria for compatible binding selection.

The rpc_cs_eval_without_universal( ) routine directs the rpc_ns_binding_import_next( ) routine to reject servers with incompatible character sets. The routine also directs the rpc_ns_binding_import_next( ) routine to reject servers whose supported code sets are incompatible with the client's supported code sets; that is, it does not resort to using an intermediate code set as a last resort.

Note: Application programmers need not pay attention to the arguments of this routine. They only need to use the 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_without_universal,

NULL,

&status);

Permissions Required
No permissions are required.

Return Values
No value is returned.

Related Information
Functions: 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)