Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ dced_binding_create(3dce) — DCE 3.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

dced_binding_create(3dce)  —  Subroutines

Name

dced_binding_create - Establishes a dced binding to one of the host services of a remote (or the local) dced

Synopsis

#include <dce/dced.h> void dced_binding_create(
dced_string_t service,
unsigned32 binding_flags,
dced_binding_handle_t ∗dced_bh,
error_status_t ∗status);

Parameters

Input

serviceA character string that specifies a host daemon service name and an optional remote host.  A service name is specified with one of the following: hostdata, srvrconf, srvrexec, secval, or keytab.  The format of a complete service and host specification is one of the following:

service_name
A service at the local host.  Pre-existing defined values include

dced_c_service_hostdata

dced_c_service_srvrconf

dced_c_service_srvrexec

dced_c_service_secval

dced_c_service_keytab

service_name@hosts/host_name
A service at a host anywhere in the local namespace.

/.:/hosts/host_name/config/service_name
A complete specification for service_name@host, where the host is anywhere in the local namespace. 

/.../cell/hosts/host_name/config/service_name
A service at a host anywhere in the global namespace.

binding_flags
The only valid flag value for this parameter is dced_c_binding_syntax_default. 

Output

dced_bhReturns a dced binding handle which is a pointer to an opaque data structure containing information about an RPC binding, the host, the host service, and a local cache. 

statusReturns the status code from this routine.  This status code indicates whether the routine completed successfully or, if not, why not. 

Description

The dced on each DCE host maintains the host services and provides a remote interface to them.  The host services include the following:

       •endpoint mapper

       •host data management (hostdata)

       •server management, including server configuration (srvrconf) and server execution (srvrexec)

       •security validation (secval)

       •key table management (keytab)

The dced_binding_create() routine establishes a dced binding to a dced service and it (or dced_binding_from_rpc_binding()) must be the first dced API routine called before an application can access one of the host services with other dced API routines.  When an application is finished with the service, it should call the dced_binding_free() routine to free resources.  To establish a dced binding to your local host’s dced, you can use the service name by itself, and do not need to specify a host. 

To access the endpoint map directly, use rpc_mgmt_ep_elt_inq_begin() and associated routines. 

Examples

The following example establishes a dced binding to the server configuration service on the host patrick. 

dced_binding_handle_t dced_bh;
error_status_t        status;
 dced_binding_create("srvrconf@hosts/patrick",
                    dced_c_binding_syntax_default,
                    &dced_bh,
                    &status);
 .
 . /∗ Other routines including dced API routines. ∗/
 .
dced_binding_free(dced_bh, &status);

Errors

The following describes a partial list of errors that might be returned.  Refer to the OSF DCE Problem Determination Guide for complete descriptions of all error messages. 

error_status_ok

dce_cf_e_no_mem

dced_s_invalid_arg

dced_s_no_memory

dced_s_unknown_service

rpc_s_entry_not_found

rpc_s_incomplete_name

rpc_s_invalid_object

rpc_s_name_service_unavailable

rpc_s_no_memory

rpc_s_no_more_bindings

rpc_s_no_ns_permission

Related Information

Functions: dced_binding_free(3dce), dced_binding_from_rpc_binding(3dce). 

Books: OSF DCE Application Development Guide. 

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026