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

개요

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

scf_tmpl_validate_fmri(3scf)

Service Configuration Facility Library Functions
                                                  scf_tmpl_validate_fmri(3SCF)



NAME
       scf_tmpl_validate_fmri,  scf_tmpl_errors_destroy,  scf_tmpl_next_error,
       scf_tmpl_reset_errors,     scf_tmpl_strerror,      scf_tmpl_error_type,
       scf_tmpl_error_source_fmri,  scf_tmpl_error_pg_tmpl, scf_tmpl_error_pg,
       scf_tmpl_error_prop_tmpl, scf_tmpl_error_prop,  scf_tmpl_error_value  -
       template validation functions

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

       int scf_tmpl_validate_fmri(scf_handle_t *h, const char *fmri,
            const char *snapshot, scf_tmpl_errors_t **errs, int flags);


       void scf_tmpl_errors_destroy(scf_tmpl_errors_t *errs);


       scf_tmpl_error_t *scf_tmpl_next_error(scf_tmpl_errors_t *errs,
            scf_tmpl_errors_t *err)


       void scf_tmpl_reset_errors(scf_tmpl_errors_t *errs);


       int scf_tmpl_strerror(scf_tmpl_error_t *err, char *s,
            size_t n, int flags);


       int scf_tmpl_error_type(const scf_tmpl_error_t *err,
            scf_tmpl_error_type_t *type);


       int scf_tmpl_error_source_fmri(const scf_tmpl_error_t *err,
            char *fmri);


       int scf_tmpl_error_pg_tmpl(const scf_tmpl_error_t *err, char *name,
            char *type);


       int scf_tmpl_error_pg(const scf_tmpl_error_t *err,
            char **name, char **type);


       int scf_tmpl_error_prop_tmpl(const scf_tmpl_error_t *err, char **name,
            char **type);


       int scf_tmpl_error_prop(const scf_tmpl_error_t *err, char **name,
            char **type,);


       int scf_tmpl_error_value(const scf_tmpl_error_t *err, char**val);

DESCRIPTION
       The  template validation functions offer a way to validate the configu‐
       ration data of an service instance  against  the  appropriate  template
       data.  The  scf_tmpl_validate_fmri()  function  returns the full set of
       errors for the specified instance, and those errors can be  printed  or
       explored directly.


       By  default,  the validation is performed on the composed data from the
       running snapshot of an instance. A different snapshot can be explicitly
       selected  by  specifying a valid snapshot name rather than NULL for the
       snapshot argument. If  flags  includes  SCF_TMPL_VALIDATE_FLAG_CURRENT,
       the snapshot argument is ignored and the current configuration is used.


       By  default,  these functions also explore template data defined by the
       service or instance itself, the service's restarter,  and  global  tem‐
       plate  data. See smf_template(7) for more information about this compo‐
       sition.


       An instance FMRI is required, and FMRIs  that  specify  other  entities
       (for example, services) are explicitly rejected.


       The   scf_tmpl_validate_fmri()  function  validates  an  instance  FMRI
       against the template data in the repository. As described  above,  when
       the snapshot argument is NULL, the default running snapshot is used. If
       scf_tmpl_errors_t **  is  non-null,  the  structure  is  allocated  and
       returned to the caller for further perusal or printing of the errors.


       The   scf_tmpl_errors_destroy()   function   destroys   and  frees  the
       scf_tmpl_errors_t and all of the scf_tmpl_error_t structures  to  which
       it refers. The scf_error() function is not modified by this call.


       The    scf_tmpl_next_error()    function   takes   a   pointer   to   a
       scf_tmpl_errors_t  structure  previously  returned  by   scf_tmpl_vali‐
       date_fmri().  On  the  first  call,  it  returns a pointer to the first
       scf_tmpl_error_t found during validation. On subsequent calls, the next
       error is returned. To resume processing from the first error, the call‐
       er can use scf_tmpl_reset_errors().


       The contents of an scf_tmpl_error_t are determined by its  type.  Types
       added  as  additional  validation  checks  are introduced. Based on the
       error type, a set of fields can be retrieved from the error.

       SCF_TERR_TYPE_INVALID

           reserved invalid type


       SCF_TERR_MISSING_PG

           required property group is missing
             template source FMRI
             property group template name and type


       SCF_TERR_WRONG_PG_TYPE

           property group type is incorrect
             template source FMRI
             property group template name and type
             property group name and type


       SCF_TERR_MISSING_PROP

           required property is missing
             template source FMRI
             property group template name and type
             property template name and type


       SCF_TERR_WRONG_PROP_TYPE

           property type is incorrect
             template source FMRI
             property group template name and type
             property template name and type
             property group name and type
             property name and type


       SCF_TERR_CARDINALITY_VIOLATION

           number of values violates cardinality
             template source FMRI
             property group template name and type
             property template name and type
             property group name and type
             property name and type
             cardinality and cardinality limits


       SCF_TERR_VALUE_CONSTRAINT_VIOLATED

           constraint violated for value
             template source FMRI
             property group template name and type
             property template name and type
             property group name and type
             property name and type
             value


       SCF_TERR_RANGE_VIOLATION

           value violated specified range
             template source FMRI
             property group template name and type
             property template name and type
             property group name and type
             property name and type
             value


       SCF_TERR_PROP_TYPE_MISMATCH

           value type is different from property type
             template source FMRI
             property group template name and type
             property template name and type


       SCF_TERR_VALUE_OUT_OF_RANGE

           value is out of template defined range
             template source FMRI
             property group template name and type
             property template name and type
             value


       SCF_TERR_INVALID_VALUE

           value violates template defined constraints
             template source FMRI
             property group template name and type
             property template name and type
             value



       The   SCF_TERR_PROP_TYPE_MISMATCH,   SCF_TERR_VALUE_OUT_OF_RANGE    and
       SCF_TERR_INVALID_VALUE    types    are   only   set   from   calls   to
       scf_tmpl_value_in_constraint(3SCF).


       The scf_tmpl_error_type() function retrieves the error type.


       The scf_tmpl_error_source_fmri() function retrieves a string  with  the
       FMRI  of  the  source of the template that was violated. This string is
       freed by scf_tmpl_errors_destroy(). The  scf_error()  function  is  not
       modified by this call.


       The  scf_tmpl_error_pg_tmpl()  function retrieves strings with the name
       and type of the property group template that was violated. If the prop‐
       erty group name or type was implicitly wildcarded (see smf_template(7))
       in  the  template,  this   function   returns   a   string   containing
       SCF_TMPL_WILDCARD     ("*").     These    strings    are    freed    by
       scf_tmpl_errors_destroy(). The scf_error() function is not modified  by
       this call.


       The  scf_tmpl_error_pg()  function  retrieves strings with the name and
       type of the property group that was violated. These strings  are  freed
       by  scf_tmpl_errors_destroy(). The scf_error() function is not modified
       by this call.


       The scf_tmpl_error_prop_tmpl() function retrieves strings with the name
       and  type  of  the property template that was violated. If the property
       type was implicitly wildcarded (see smf_template(7)) in  the  template,
       this  function  returns  a  string  containing SCF_TMPL_WILDCARD ("*").
       These strings are freed by scf_tmpl_errors_destroy().


       The scf_tmpl_error_prop() function retrieves strings with the name  and
       type  of  the  property  that  was violated. These strings are freed by
       scf_tmpl_errors_destroy(). The scf_error() function is not modified  by
       this call.


       The  scf_tmpl_error_value()  function retrieves a string with the value
       containing   the   error   in   val.   This   string   is   freed    by
       scf_tmpl_errors_destroy().  The scf_error() function is not modified by
       this call.


       The scf_tmpl_strerror() function takes an  scf_tmpl_error_t  previously
       returned  by  scf_tmpl_next_error() and returns in s. If flags includes
       SCF_TMPL_STRERROR_HUMAN, s is a human-readable,  localized  description
       of  the  error.  Otherwise, s is a one-line string suitable for logfile
       output.

