| ## rpc_cs_eval_with_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_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_args An opaque data type that contains matching criteria that the routine uses to perform character and 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_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 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 (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. 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_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) ##