| ## dced_server_enable_if(3dce) Enables a service (rpc interface) of a specific server on a specific host Synopsis #include <dce/dced.h> void dced_server_enable_if( dced_binding_handle_t dced_bh, uuid_t *exec_uuid, rpc_if_id_t *interface, error_status_t *status); Parameters Input dced_bh Specifies the dced binding handle for the srvrexec service on a specific host. exec_uuid Specifies the UUID that dced uses to identify the running server. interface Specifies the RPC interface identifier that represents the service to be enabled. The interface identifier is generated when idl compiles an interface definition file. The interface identifier is a structure that contains the interface UUID (interface->uuid), and the major (interface->vers_major) and minor (interface->vers_minor) version numbers for the interface. 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_enable_if( ) routine enables a service (or re-enables a previously disabled service) that a specific server provides. Management applications use this routine. A service is represented by an RPC interface identifier. When a server starts and initializes itself, it typically calls the dce_server_register( ) routine to enable all of its services. The services can then be disabled and re-enabled, as needed. A server enables and disables its own services by using dce_server_enable_service( ) and dce_server_disable_service( ) and a management application enables and disables a remote server's service using dced_server_enable_if( ) and dced_server_disable_if( ). The dce_server* routines affect both the RPC runtime and the local endpoint map by registering (or unregistering) with the runtime and setting a flag for the interface in the endpoint map as enabled (or disabled). The dced_server_enable_if( ) and dced_server_disable_if( ) routines affect only the remote endpoint map by setting the flag. Prior to calling dced_server_enable_if( ), the application must have established a valid dced binding handle to the srvrexec service by calling either dced_binding_create( ) or dced_binding_from_rpc_binding( ). 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_index_type db_s_iter_not_allowed db_s_readonly db_s_store_failed dced_s_bad_binding dced_s_not_found sec_acl_invalid_permission Related Information Routines: dce_server_register(3dce) dce_server_enable_service(3dce) dce_server_disable_service(3dce) dced_server_disable_if(3dce) dced_binding_create(3dce) dced_binding_from_rpc_binding(3dce) dcecp objects: server(8dce) Book: OSF DCE Application Development Guide - Core Components ##