VMS Help  —  DCE  DCE_RPC, Application Routines, rpc_cs_eval_with_universal
 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

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

   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
              rpc_cs_get_tags
              rpc_ns_binding_import_begin
              rpc_ns_binding_import_done
              rpc_ns_binding_import_next
              rpc_ns_import_ctx_add_eval
              rpc_ns_mgmt_handle_set_exp_age
Close Help