PreviousNext

dced_server_start(3dce)

Starts a DCE-configured server on a specified host

Synopsis

#include <dce/dced.h>

void dced_server_start(

dced_binding_handle_t dced_bh,

uuid_t *conf_uuid,

dced_attr_list_t *attributes,

uuid_t *exec_uuid,

error_status_t *status);

Parameters

Input

dced_bh
Specifies the dced binding handle for the srvrconf service on a specific host.

conf_uuid
Specifies the UUID that dced uses to identify the server to start. If the value input is that of a server that is already running, dced starts a new instance.

attributes
Specifies the configuration attributes to use to start the server. If the value is NULL, the default configuration defined in dced is used.

Input/Output

exec_uuid
Specifies a new UUID for dced to use to identify the running server. If a NIL UUID is input, a new UUID is created and returned. If the value input is that of a server that is already running, dced starts a new instance and returns a new value.

Output

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

Description
The dced_server_start( ) routine starts DCE-configured servers on a specific remote host (or the local host). The configuration data is stored in an object in the srvrconf service of dced. When the server starts, dced uses the server configuration object and creates a server execution object in the srvrexec service. A server execution object consists of data that describes the executing server.

Management applications create the configuration data by using the dced_server_create( ) use the dced_object_read( ) routine to read the configuration or execution data.

Prior to calling dced_server_start( ), the application must have established a valid dced binding handle to the srvrconf service by calling either dced_binding_create( ) or dced_binding_from_rpc_binding( ).

Examples
The following example starts a configured server using a nil UUID as input for the executing server.

dced_binding_handle_t conf_bh;
dced_string_t server_name;
uuid_t srvrconf_id, srvrexec_id;
error_status_t status;

dced_binding_create("srvrconf@hosts/patrick",
dced_c_binding_syntax_default,
&conf_bh,
&status);
dced_inq_id(conf_bh, server_name, &srvrconf_id, &status);
uuid_create_nil(&srvrexec_id, &status);
dced_server_start(conf_bh, &srvrconf_id, NULL, &srvrexec_id, &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

db_s_bad_header_type

db_s_iter_not_allowed

db_s_key_not_found

db_s_readonly

db_s_store_failed

dced_s_bad_binding

dced_s_no_support

dced_s_not_found

dced_s_sc_cant_fork

dced_s_sc_invalid_attr_type

dced_s_sc_open_file_failed

sec_acl_invalid_permission

uuid_s_bad_version

Related Information
Routines: dced_server_create(3dce)

dced_server_stop(3dce)

dced_binding_create(3dce)

dced_binding_from_rpc_binding(3dce)

dcecp objects: server(8dce)

Book: OSF DCE Application Development Guide - Core Components