scf_handle_create(3scf) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

scf_handle_create(3scf)

Service Configuration Facility Library Functions       scf_handle_create(3SCF)



NAME
       scf_handle_create,  scf_handle_destroy,  scf_handle_decorate,  scf_han‐
       dle_bind, scf_handle_unbind, scf_myname - Service Configuration  Facil‐
       ity handle functions

SYNOPSIS
       cc [ flag... ] file... -lscf [ library... ]
       #include <libscf.h>

       scf_handle_t *scf_handle_create(scf_version_t version);


       void scf_handle_destroy(scf_handle_t *handle);


       int scf_handle_decorate(scf_handle_t *handle, const char *param,
            scf_value_t *value);


       int scf_handle_bind(scf_handle_t *handle);


       int scf_handle_unbind(scf_handle_t *handle);


       ssize_t scf_myname(scf_handle_t *handle, char *out, size_t sz);

DESCRIPTION
       The  scf_handle_create()  function  creates a new Service Configuration
       Facility handle that is used as the base for all communication with the
       configuration repository. The version argument must be SCF_VERSION.


       The  scf_handle_decorate()  function  sets  a  single  connection-level
       parameter,  param,  to  the  supplied  value.  If  value  is  SCF_DECO‐
       RATE_CLEAR,  param  is  reset  to  its  default state. Values passed to
       scf_handle_decorate() can be reset, reused, or  destroyed.  The  values
       set  do  not take effect until scf_handle_bind() is called. Any invalid
       values will not cause errors prior to the  call  to  scf_handle_bind().
       The available decorations are:

       debug          (count) Set the debugging flags.


       show-masked    (boolean)  This connection to the repository should show
                      entities  masked  by  the  administrator.  See  scf_ser‐
                      vice_is_masked(3SCF) for details.



       The  scf_handle_bind()  function binds the handle to a running svc.con‐
       figd(8) daemon, using the current decorations to modify the connection.
       All  states  derived from the handle are reset immediately after a suc‐
       cessful binding.


       The scf_handle_unbind() function severs an existing repository  connec‐
       tion or clears the in-client state for a broken connection.


       The  scf_handle_destroy() function destroys and frees an SCF handle The
       scf_error() function is not modified by this call. It is illegal to use
       the  handle  after calling scf_handle_destroy(). Actions on subordinate
       objects act as if the handle is unbound.


       The scf_myname() function retrieves the FMRI for the service  of  which
       the  connecting process is a part. If the full FMRI does not fit in the
       provided buffer, it is truncated and, if sz > 0, zero-terminated.

RETURN VALUES
       Upon successful completion, scf_handle_create() returns the new handle.
       Otherwise, it returns NULL.


       Upon  successful  completion, scf_handle_decorate(), scf_handle_bind(),
       and scf_handle_unbind() return 0. Otherwise, they return -1.


       The scf_myname() function returns the length of the full  FMRI.  Other‐
       wise, it returns -1.

ERRORS
       The scf_handle_create() function will fail if:

       SCF_ERROR_NO_MEMORY

           There is no memory available.


       SCF_ERROR_VERSION_MISMATCH

           The  version  is invalid, or the application was compiled against a
           version of the library that is more recent than the one on the sys‐
           tem.



       The scf_handle_decorate() function will fail if:

       SCF_ERROR_INVALID_ARGUMENT

           The param argument is not a recognized parameter.


       SCF_ERROR_TYPE_MISMATCH

           The value argument does not match the expected type for param.


       SCF_ERROR_NOT_SET

           The value argument is not set.


       SCF_ERROR_IN_USE

           The handle is currently bound.


       SCF_ERROR_HANDLE_MISMATCH

           The value argument is not derived from handle.



       The scf_handle_bind() function will fail if:

       SCF_ERROR_INVALID_ARGUMENT

           One of the decorations was invalid.


       SCF_ERROR_NO_SERVER

           The repository server is not running.


       SCF_ERROR_NO_RESOURCES

           The server does not have adequate resources for a new connection.


       SCF_ERROR_IN_USE

           The handle is already bound.



       The scf_handle_unbind() function will fail if:

       SCF_ERROR_NOT_BOUND

           The handle is not bound.



       The scf_myname() function will fail if:

       SCF_ERROR_CONNECTION_BROKEN

           The connection to the repository was lost.


       SCF_ERROR_NOT_BOUND

           The handle is not bound.


       SCF_ERROR_NOT_SET

           This process is not marked as a SMF service.



       The scf_error(3SCF) function can be used to retrieve the error value.

ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       tab()  box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE TYPEAT‐
       TRIBUTE VALUE _ Interface StabilityCommitted _ MT-LevelSee below.



       Operations on a single handle (and the objects associated with it)  are
       Safe.  Operations  on different handles are MT-Safe. Objects associated
       with different handles cannot  be  mixed,  as  this  will  lead  to  an
       SCF_ERROR_HANDLE_MISMATCH error.

SEE ALSO
       libscf(3LIB),       scf_error(3SCF),       scf_service_is_masked(3SCF),
       attributes(7)



Oracle Solaris 11.4               14 Aug 2017          scf_handle_create(3SCF)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3