| ## 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) ##