RETURN VALUES
       The scf_tmpl_validate_fmri() function returns 0 on  successful  comple‐
       tion  with no validation failures. It returns 1 if there are validation
       failures. It returns -1 if there is an error validating the instance.


       The scf_tmpl_next_error()  function  returns  a  pointer  to  the  next
       scf_tmpl_error_t. When none remain, it returns NULL.


       The         scf_tmpl_error_type(),        scf_tmpl_error_source_fmri(),
       scf_tmpl_error_pg_tmpl(),                          scf_tmpl_error_pg(),
       scf_tmpl_error_prop_tmpl(),          scf_tmpl_error_prop(),         and
       scf_tmpl_error_value() functions return 0 on success and -1 on failure.


       The scf_tmpl_strerror() function returns the number of bytes that would
       have been written to s if n had been sufficiently large.

ERRORS
       The scf_tmpl_validate_fmri() function will fail if:

       SCF_ERROR_BACKEND_ACCESS

           The  storage  mechanism that the repository server (svc.configd(8))
           chose for the operation denied access.


       SCF_ERROR_CONNECTION_BROKEN

           The connection to the repository was lost.


       SCF_ERROR_DELETED

           The instance or one  of  its  template  property  group  have  been
           deleted.


       SCF_ERROR_HANDLE_DESTROYED

           The handle passed in has been destroyed.


       SCF_ERROR_INTERNAL

           An internal error occurred.


       SCF_ERROR_INVALID_ARGUMENT

           The handle argument, FMRI argument, or snapshot name is invalid


       SCF_ERROR_NO_MEMORY

           There is not enough memory to validate the instance.


       SCF_ERROR_NO_RESOURCES

           The  server  does  not  have  adequate  resources  to  complete the
           request.


       SCF_ERROR_NOT_BOUND

           The handle is not currently bound.


       SCF_ERROR_NOT_FOUND

           An object matching FMRI does not exist in the  repository,  or  the
           snapshot does not exist.


       SCF_ERROR_PERMISSION_DENIED

           The  instance  or template could not be read due to access restric‐
           tions.


       SCF_ERROR_TEMPLATE_INVALID

           The template data is invalid.



       The             scf_tmpl_strerror(),             scf_tmpl_error_type(),
       scf_tmpl_error_source_fmri(),                 scf_tmpl_error_pg_tmpl(),
       scf_tmpl_error_pg(), scf_tmpl_error_prop_tmpl(), scf_tmpl_error_prop(),
       and scf_tmpl_error_value() functions will fail if:

       SCF_ERROR_INVALID_ARGUMENT    The    scf_tmpl_errors_t    argument   is
                                     invalid.



       The        scf_tmpl_error_type(),         scf_tmpl_error_source_fmri(),
       scf_tmpl_error_pg_tmpl(),                          scf_tmpl_error_pg(),
       scf_tmpl_error_prop_tmpl(),         scf_tmpl_error_prop(),          and
       scf_tmpl_error_value() functions will fail if:

       SCF_ERROR_NOT_FOUND    The  data  requested  is  not  available for the
                              scf_tmpl_error_t argument supplied.


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-LevelSafe


SEE ALSO
       scf_tmpl_value_in_constraint(3SCF),   attributes(7),   smf_template(7),
       svc.configd(8)



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