Go to main content

man pages section 3: Remote Administration Daemon Module Interfaces

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

ips-1 (3rad)

Name

ips-1 - API for pkg operations in IPS

Synopsis

#include <rad/client/1/ips.h>
cc [ flag... ] file... -lips1_client [ library... ]

interface PkgSource
const char * URI ; (ro)
const char * type ; (ro)
const char * status ; (ro)
const char ** proxies ; (ro)
const char * cert_effective_date ; (ro)
const char * cert_expiration_date ; (ro)
const char * SSL_key ; (ro)
const char * SSL_cert ; (ro)

interface PkgPublisher
const char * prefix ; (ro)
const char * alias ; (ro)
const char * client_UUID ; (ro)
const char * cat_updated_time ; (ro)
const char * enabled ; (ro)
const char * sticky ; (ro)
const char * syspub ; (ro)
const rc_instance_t ** mirrors ; (ro)
const rc_instance_t ** origins ; (ro)
ips_PkgProperty_t ** properties ; (ro)
const char ** approved_CAs ; (ro)
const char ** revoked_CAs ; (ro)

interface PkgFmri
rc_err_t ips_PkgFmri_get_name(rc_instance_t *inst,
char **result);

rc_err_t ips_PkgFmri_get_publisher(rc_instance_t *inst,
char **result);

rc_err_t ips_PkgFmri_get_pkg_stem(rc_instance_t *inst,
boolean_t *no_publisher,
boolean_t *include_scheme,
char **result);

rc_err_t ips_PkgFmri_get_fmri(rc_instance_t *inst,
const char *default_publisher,
boolean_t *no_publisher,
boolean_t *include_scheme,
boolean_t *include_build,
boolean_t *include_timestamp,
char **result);

rc_err_t ips_PkgFmri_get_version(rc_instance_t *inst,
char **result);

rc_err_t ips_PkgFmri_get_timestamp(rc_instance_t *inst,
char **result);

interface PkgInfo
const char * pkg_name ; (ro)
const char * summary ; (ro)
const char * description ; (ro)
const char * category ; (ro)
const char * state ; (ro)
const char * renamed_to ; (ro)
const char * publisher ; (ro)
const char * last_install_time ; (ro)
const char * last_update_time ; (ro)
const char * size ; (ro)
const rc_instance_t * fmri ; (ro)
const char ** licenses ; (ro)

interface PkgImage
const char * image_path ; (ro)
const char * mode ; (rw)
float progress_interval ; (rw)

rc_err_t ips_PkgImage_list_packages(rc_instance_t *inst,
const char **pkg_fmri_patterns,
int pkg_fmri_patterns_count,
boolean_t *refresh_catalogs,
const char **origins,
int origins_count,
boolean_t *list_installed_newest,
boolean_t *list_all,
boolean_t *list_newest,
boolean_t *list_upgradable,
const char *mode,
rc_instance_t ***result,
int *result_cnt,
ips_PkgError_t **error);

rc_err_t ips_PkgImage_install(rc_instance_t *inst,
const char **pkg_fmri_patterns,
int pkg_fmri_patterns_count,
const char *backup_be_name,
const char *be_name,
boolean_t *deny_new_be,
boolean_t *no_backup_be,
boolean_t *be_activate,
boolean_t *require_backup_be,
boolean_t *require_new_be,
int *concurrency,
boolean_t *accept,
boolean_t *show_licenses,
const char **reject_pats,
int reject_pats_count,
boolean_t *update_index,
boolean_t *refresh_catalogs,
boolean_t *noexecute,
int *parsable_version,
const char **origins,
int origins_count,
boolean_t *li_erecurse_all,
const char **li_erecurse_list,
int li_erecurse_list_count,
const char **li_erecurse_excl,
int li_erecurse_excl_count,
boolean_t *sync_act,
int *act_timeout,
const char *mode,
ips_PkgReturn_t **result,
ips_PkgError_t **error);

rc_err_t ips_PkgImage_exact_install(rc_instance_t *inst,
const char **pkg_fmri_patterns,
int pkg_fmri_patterns_count,
const char *backup_be_name,
const char *be_name,
boolean_t *deny_new_be,
boolean_t *no_backup_be,
boolean_t *be_activate,
boolean_t *require_backup_be,
boolean_t *require_new_be,
int *concurrency,
boolean_t *accept,
boolean_t *show_licenses,
const char **reject_pats,
int reject_pats_count,
boolean_t *update_index,
boolean_t *refresh_catalogs,
boolean_t *noexecute,
int *parsable_version,
const char **origins,
int origins_count,
const char *mode,
ips_PkgReturn_t **result,
ips_PkgError_t **error);

rc_err_t ips_PkgImage_update(rc_instance_t *inst,
const char **pkg_fmri_patterns,
int pkg_fmri_patterns_count,
const char *backup_be_name,
const char *be_name,
boolean_t *deny_new_be,
boolean_t *no_backup_be,
boolean_t *be_activate,
boolean_t *require_backup_be,
boolean_t *require_new_be,
int *concurrency,
boolean_t *accept,
boolean_t *show_licenses,
const char **reject_pats,
int reject_pats_count,
boolean_t *update_index,
boolean_t *refresh_catalogs,
boolean_t *noexecute,
int *parsable_version,
const char **origins,
int origins_count,
boolean_t *li_erecurse_all,
const char **li_erecurse_list,
int li_erecurse_list_count,
const char **li_erecurse_excl,
int li_erecurse_excl_count,
boolean_t *sync_act,
int *act_timeout,
boolean_t *ignore_missing,
boolean_t *force,
const char *mode,
ips_PkgReturn_t **result,
ips_PkgError_t **error);

rc_err_t ips_PkgImage_uninstall(rc_instance_t *inst,
const char **pkg_fmri_patterns,
int pkg_fmri_patterns_count,
const char *backup_be_name,
const char *be_name,
boolean_t *deny_new_be,
boolean_t *no_backup_be,
boolean_t *be_activate,
boolean_t *require_backup_be,
boolean_t *require_new_be,
int *concurrency,
boolean_t *update_index,
boolean_t *refresh_catalogs,
boolean_t *noexecute,
int *parsable_version,
boolean_t *li_erecurse_all,
const char **li_erecurse_list,
int li_erecurse_list_count,
const char **li_erecurse_excl,
int li_erecurse_excl_count,
boolean_t *sync_act,
int *act_timeout,
boolean_t *ignore_missing,
const char *mode,
ips_PkgReturn_t **result,
ips_PkgError_t **error);

rc_err_t ips_PkgImage_info(rc_instance_t *inst,
const char **pkg_fmri_patterns,
int pkg_fmri_patterns_count,
boolean_t *license_only,
boolean_t *info_local,
boolean_t *info_remote,
const char **origins,
int origins_count,
const char *mode,
rc_instance_t ***result,
int *result_cnt,
ips_PkgError_t **error);

rc_err_t ips_PkgImage_publisher(rc_instance_t *inst,
const char **publishers,
int publishers_count,
boolean_t *preferred_only,
boolean_t *include_disabled,
const char *mode,
rc_instance_t ***result,
int *result_cnt,
ips_PkgError_t **error);

rc_err_t ips_PkgImage_set_publisher(rc_instance_t *inst,
const char **publishers,
int publishers_count,
const char *ssl_key,
const char *ssl_cert,
const char **approved_ca_certs,
int approved_ca_certs_count,
const char **revoked_ca_certs,
int revoked_ca_certs_count,
const char **unset_ca_certs,
int unset_ca_certs_count,
const char *origin_uri,
boolean_t *reset_uuid,
const char **add_mirrors,
int add_mirrors_count,
const char **remove_mirrors,
int remove_mirrors_count,
const char **add_origins,
int add_origins_count,
const char **remove_origins,
int remove_origins_count,
boolean_t *refresh_allowed,
boolean_t *disable,
boolean_t *sticky,
const char *repo_uri,
const char *proxy_uri,
const char **set_props,
int set_props_count,
const char **add_prop_values,
int add_prop_values_count,
const char **remove_prop_values,
int remove_prop_values_count,
const char **unset_props,
int unset_props_count,
const char *search_before,
const char *search_after,
const char *search_first,
const char *mode,
ips_PkgReturn_t **result,
ips_PkgError_t **error);

rc_err_t ips_PkgImage_unset_publisher(rc_instance_t *inst,
const char **publishers,
int publishers_count,
const char *mode,
ips_PkgReturn_t **result,
ips_PkgError_t **error);

typedef void (*ips_PkgImage_progress_cb_f)(rc_instance_t *inst,
ips_PkgProgress_t *payload,
struct timespec ts,
void *arg);

rc_err_t ips_PkgImage_subscribe_progress(rc_instance_t *inst,
ips_PkgImage_progress_cb_f cb,
void *arg);

rc_err_t ips_PkgImage_unsubscribe_progress(rc_instance_t *inst,
void **arg);

interface IPSManager
rc_err_t ips_IPSManager_image_create(rc_instance_t *inst,
const char *image_path,
rc_instance_t **result,
ips_PkgError_t **error);

rc_err_t ips_IPSManager_image_remove(rc_instance_t *inst,
const adr_name_t *name,
ips_PkgError_t **error);

rc_err_t ips_IPSManager_image_open(rc_instance_t *inst,
const char *image_path,
rc_instance_t **result,
ips_PkgError_t **error);

Enumerated Types
enum PkgRetErrCode

typedef enum ips_PkgRetErrCode {
IPREC_OK = 0,
IPREC_GENERAL_ERROR = 1,
IPREC_BAD_ARGS = 2,
IPREC_PARTIAL_SUCCEED = 3,
IPREC_NO_OP = 4,
IPREC_NO_PERMIT_LIVE = 5,
IPREC_LICENSE_ACCEPT = 6,
IPREC_IMAGE_LOCKED = 7,
IPREC_ACTUATOR_TIMEOUT = 8,
IPREC_UNANTICIPATED = 99,
} ips_PkgRetErrCode_t;

Structured Types
struct PkgProgress

typedef struct ips_PkgProgress ips_PkgProgress_t;

struct ips_PkgProgress {
char *ipp_phase;
char *ipp_message;
char *ipp_time_taken;
char *ipp_time_unit;
char *ipp_action_type;
char *ipp_processed_items;
char *ipp_goal_items;
char *ipp_percent_done;
char *ipp_item_unit;
char *ipp_speed;
char **ipp_running;
int ipp_running_count;
char *ipp_goal_processed_items;
char *ipp_reversioned_items;
char *ipp_goal_reversion_items;
char *ipp_adjusted_items;
char **ipp_li_output;
int ipp_li_output_count;
char **ipp_li_errors;
int ipp_li_errors_count;
};


void ips_PkgProgress_free(ips_PkgProgress_t *in);

struct PkgError

typedef struct ips_PkgError ips_PkgError_t;

struct ips_PkgError {
ips_PkgRetErrCode_t ipe_error_code;
char *ipe_error_message;
};


void ips_PkgError_free(ips_PkgError_t *in);

struct PkgProperty

typedef struct ips_PkgProperty ips_PkgProperty_t;

struct ips_PkgProperty {
char *ipp_name;
char **ipp_value;
int ipp_value_count;
};


void ips_PkgProperty_free(ips_PkgProperty_t *in);

struct PkgReturn

typedef struct ips_PkgReturn ips_PkgReturn_t;

struct ips_PkgReturn {
ips_PkgRetErrCode_t ipr_return_code;
char *ipr_parsable_data;
};


void ips_PkgReturn_free(ips_PkgReturn_t *in);

Description

IPS-1(3rad)                 RAD Module Definitions                 IPS-1(3rad)



NAME
       ips - API for pkg operations in IPS

SYNOPSIS
       #include <rad/client/1/ips.h>
       cc [ flag... ] file... -lips1_client [ library... ]

   interface PkgSource
       const char * URI ; (ro)
       const char * type ; (ro)
       const char * status ; (ro)
       const char ** proxies ; (ro)
       const char * cert_effective_date ; (ro)
       const char * cert_expiration_date ; (ro)
       const char * SSL_key ; (ro)
       const char * SSL_cert ; (ro)

   interface PkgPublisher
       const char * prefix ; (ro)
       const char * alias ; (ro)
       const char * client_UUID ; (ro)
       const char * cat_updated_time ; (ro)
       const char * enabled ; (ro)
       const char * sticky ; (ro)
       const char * syspub ; (ro)
       const rc_instance_t ** mirrors ; (ro)
       const rc_instance_t ** origins ; (ro)
       ips_PkgProperty_t ** properties ; (ro)
       const char ** approved_CAs ; (ro)
       const char ** revoked_CAs ; (ro)

   interface PkgFmri
       rc_err_t ips_PkgFmri_get_name(rc_instance_t *inst,
                                     char **result);

       rc_err_t ips_PkgFmri_get_publisher(rc_instance_t *inst,
                                          char **result);

       rc_err_t ips_PkgFmri_get_pkg_stem(rc_instance_t *inst,
                                         boolean_t *no_publisher,
                                         boolean_t *include_scheme,
                                         char **result);

       rc_err_t ips_PkgFmri_get_fmri(rc_instance_t *inst,
                                     const char *default_publisher,
                                     boolean_t *no_publisher,
                                     boolean_t *include_scheme,
                                     boolean_t *include_build,
                                     boolean_t *include_timestamp,
                                     char **result);

       rc_err_t ips_PkgFmri_get_version(rc_instance_t *inst,
                                        char **result);

       rc_err_t ips_PkgFmri_get_timestamp(rc_instance_t *inst,
                                          char **result);

   interface PkgInfo
       const char * pkg_name ; (ro)
       const char * summary ; (ro)
       const char * description ; (ro)
       const char * category ; (ro)
       const char * state ; (ro)
       const char * renamed_to ; (ro)
       const char * publisher ; (ro)
       const char * last_install_time ; (ro)
       const char * last_update_time ; (ro)
       const char * size ; (ro)
       const rc_instance_t * fmri ; (ro)
       const char ** licenses ; (ro)

   interface PkgImage
       const char * image_path ; (ro)
       const char * mode ; (rw)
       float progress_interval ; (rw)

       rc_err_t ips_PkgImage_list_packages(rc_instance_t *inst,
                                           const char **pkg_fmri_patterns,
                                           int pkg_fmri_patterns_count,
                                           boolean_t *refresh_catalogs,
                                           const char **origins,
                                           int origins_count,
                                           boolean_t *list_installed_newest,
                                           boolean_t *list_all,
                                           boolean_t *list_newest,
                                           boolean_t *list_upgradable,
                                           const char *mode,
                                           rc_instance_t ***result,
                                           int *result_cnt,
                                           ips_PkgError_t **error);

       rc_err_t ips_PkgImage_install(rc_instance_t *inst,
                                     const char **pkg_fmri_patterns,
                                     int pkg_fmri_patterns_count,
                                     const char *backup_be_name,
                                     const char *be_name,
                                     boolean_t *deny_new_be,
                                     boolean_t *no_backup_be,
                                     boolean_t *be_activate,
                                     boolean_t *require_backup_be,
                                     boolean_t *require_new_be,
                                     int *concurrency,
                                     boolean_t *accept,
                                     boolean_t *show_licenses,
                                     const char **reject_pats,
                                     int reject_pats_count,
                                     boolean_t *update_index,
                                     boolean_t *refresh_catalogs,
                                     boolean_t *noexecute,
                                     int *parsable_version,
                                     const char **origins,
                                     int origins_count,
                                     boolean_t *li_erecurse_all,
                                     const char **li_erecurse_list,
                                     int li_erecurse_list_count,
                                     const char **li_erecurse_excl,
                                     int li_erecurse_excl_count,
                                     boolean_t *sync_act,
                                     int *act_timeout,
                                     const char *mode,
                                     ips_PkgReturn_t **result,
                                     ips_PkgError_t **error);

       rc_err_t ips_PkgImage_exact_install(rc_instance_t *inst,
                                           const char **pkg_fmri_patterns,
                                           int pkg_fmri_patterns_count,
                                           const char *backup_be_name,
                                           const char *be_name,
                                           boolean_t *deny_new_be,
                                           boolean_t *no_backup_be,
                                           boolean_t *be_activate,
                                           boolean_t *require_backup_be,
                                           boolean_t *require_new_be,
                                           int *concurrency,
                                           boolean_t *accept,
                                           boolean_t *show_licenses,
                                           const char **reject_pats,
                                           int reject_pats_count,
                                           boolean_t *update_index,
                                           boolean_t *refresh_catalogs,
                                           boolean_t *noexecute,
                                           int *parsable_version,
                                           const char **origins,
                                           int origins_count,
                                           const char *mode,
                                           ips_PkgReturn_t **result,
                                           ips_PkgError_t **error);

       rc_err_t ips_PkgImage_update(rc_instance_t *inst,
                                    const char **pkg_fmri_patterns,
                                    int pkg_fmri_patterns_count,
                                    const char *backup_be_name,
                                    const char *be_name,
                                    boolean_t *deny_new_be,
                                    boolean_t *no_backup_be,
                                    boolean_t *be_activate,
                                    boolean_t *require_backup_be,
                                    boolean_t *require_new_be,
                                    int *concurrency,
                                    boolean_t *accept,
                                    boolean_t *show_licenses,
                                    const char **reject_pats,
                                    int reject_pats_count,
                                    boolean_t *update_index,
                                    boolean_t *refresh_catalogs,
                                    boolean_t *noexecute,
                                    int *parsable_version,
                                    const char **origins,
                                    int origins_count,
                                    boolean_t *li_erecurse_all,
                                    const char **li_erecurse_list,
                                    int li_erecurse_list_count,
                                    const char **li_erecurse_excl,
                                    int li_erecurse_excl_count,
                                    boolean_t *sync_act,
                                    int *act_timeout,
                                    boolean_t *ignore_missing,
                                    boolean_t *force,
                                    const char *mode,
                                    ips_PkgReturn_t **result,
                                    ips_PkgError_t **error);

       rc_err_t ips_PkgImage_uninstall(rc_instance_t *inst,
                                       const char **pkg_fmri_patterns,
                                       int pkg_fmri_patterns_count,
                                       const char *backup_be_name,
                                       const char *be_name,
                                       boolean_t *deny_new_be,
                                       boolean_t *no_backup_be,
                                       boolean_t *be_activate,
                                       boolean_t *require_backup_be,
                                       boolean_t *require_new_be,
                                       int *concurrency,
                                       boolean_t *update_index,
                                       boolean_t *refresh_catalogs,
                                       boolean_t *noexecute,
                                       int *parsable_version,
                                       boolean_t *li_erecurse_all,
                                       const char **li_erecurse_list,
                                       int li_erecurse_list_count,
                                       const char **li_erecurse_excl,
                                       int li_erecurse_excl_count,
                                       boolean_t *sync_act,
                                       int *act_timeout,
                                       boolean_t *ignore_missing,
                                       const char *mode,
                                       ips_PkgReturn_t **result,
                                       ips_PkgError_t **error);

       rc_err_t ips_PkgImage_info(rc_instance_t *inst,
                                  const char **pkg_fmri_patterns,
                                  int pkg_fmri_patterns_count,
                                  boolean_t *license_only,
                                  boolean_t *info_local,
                                  boolean_t *info_remote,
                                  const char **origins,
                                  int origins_count,
                                  const char *mode,
                                  rc_instance_t ***result,
                                  int *result_cnt,
                                  ips_PkgError_t **error);

       rc_err_t ips_PkgImage_publisher(rc_instance_t *inst,
                                       const char **publishers,
                                       int publishers_count,
                                       boolean_t *preferred_only,
                                       boolean_t *include_disabled,
                                       const char *mode,
                                       rc_instance_t ***result,
                                       int *result_cnt,
                                       ips_PkgError_t **error);

       rc_err_t ips_PkgImage_set_publisher(rc_instance_t *inst,
                                           const char **publishers,
                                           int publishers_count,
                                           const char *ssl_key,
                                           const char *ssl_cert,
                                           const char **approved_ca_certs,
                                           int approved_ca_certs_count,
                                           const char **revoked_ca_certs,
                                           int revoked_ca_certs_count,
                                           const char **unset_ca_certs,
                                           int unset_ca_certs_count,
                                           const char *origin_uri,
                                           boolean_t *reset_uuid,
                                           const char **add_mirrors,
                                           int add_mirrors_count,
                                           const char **remove_mirrors,
                                           int remove_mirrors_count,
                                           const char **add_origins,
                                           int add_origins_count,
                                           const char **remove_origins,
                                           int remove_origins_count,
                                           boolean_t *refresh_allowed,
                                           boolean_t *disable,
                                           boolean_t *sticky,
                                           const char *repo_uri,
                                           const char *proxy_uri,
                                           const char **set_props,
                                           int set_props_count,
                                           const char **add_prop_values,
                                           int add_prop_values_count,
                                           const char **remove_prop_values,
                                           int remove_prop_values_count,
                                           const char **unset_props,
                                           int unset_props_count,
                                           const char *search_before,
                                           const char *search_after,
                                           const char *search_first,
                                           const char *mode,
                                           ips_PkgReturn_t **result,
                                           ips_PkgError_t **error);

       rc_err_t ips_PkgImage_unset_publisher(rc_instance_t *inst,
                                             const char **publishers,
                                             int publishers_count,
                                             const char *mode,
                                             ips_PkgReturn_t **result,
                                             ips_PkgError_t **error);

       typedef void (*ips_PkgImage_progress_cb_f)(rc_instance_t *inst,
                                                  ips_PkgProgress_t *payload,
                                                  struct timespec ts,
                                                  void *arg);

       rc_err_t ips_PkgImage_subscribe_progress(rc_instance_t *inst,
                                                ips_PkgImage_progress_cb_f cb,
                                                void *arg);

       rc_err_t ips_PkgImage_unsubscribe_progress(rc_instance_t *inst,
                                                  void **arg);

   interface IPSManager
       rc_err_t ips_IPSManager_image_create(rc_instance_t *inst,
                                            const char *image_path,
                                            rc_instance_t **result,
                                            ips_PkgError_t **error);

       rc_err_t ips_IPSManager_image_remove(rc_instance_t *inst,
                                            const adr_name_t *name,
                                            ips_PkgError_t **error);

       rc_err_t ips_IPSManager_image_open(rc_instance_t *inst,
                                          const char *image_path,
                                          rc_instance_t **result,
                                          ips_PkgError_t **error);

   Enumerated Types
       enum PkgRetErrCode

           typedef enum ips_PkgRetErrCode {
                IPREC_OK = 0,
                IPREC_GENERAL_ERROR = 1,
                IPREC_BAD_ARGS = 2,
                IPREC_PARTIAL_SUCCEED = 3,
                IPREC_NO_OP = 4,
                IPREC_NO_PERMIT_LIVE = 5,
                IPREC_LICENSE_ACCEPT = 6,
                IPREC_IMAGE_LOCKED = 7,
                IPREC_ACTUATOR_TIMEOUT = 8,
                IPREC_UNANTICIPATED = 99,
           } ips_PkgRetErrCode_t;

   Structured Types
       struct PkgProgress

           typedef struct ips_PkgProgress ips_PkgProgress_t;

           struct ips_PkgProgress {
                char *ipp_phase;
                char *ipp_message;
                char *ipp_time_taken;
                char *ipp_time_unit;
                char *ipp_action_type;
                char *ipp_processed_items;
                char *ipp_goal_items;
                char *ipp_percent_done;
                char *ipp_item_unit;
                char *ipp_speed;
                char **ipp_running;
                int ipp_running_count;
                char *ipp_goal_processed_items;
                char *ipp_reversioned_items;
                char *ipp_goal_reversion_items;
                char *ipp_adjusted_items;
                char **ipp_li_output;
                int ipp_li_output_count;
                char **ipp_li_errors;
                int ipp_li_errors_count;
           };


           void ips_PkgProgress_free(ips_PkgProgress_t *in);

       struct PkgError

           typedef struct ips_PkgError ips_PkgError_t;

           struct ips_PkgError {
                ips_PkgRetErrCode_t ipe_error_code;
                char *ipe_error_message;
           };


           void ips_PkgError_free(ips_PkgError_t *in);

       struct PkgProperty

           typedef struct ips_PkgProperty ips_PkgProperty_t;

           struct ips_PkgProperty {
                char *ipp_name;
                char **ipp_value;
                int ipp_value_count;
           };


           void ips_PkgProperty_free(ips_PkgProperty_t *in);

       struct PkgReturn

           typedef struct ips_PkgReturn ips_PkgReturn_t;

           struct ips_PkgReturn {
                ips_PkgRetErrCode_t ipr_return_code;
                char *ipr_parsable_data;
           };


           void ips_PkgReturn_free(ips_PkgReturn_t *in);

DESCRIPTION
       API com.oracle.solaris.rad.ips [1]

       This API exposes common pkg(1) operations in IPS to rad(8) clients.

       The following six interfaces are provided:

        1. IPSManager - Singleton interface that provides management of pkg
           images instances.

        2. PkgSource - Interface provides access to publisher source such as
           publisher origins or mirrors.

        3. PkgPublisher - Interface provides access to publisher information.

        4. PkgFmri - Interface provides access to package fmri.

        5. PkgInfo - Interface provides access to package information.

        6. PkgImage - Interface provides access to image operations.

       A limited number of pkg operations is accessible through rad(8)PkgImage
       instances.

       The following is a complete client example:

INTERFACES
   interface PkgSource
       Interface to provide publisher source information.

       PkgSource Properties
           const char * URI (read-only, nullable) -- Source URI.

               rc_err_t ips_PkgSource_get_URI(rc_instance_t *inst,
                                              char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

               Read Error: void **

           const char * type (read-only, nullable) -- Source type: origin or
           mirror.

               rc_err_t ips_PkgSource_get_type(rc_instance_t *inst,
                                               char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

               Read Error: void **

           const char * status (read-only, nullable) -- Source status. Valid
           values are 'online' and 'disabled'.

               rc_err_t ips_PkgSource_get_status(rc_instance_t *inst,
                                                 char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

               Read Error: void **

           const char ** proxies (read-only, nullable) -- Source proxies.

               rc_err_t ips_PkgSource_get_proxies(rc_instance_t *inst,
                                                  char ***result,
                                                  int *result_cnt);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

                   result_cnt -- Number of items in result array

               Read Error: void **

           const char * cert_effective_date (read-only, nullable) -- Source
           certificate effective date.

               rc_err_t ips_PkgSource_get_cert_effective_date(rc_instance_t *inst,
                                                              char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

               Read Error: void **

           const char * cert_expiration_date (read-only, nullable) -- Source
           certificate expiration date.

               rc_err_t ips_PkgSource_get_cert_expiration_date(rc_instance_t *inst,
                                                               char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

               Read Error: void **

           const char * SSL_key (read-only, nullable) -- Source SSL key.

               rc_err_t ips_PkgSource_get_SSL_key(rc_instance_t *inst,
                                                  char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

               Read Error: void **

           const char * SSL_cert (read-only, nullable) -- Source SSL
           certificate.

               rc_err_t ips_PkgSource_get_SSL_cert(rc_instance_t *inst,
                                                   char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

               Read Error: void **

       PkgSource Retrieve
           rc_err_t ips_PkgSource__rad_get_name(adr_name_t **result,
                                                int n,
                                                ...);

               Obtain RAD name of a PkgSource object.

               Arguments:

               result -- RAD name

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t ips_PkgSource__rad_lookup(rc_conn_t *c,
                                              boolean_t strict,
                                              rc_instance_t **result,
                                              int n,
                                              ...);

               Lookup a PkgSource instance.

               Construct a RAD name for the interface based on the provided
               key-value pairs and perform a lookup. If successful, instance
               reference is returned in the result.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               result -- RAD instance

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t ips_PkgSource__rad_list(rc_conn_t *c,
                                            boolean_t strict,
                                            adr_pattern_scheme_t scheme,
                                            adr_name_t ***result,
                                            int *result_count,
                                            int n,
                                            ...);

               List RAD names of a available PkgSource instances.

               Returns an array and array size of matching object names.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               scheme -- Apply glob (NS_GLOB) or regex (NS_REGEX) matching

               result -- Array of RAD names

               result_count -- Number of names in result array

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

   interface PkgPublisher
       A package publisher.

       PkgPublisher Properties
           const char * prefix (read-only, nullable) -- Publisher prefix.

               rc_err_t ips_PkgPublisher_get_prefix(rc_instance_t *inst,
                                                    char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

               Read Error: void **

           const char * alias (read-only, nullable) -- Publisher alias.

               rc_err_t ips_PkgPublisher_get_alias(rc_instance_t *inst,
                                                   char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

               Read Error: void **

           const char * client_UUID (read-only, nullable) -- Publisher client
           UUID.

               rc_err_t ips_PkgPublisher_get_client_UUID(rc_instance_t *inst,
                                                         char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

               Read Error: void **

           const char * cat_updated_time (read-only, nullable) -- Time the
           catalog was last updated.

               rc_err_t ips_PkgPublisher_get_cat_updated_time(rc_instance_t *inst,
                                                              char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

               Read Error: void **

           const char * enabled (read-only, nullable) -- Publisher is enabled
           flag.

               rc_err_t ips_PkgPublisher_get_enabled(rc_instance_t *inst,
                                                     char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

               Read Error: void **

           const char * sticky (read-only, nullable) -- Publisher is sticky
           flag.

               rc_err_t ips_PkgPublisher_get_sticky(rc_instance_t *inst,
                                                    char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

               Read Error: void **

           const char * syspub (read-only, nullable) -- Publisher is a system
           publisher flag.

               rc_err_t ips_PkgPublisher_get_syspub(rc_instance_t *inst,
                                                    char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

               Read Error: void **

           const rc_instance_t ** mirrors (read-only, nullable) -- A list of
           mirror type PkgSource instances.

               rc_err_t ips_PkgPublisher_get_mirrors(rc_instance_t *inst,
                                                     rc_instance_t ***result,
                                                     int *result_cnt);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

                   result_cnt -- Number of items in result array

               Read Error: void **

           const rc_instance_t ** origins (read-only, nullable) -- A list of
           origin type PkgSource instances.

               rc_err_t ips_PkgPublisher_get_origins(rc_instance_t *inst,
                                                     rc_instance_t ***result,
                                                     int *result_cnt);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

                   result_cnt -- Number of items in result array

               Read Error: void **

           ips_PkgProperty_t ** properties (read-only, nullable) -- A list of
           PkgProperty structs.

               rc_err_t ips_PkgPublisher_get_properties(rc_instance_t *inst,
                                                        ips_PkgProperty_t ***result,
                                                        int *result_cnt);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

                   result_cnt -- Number of items in result array

               Read Error: void **

           const char ** approved_CAs (read-only, nullable) -- A list approved
           CAs.

               rc_err_t ips_PkgPublisher_get_approved_CAs(rc_instance_t *inst,
                                                          char ***result,
                                                          int *result_cnt);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

                   result_cnt -- Number of items in result array

               Read Error: void **

           const char ** revoked_CAs (read-only, nullable) -- A list of
           revoked CAs.

               rc_err_t ips_PkgPublisher_get_revoked_CAs(rc_instance_t *inst,
                                                         char ***result,
                                                         int *result_cnt);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

                   result_cnt -- Number of items in result array

               Read Error: void **

       PkgPublisher Retrieve
           rc_err_t ips_PkgPublisher__rad_get_name(adr_name_t **result,
                                                   int n,
                                                   ...);

               Obtain RAD name of a PkgPublisher object.

               Arguments:

               result -- RAD name

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t ips_PkgPublisher__rad_lookup(rc_conn_t *c,
                                                 boolean_t strict,
                                                 rc_instance_t **result,
                                                 int n,
                                                 ...);

               Lookup a PkgPublisher instance.

               Construct a RAD name for the interface based on the provided
               key-value pairs and perform a lookup. If successful, instance
               reference is returned in the result.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               result -- RAD instance

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t ips_PkgPublisher__rad_list(rc_conn_t *c,
                                               boolean_t strict,
                                               adr_pattern_scheme_t scheme,
                                               adr_name_t ***result,
                                               int *result_count,
                                               int n,
                                               ...);

               List RAD names of a available PkgPublisher instances.

               Returns an array and array size of matching object names.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               scheme -- Apply glob (NS_GLOB) or regex (NS_REGEX) matching

               result -- Array of RAD names

               result_count -- Number of names in result array

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

   interface PkgFmri
       A package FMRI.

       PkgFmri Methods
           rc_err_t ips_PkgFmri_get_name(rc_instance_t *inst,
                                         char **result);

               Get property value.

               Arguments:

               inst -- RAD instance

               result -- Property value returned

           rc_err_t ips_PkgFmri_get_publisher(rc_instance_t *inst,
                                              char **result);

               Get property value.

               Arguments:

               inst -- RAD instance

               result -- Property value returned

           rc_err_t ips_PkgFmri_get_pkg_stem(rc_instance_t *inst,
                                             boolean_t *no_publisher,
                                             boolean_t *include_scheme,
                                             char **result);

               Get property value.

               Arguments:

               inst -- RAD instance

               no_publisher (nullable) -- Property value returned

               include_scheme (nullable)

               result -- Package stem.

           rc_err_t ips_PkgFmri_get_fmri(rc_instance_t *inst,
                                         const char *default_publisher,
                                         boolean_t *no_publisher,
                                         boolean_t *include_scheme,
                                         boolean_t *include_build,
                                         boolean_t *include_timestamp,
                                         char **result);

               Get property value.

               Arguments:

               inst -- RAD instance

               default_publisher (nullable) -- Provide a default publisher
               name if the FMRI does not have one.

               no_publisher (nullable) -- Flag to include the publisher in the
               FMRI.

               include_scheme (nullable) -- Flag to include the scheme such as
               (pkg:/) in the FMRI.

               include_build (nullable) -- Flag to include build number in the
               FMRI.

               include_timestamp (nullable) -- Flag to include time stamp in
               the FMRI.

               result -- A package FMRI.

           rc_err_t ips_PkgFmri_get_version(rc_instance_t *inst,
                                            char **result);

               Get property value.

               Arguments:

               inst -- RAD instance

               result -- Property value returned

           rc_err_t ips_PkgFmri_get_timestamp(rc_instance_t *inst,
                                              char **result);

               Get property value.

               Arguments:

               inst -- RAD instance

               result -- Property value returned

       PkgFmri Retrieve
           rc_err_t ips_PkgFmri__rad_get_name(adr_name_t **result,
                                              int n,
                                              ...);

               Obtain RAD name of a PkgFmri object.

               Arguments:

               result -- RAD name

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t ips_PkgFmri__rad_lookup(rc_conn_t *c,
                                            boolean_t strict,
                                            rc_instance_t **result,
                                            int n,
                                            ...);

               Lookup a PkgFmri instance.

               Construct a RAD name for the interface based on the provided
               key-value pairs and perform a lookup. If successful, instance
               reference is returned in the result.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               result -- RAD instance

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t ips_PkgFmri__rad_list(rc_conn_t *c,
                                          boolean_t strict,
                                          adr_pattern_scheme_t scheme,
                                          adr_name_t ***result,
                                          int *result_count,
                                          int n,
                                          ...);

               List RAD names of a available PkgFmri instances.

               Returns an array and array size of matching object names.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               scheme -- Apply glob (NS_GLOB) or regex (NS_REGEX) matching

               result -- Array of RAD names

               result_count -- Number of names in result array

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

   interface PkgInfo
       Collect package-related in formation.

       PkgInfo Properties
           const char * pkg_name (read-only, nullable) -- Package name.

               rc_err_t ips_PkgInfo_get_pkg_name(rc_instance_t *inst,
                                                 char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

           const char * summary (read-only, nullable) -- Package summary.

               rc_err_t ips_PkgInfo_get_summary(rc_instance_t *inst,
                                                char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

           const char * description (read-only, nullable) -- Package
           description.

               rc_err_t ips_PkgInfo_get_description(rc_instance_t *inst,
                                                    char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

           const char * category (read-only, nullable) -- Package category.

               rc_err_t ips_PkgInfo_get_category(rc_instance_t *inst,
                                                 char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

           const char * state (read-only, nullable) -- Package state.

               rc_err_t ips_PkgInfo_get_state(rc_instance_t *inst,
                                              char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

           const char * renamed_to (read-only, nullable) -- New name of a
           renamed package.

               rc_err_t ips_PkgInfo_get_renamed_to(rc_instance_t *inst,
                                                   char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

           const char * publisher (read-only, nullable) -- Package publisher.

               rc_err_t ips_PkgInfo_get_publisher(rc_instance_t *inst,
                                                  char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

           const char * last_install_time (read-only, nullable) -- Package
           last install time.

               rc_err_t ips_PkgInfo_get_last_install_time(rc_instance_t *inst,
                                                          char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

           const char * last_update_time (read-only, nullable) -- Package last
           update time.

               rc_err_t ips_PkgInfo_get_last_update_time(rc_instance_t *inst,
                                                         char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

           const char * size (read-only, nullable) -- Package size.

               rc_err_t ips_PkgInfo_get_size(rc_instance_t *inst,
                                             char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

           const rc_instance_t * fmri (read-only, nullable) -- Package FMRI.

               rc_err_t ips_PkgInfo_get_fmri(rc_instance_t *inst,
                                             rc_instance_t **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

           const char ** licenses (read-only, nullable) -- Package licenses.

               rc_err_t ips_PkgInfo_get_licenses(rc_instance_t *inst,
                                                 char ***result,
                                                 int *result_cnt);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

                   result_cnt -- Number of items in result array

       PkgInfo Retrieve
           rc_err_t ips_PkgInfo__rad_get_name(adr_name_t **result,
                                              int n,
                                              ...);

               Obtain RAD name of a PkgInfo object.

               Arguments:

               result -- RAD name

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t ips_PkgInfo__rad_lookup(rc_conn_t *c,
                                            boolean_t strict,
                                            rc_instance_t **result,
                                            int n,
                                            ...);

               Lookup a PkgInfo instance.

               Construct a RAD name for the interface based on the provided
               key-value pairs and perform a lookup. If successful, instance
               reference is returned in the result.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               result -- RAD instance

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t ips_PkgInfo__rad_list(rc_conn_t *c,
                                          boolean_t strict,
                                          adr_pattern_scheme_t scheme,
                                          adr_name_t ***result,
                                          int *result_count,
                                          int n,
                                          ...);

               List RAD names of a available PkgInfo instances.

               Returns an array and array size of matching object names.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               scheme -- Apply glob (NS_GLOB) or regex (NS_REGEX) matching

               result -- Array of RAD names

               result_count -- Number of names in result array

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

   interface PkgImage
       A package image.

       A collection of methods similar to the pkg commands, including
       representations of command options. See the pkg(1) man page for option
       details.

       PkgImage Properties
           const char * image_path (read-only, nullable) -- The image path to
           operate on.

               rc_err_t ips_PkgImage_get_image_path(rc_instance_t *inst,
                                                    char **result,
                                                    char **error);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

                   error

               Read Error: char **

           const char * mode (read-write, nullable) -- The running mode.

               This property has two valid values: native and fork.  native
               allows the pkg command to be invoked within the same process as
               the RAD connection.  fork means the pkg command will be invoked
               within a subprocess. This global mode can be overwritten by
               mode for a particular operation.

               rc_err_t ips_PkgImage_get_mode(rc_instance_t *inst,
                                              char **result,
                                              ips_PkgError_t **error);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

                   error

               rc_err_t ips_PkgImage_set_mode(rc_instance_t *inst,
                                              const char *mode,
                                              ips_PkgError_t **error);

                   Set property value.

                   Arguments:

                   inst -- RAD instance

                   mode -- Property value written

                   error

               Read-Write Error: ips_PkgError_t **

           float progress_interval (read-write) -- The progress delay in
           seconds.

               Enables the client to control how often periodic progress
               events are reported. For example, if many pieces of data are
               downloaded, this property can be used to sample the download
               status to avoid generating too many progress events. The
               default value is 5 seconds.

               rc_err_t ips_PkgImage_get_progress_interval(rc_instance_t *inst,
                                                           float *result,
                                                           ips_PkgError_t **error);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

                   error

               rc_err_t ips_PkgImage_set_progress_interval(rc_instance_t *inst,
                                                           float progress_interval,
                                                           ips_PkgError_t **error);

                   Set property value.

                   Arguments:

                   inst -- RAD instance

                   progress_interval -- Property value written

                   error

               Read-Write Error: ips_PkgError_t **

       PkgImage Methods
           rc_err_t ips_PkgImage_list_packages(rc_instance_t *inst,
                                               const char **pkg_fmri_patterns,
                                               int pkg_fmri_patterns_count,
                                               boolean_t *refresh_catalogs,
                                               const char **origins,
                                               int origins_count,
                                               boolean_t *list_installed_newest,
                                               boolean_t *list_all,
                                               boolean_t *list_newest,
                                               boolean_t *list_upgradable,
                                               const char *mode,
                                               rc_instance_t ***result,
                                               int *result_cnt,
                                               ips_PkgError_t **error);

               Arguments:

               inst -- RAD instance

               pkg_fmri_patterns (nullable) -- Packages to be listed.

               pkg_fmri_patterns_count -- Number of items in pkg_fmri_patterns
               array

               refresh_catalogs (nullable) -- Equivalent to --no-refresh.
               Default: True.

               origins (nullable) -- Equivalent to -g. Default: None.

               origins_count -- Number of items in origins array

               list_installed_newest (nullable) -- Equivalent to -a. Default:
               False.

               list_all (nullable) -- Equivalent to -f. Default: False. Must
               be used with list_installed_newest.

               list_newest (nullable) -- Equivalent to -n. Default: False.

               list_upgradable (nullable) -- Equivalent to -u. Default: False.

               mode (nullable) -- The running mode. see PkgImage.mode property
               for valid values.

               result -- A list of PkgFmri objects.

               result_cnt -- Number of items in result array

               error

           rc_err_t ips_PkgImage_install(rc_instance_t *inst,
                                         const char **pkg_fmri_patterns,
                                         int pkg_fmri_patterns_count,
                                         const char *backup_be_name,
                                         const char *be_name,
                                         boolean_t *deny_new_be,
                                         boolean_t *no_backup_be,
                                         boolean_t *be_activate,
                                         boolean_t *require_backup_be,
                                         boolean_t *require_new_be,
                                         int *concurrency,
                                         boolean_t *accept,
                                         boolean_t *show_licenses,
                                         const char **reject_pats,
                                         int reject_pats_count,
                                         boolean_t *update_index,
                                         boolean_t *refresh_catalogs,
                                         boolean_t *noexecute,
                                         int *parsable_version,
                                         const char **origins,
                                         int origins_count,
                                         boolean_t *li_erecurse_all,
                                         const char **li_erecurse_list,
                                         int li_erecurse_list_count,
                                         const char **li_erecurse_excl,
                                         int li_erecurse_excl_count,
                                         boolean_t *sync_act,
                                         int *act_timeout,
                                         const char *mode,
                                         ips_PkgReturn_t **result,
                                         ips_PkgError_t **error);

               Operation to install packages.

               Operation for installing packages. This operation is equivalent
               to the pkg install command.

               Arguments:

               inst -- RAD instance

               pkg_fmri_patterns (nullable) -- Packages to install.

               pkg_fmri_patterns_count -- Number of items in pkg_fmri_patterns
               array

               backup_be_name (nullable) -- Equivalent to --backup-be-name.
               Default: None.

               be_name (nullable) -- Equivalent to --be-name. Default: None.

               deny_new_be (nullable) -- Equivalent to --deny-new-be. Default:
               False.

               no_backup_be (nullable) -- Equivalent to --no-backup-be.
               Default: False.

               be_activate (nullable) -- Opposite to --no-be-activate.
               Default: True.

               require_backup_be (nullable) -- Equivalent to
               --require-backup-be. Default: False.

               require_new_be (nullable) -- Equivalent to --require-new-be.
               Default: False.

               concurrency (nullable) -- Equivalent to -C. Default: None.
               Minimum: 0.

               accept (nullable) -- Equivalent to --accept. Default: False.

               show_licenses (nullable) -- Equivalent to --licenses. Default:
               False.

               reject_pats (nullable) -- Equivalent to --reject. Default:
               None.

               reject_pats_count -- Number of items in reject_pats array

               update_index (nullable) -- Opposite to --no-index. Default:
               True.

               refresh_catalogs (nullable) -- Opposite to --no-refresh.
               Default: True.

               noexecute (nullable) -- Equivalent to -n. Default: False.

               parsable_version (nullable) -- Required to show licenses to be
               accepted. Default: None. The only acceptable value is 0.

                   For software with licenses that must be viewed and
                   accepted, the RAD client must specify the parsable_version
                   and accept options to allow the RAD server to return the
                   parsable version of the image plan that contains software
                   licenses, and to set licenses as accepted.

               origins (nullable) -- Equivalent to -g. Default: None.

               origins_count -- Number of items in origins array

               li_erecurse_all (nullable) -- Equivalent to -r. Default: False.

               li_erecurse_list (nullable) -- Equivalent to -z. Default: None.

               li_erecurse_list_count -- Number of items in li_erecurse_list
               array

               li_erecurse_excl (nullable) -- Equivalent to -Z. Default: None.

               li_erecurse_excl_count -- Number of items in li_erecurse_excl
               array

               sync_act (nullable) -- Equivalent to --sync-actuators. Default:
               False.

               act_timeout (nullable) -- Equivalent to
               --sync-actuators-timeout. Default: None. Minimum: 0.

               mode (nullable) -- The running mode. see PkgImage.mode property
               for valid values.

               result -- The returned data.

               error

           rc_err_t ips_PkgImage_exact_install(rc_instance_t *inst,
                                               const char **pkg_fmri_patterns,
                                               int pkg_fmri_patterns_count,
                                               const char *backup_be_name,
                                               const char *be_name,
                                               boolean_t *deny_new_be,
                                               boolean_t *no_backup_be,
                                               boolean_t *be_activate,
                                               boolean_t *require_backup_be,
                                               boolean_t *require_new_be,
                                               int *concurrency,
                                               boolean_t *accept,
                                               boolean_t *show_licenses,
                                               const char **reject_pats,
                                               int reject_pats_count,
                                               boolean_t *update_index,
                                               boolean_t *refresh_catalogs,
                                               boolean_t *noexecute,
                                               int *parsable_version,
                                               const char **origins,
                                               int origins_count,
                                               const char *mode,
                                               ips_PkgReturn_t **result,
                                               ips_PkgError_t **error);

               Operation to install only named packages and their
               dependencies.

               Operation for installing only packages specified by
               pkg_fmri_patterns and their dependencies. This operation is
               equivalent to the pkg exact-install command.

               Arguments:

               inst -- RAD instance

               pkg_fmri_patterns (nullable) -- Packages to be installed.

               pkg_fmri_patterns_count -- Number of items in pkg_fmri_patterns
               array

               backup_be_name (nullable) -- Equivalent to --backup-be-name.
               Default: None.

               be_name (nullable) -- Equivalent to --be-name. Default: None.

               deny_new_be (nullable) -- Equivalent to --deny-new-be. Default:
               False.

               no_backup_be (nullable) -- Equivalent to --no-backup-be.
               Default: False.

               be_activate (nullable) -- Opposite to --no-be-activate.
               Default: True.

               require_backup_be (nullable) -- Equivalent to
               --require-backup-be. Default: False.

               require_new_be (nullable) -- Equivalent to --require-new-be.
               Default: False.

               concurrency (nullable) -- Equivalent to -C. Default: None.
               Minimum: 0.

               accept (nullable) -- Equivalent to --accept. Default: False.

               show_licenses (nullable) -- Equivalent to --licenses. Default:
               False.

               reject_pats (nullable) -- Equivalent to --reject. Default:
               None.

               reject_pats_count -- Number of items in reject_pats array

               update_index (nullable) -- Opposite to --no-index. Default:
               True.

               refresh_catalogs (nullable) -- Opposite to --no-refresh.
               Default: True.

               noexecute (nullable) -- Equivalent to -n. Default: False.

               parsable_version (nullable) -- Required to show licenses to be
               accepted. Default: None. The only acceptable value is 0.

                   For software with licenses that must be viewed and
                   accepted, the RAD client must specify the parsable_version
                   and accept options to allow the RAD server to return the
                   parsable version of the image plan that contains software
                   licenses, and to set licenses as accepted.

               origins (nullable) -- Equivalent to -g. Default: None.

               origins_count -- Number of items in origins array

               mode (nullable) -- The running mode. see PkgImage.mode property
               for valid values.

               result -- The returned data.

               error

           rc_err_t ips_PkgImage_update(rc_instance_t *inst,
                                        const char **pkg_fmri_patterns,
                                        int pkg_fmri_patterns_count,
                                        const char *backup_be_name,
                                        const char *be_name,
                                        boolean_t *deny_new_be,
                                        boolean_t *no_backup_be,
                                        boolean_t *be_activate,
                                        boolean_t *require_backup_be,
                                        boolean_t *require_new_be,
                                        int *concurrency,
                                        boolean_t *accept,
                                        boolean_t *show_licenses,
                                        const char **reject_pats,
                                        int reject_pats_count,
                                        boolean_t *update_index,
                                        boolean_t *refresh_catalogs,
                                        boolean_t *noexecute,
                                        int *parsable_version,
                                        const char **origins,
                                        int origins_count,
                                        boolean_t *li_erecurse_all,
                                        const char **li_erecurse_list,
                                        int li_erecurse_list_count,
                                        const char **li_erecurse_excl,
                                        int li_erecurse_excl_count,
                                        boolean_t *sync_act,
                                        int *act_timeout,
                                        boolean_t *ignore_missing,
                                        boolean_t *force,
                                        const char *mode,
                                        ips_PkgReturn_t **result,
                                        ips_PkgError_t **error);

               Operation to update packages.

               Operation for updating packages. This operation is equivalent
               to the pkg update command.

               Arguments:

               inst -- RAD instance

               pkg_fmri_patterns (nullable) -- Packages to update.

               pkg_fmri_patterns_count -- Number of items in pkg_fmri_patterns
               array

               backup_be_name (nullable) -- Equivalent to --backup-be-name.
               Default: None.

               be_name (nullable) -- Equivalent to --be-name. Default: None.

               deny_new_be (nullable) -- Equivalent to --deny-new-be. Default:
               False.

               no_backup_be (nullable) -- Equivalent to --no-backup-be.
               Default: False.

               be_activate (nullable) -- Opposite to --no-be-activate.
               Default: True.

               require_backup_be (nullable) -- Equivalent to
               --require-backup-be. Default: False.

               require_new_be (nullable) -- Equivalent to --require-new-be.
               Default: False.

               concurrency (nullable) -- Equivalent to -C. Default: None.
               Minimum: 0.

               accept (nullable) -- Equivalent to --accept. Default: False.

               show_licenses (nullable) -- Equivalent to --licenses. Default:
               False.

               reject_pats (nullable) -- Equivalent to --reject. Default:
               None.

               reject_pats_count -- Number of items in reject_pats array

               update_index (nullable) -- Opposite to --no-index. Default:
               True.

               refresh_catalogs (nullable) -- Opposite to --no-refresh.
               Default: True.

               noexecute (nullable) -- Equivalent to -n. Default: False.

               parsable_version (nullable) -- Required to show licenses to be
               accepted. Default: None. The only acceptable value is 0.

                   For software with licenses that must be viewed and
                   accepted, the RAD client must specify the parsable_version
                   and accept options to allow the RAD server to return the
                   parsable version of the image plan that contains software
                   licenses, and to set licenses as accepted.

               origins (nullable) -- Equivalent to -g. Default: None.

               origins_count -- Number of items in origins array

               li_erecurse_all (nullable) -- Equivalent to -r. Default: False.

               li_erecurse_list (nullable) -- Equivalent to -z. Default: None.

               li_erecurse_list_count -- Number of items in li_erecurse_list
               array

               li_erecurse_excl (nullable) -- Equivalent to -Z. Default: None.

               li_erecurse_excl_count -- Number of items in li_erecurse_excl
               array

               sync_act (nullable) -- Equivalent to --sync-actuators. Default:
               False.

               act_timeout (nullable) -- Equivalent to
               --sync-actuators-timeout. Default: None. Minimum: 0.

               ignore_missing (nullable) -- Equivalent to --ignore-missing.
               Default: False.

               force (nullable) -- Equivalent to -f. Default: False.

               mode (nullable) -- The running mode. see PkgImage.mode property
               for valid values.

               result -- The returned data.

               error

           rc_err_t ips_PkgImage_uninstall(rc_instance_t *inst,
                                           const char **pkg_fmri_patterns,
                                           int pkg_fmri_patterns_count,
                                           const char *backup_be_name,
                                           const char *be_name,
                                           boolean_t *deny_new_be,
                                           boolean_t *no_backup_be,
                                           boolean_t *be_activate,
                                           boolean_t *require_backup_be,
                                           boolean_t *require_new_be,
                                           int *concurrency,
                                           boolean_t *update_index,
                                           boolean_t *refresh_catalogs,
                                           boolean_t *noexecute,
                                           int *parsable_version,
                                           boolean_t *li_erecurse_all,
                                           const char **li_erecurse_list,
                                           int li_erecurse_list_count,
                                           const char **li_erecurse_excl,
                                           int li_erecurse_excl_count,
                                           boolean_t *sync_act,
                                           int *act_timeout,
                                           boolean_t *ignore_missing,
                                           const char *mode,
                                           ips_PkgReturn_t **result,
                                           ips_PkgError_t **error);

               Operation to uninstall packages.

               Operation for uninstalling packages. This operation is
               equivalent to the pkg uninstall command.

               Arguments:

               inst -- RAD instance

               pkg_fmri_patterns (nullable) -- Packages to uninstall.

               pkg_fmri_patterns_count -- Number of items in pkg_fmri_patterns
               array

               backup_be_name (nullable) -- Equivalent to --backup-be-name.
               Default: None.

               be_name (nullable) -- Equivalent to --be-name. Default: None.

               deny_new_be (nullable) -- Equivalent to --deny-new-be. Default:
               False.

               no_backup_be (nullable) -- Equivalent to --no-backup-be.
               Default: False.

               be_activate (nullable) -- Opposite to --no-be-activate.
               Default: True.

               require_backup_be (nullable) -- Equivalent to
               --require-backup-be. Default: False.

               require_new_be (nullable) -- Equivalent to --require-new-be.
               Default: False.

               concurrency (nullable) -- Equivalent to -C. Default: None.
               Minimum: 0.

               update_index (nullable) -- Opposite to --no-index. Default:
               True.

               refresh_catalogs (nullable) -- Opposite to --no-refresh.
               Default: True.

               noexecute (nullable) -- Equivalent to -n. Default: False.

               parsable_version (nullable) -- Required to show licenses to be
               accepted. Default: None. The only acceptable value is 0.

                   For software with licenses that must be viewed and
                   accepted, the RAD client must specify the parsable_version
                   and accept options to allow the RAD server to return the
                   parsable version of the image plan that contains software
                   licenses, and to set licenses as accepted.

               li_erecurse_all (nullable) -- Equivalent to -r. Default: False.

               li_erecurse_list (nullable) -- Equivalent to -z. Default: None.

               li_erecurse_list_count -- Number of items in li_erecurse_list
               array

               li_erecurse_excl (nullable) -- Equivalent to -Z. Default: None.

               li_erecurse_excl_count -- Number of items in li_erecurse_excl
               array

               sync_act (nullable) -- Equivalent to --sync-actuators. Default:
               False.

               act_timeout (nullable) -- Equivalent to
               --sync-actuators-timeout. Default: None. Minimum: 0.

               ignore_missing (nullable) -- Equivalent to --ignore-missing.
               Default: False.

               mode (nullable) -- The running mode. see PkgImage.mode property
               for valid values.

               result -- The returned data.

               error

           rc_err_t ips_PkgImage_info(rc_instance_t *inst,
                                      const char **pkg_fmri_patterns,
                                      int pkg_fmri_patterns_count,
                                      boolean_t *license_only,
                                      boolean_t *info_local,
                                      boolean_t *info_remote,
                                      const char **origins,
                                      int origins_count,
                                      const char *mode,
                                      rc_instance_t ***result,
                                      int *result_cnt,
                                      ips_PkgError_t **error);

               Operation to retrieve information about packages.

               Operation for getting package information. This operation is
               equivalent to the pkg info command.

               Arguments:

               inst -- RAD instance

               pkg_fmri_patterns (nullable) -- Packages for which you want
               information.

               pkg_fmri_patterns_count -- Number of items in pkg_fmri_patterns
               array

               license_only (nullable) -- Equivalent to --license. Default:
               False.

               info_local (nullable) -- Equivalent to -l. Default: True.

               info_remote (nullable) -- Equivalent to -r. Default: False.

               origins (nullable) -- Equivalent to -g. Default: None.

               origins_count -- Number of items in origins array

               mode (nullable) -- The running mode. see PkgImage.mode property
               for valid values.

               result -- Return a list of PkgInfo objects.

               result_cnt -- Number of items in result array

               error

           rc_err_t ips_PkgImage_publisher(rc_instance_t *inst,
                                           const char **publishers,
                                           int publishers_count,
                                           boolean_t *preferred_only,
                                           boolean_t *include_disabled,
                                           const char *mode,
                                           rc_instance_t ***result,
                                           int *result_cnt,
                                           ips_PkgError_t **error);

               Operation to list publishers.

               Operation for listing publishers and some of their attributes
               Equivalent to the pkg publisher command.

               Arguments:

               inst -- RAD instance

               publishers (nullable) -- Publishers to list.

               publishers_count -- Number of items in publishers array

               preferred_only (nullable) -- Equivalent to -P. Default: False.

               include_disabled (nullable) -- Opposite to -n. Default: True.

               mode (nullable) -- The running mode. see PkgImage.mode property
               for valid values.

               result -- Return a list of PkgPublisher objects.

               result_cnt -- Number of items in result array

               error

           rc_err_t ips_PkgImage_set_publisher(rc_instance_t *inst,
                                               const char **publishers,
                                               int publishers_count,
                                               const char *ssl_key,
                                               const char *ssl_cert,
                                               const char **approved_ca_certs,
                                               int approved_ca_certs_count,
                                               const char **revoked_ca_certs,
                                               int revoked_ca_certs_count,
                                               const char **unset_ca_certs,
                                               int unset_ca_certs_count,
                                               const char *origin_uri,
                                               boolean_t *reset_uuid,
                                               const char **add_mirrors,
                                               int add_mirrors_count,
                                               const char **remove_mirrors,
                                               int remove_mirrors_count,
                                               const char **add_origins,
                                               int add_origins_count,
                                               const char **remove_origins,
                                               int remove_origins_count,
                                               boolean_t *refresh_allowed,
                                               boolean_t *disable,
                                               boolean_t *sticky,
                                               const char *repo_uri,
                                               const char *proxy_uri,
                                               const char **set_props,
                                               int set_props_count,
                                               const char **add_prop_values,
                                               int add_prop_values_count,
                                               const char **remove_prop_values,
                                               int remove_prop_values_count,
                                               const char **unset_props,
                                               int unset_props_count,
                                               const char *search_before,
                                               const char *search_after,
                                               const char *search_first,
                                               const char *mode,
                                               ips_PkgReturn_t **result,
                                               ips_PkgError_t **error);

               Set property value.

               Arguments:

               inst -- RAD instance

               publishers (nullable) -- Publishers to set.

               publishers_count -- Number of items in publishers array

               ssl_key (nullable) -- Equivalent to -k. Default: None.

               ssl_cert (nullable) -- Equivalent to -c. Default: None.

               approved_ca_certs (nullable) -- Equivalent to
               --approve-ca-cert. Default: None.

               approved_ca_certs_count -- Number of items in approved_ca_certs
               array

               revoked_ca_certs (nullable) -- Equivalent to --revoke-ca-cert.
               Default: None.

               revoked_ca_certs_count -- Number of items in revoked_ca_certs
               array

               unset_ca_certs (nullable) -- Equivalent to --unset-ca-cert.
               Default: None.

               unset_ca_certs_count -- Number of items in unset_ca_certs array

               origin_uri (nullable) -- Add a single origin or replace
               existing origins with the one specified. Compare with
               add_origins. Default: None.

               reset_uuid (nullable) -- Equivalent to --reset-uuid. Default:
               False.

               add_mirrors (nullable) -- Equivalent to -m. Default: None.

               add_mirrors_count -- Number of items in add_mirrors array

               remove_mirrors (nullable) -- Equivalent to -M. Default: None.

               remove_mirrors_count -- Number of items in remove_mirrors array

               add_origins (nullable) -- Equivalent to -g. Default: None.

               add_origins_count -- Number of items in add_origins array

               remove_origins (nullable) -- Equivalent to -G. Default: None.

               remove_origins_count -- Number of items in remove_origins array

               refresh_allowed (nullable) -- Opposite to --no-refresh.
               Default: True.

               disable (nullable) -- Equivalent to --disable. Default: False.

               sticky (nullable) -- Equivalent to --sticky. Default: True.

               repo_uri (nullable) -- Equivalent to --p. Default: None.

               proxy_uri (nullable) -- Equivalent to --proxy. Default: None.

               set_props (nullable) -- Equivalent to --set-property. Default:
               None.

               set_props_count -- Number of items in set_props array

               add_prop_values (nullable) -- Equivalent to
               --add-property-value. Default: None.

               add_prop_values_count -- Number of items in add_prop_values
               array

               remove_prop_values (nullable) -- Equivalent to
               --remove-property-value. Default: None.

               remove_prop_values_count -- Number of items in
               remove_prop_values array

               unset_props (nullable) -- Equivalent to --unset-property.
               Default: None.

               unset_props_count -- Number of items in unset_props array

               search_before (nullable) -- Equivalent to --search-before.
               Default: None.

               search_after (nullable) -- Equivalent to --search-after.
               Default: None.

               search_first (nullable) -- Equivalent to --search-first.
               Default: None.

               mode (nullable) -- The running mode. see PkgImage.mode property
               for valid values.

               result -- The returned data.

               error

           rc_err_t ips_PkgImage_unset_publisher(rc_instance_t *inst,
                                                 const char **publishers,
                                                 int publishers_count,
                                                 const char *mode,
                                                 ips_PkgReturn_t **result,
                                                 ips_PkgError_t **error);

               Unsetting publishers operation.

               Operation for removing a publisher. Equivalent to the pkg
               unset-publisher command.

               Arguments:

               inst -- RAD instance

               publishers (nullable) -- Publishers to be removed.

               publishers_count -- Number of items in publishers array

               mode (nullable) -- The running mode. see PkgImage.mode property
               for valid values.

               result -- The returned data.

               error

       PkgImage Retrieve
           rc_err_t ips_PkgImage__rad_get_name(adr_name_t **result,
                                               int n,
                                               ...);

               Obtain RAD name of a PkgImage object.

               Arguments:

               result -- RAD name

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t ips_PkgImage__rad_lookup(rc_conn_t *c,
                                             boolean_t strict,
                                             rc_instance_t **result,
                                             int n,
                                             ...);

               Lookup a PkgImage instance.

               Construct a RAD name for the interface based on the provided
               key-value pairs and perform a lookup. If successful, instance
               reference is returned in the result.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               result -- RAD instance

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t ips_PkgImage__rad_list(rc_conn_t *c,
                                           boolean_t strict,
                                           adr_pattern_scheme_t scheme,
                                           adr_name_t ***result,
                                           int *result_count,
                                           int n,
                                           ...);

               List RAD names of a available PkgImage instances.

               Returns an array and array size of matching object names.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               scheme -- Apply glob (NS_GLOB) or regex (NS_REGEX) matching

               result -- Array of RAD names

               result_count -- Number of names in result array

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

       PkgImage Events
           progress

               Report pkg operation progress. This event is used for
               time-consuming operations such as 'install', 'update', and
               'uninstall'. The event payload is a PkgProgress struct

               typedef void (*ips_PkgImage_progress_cb_f)(rc_instance_t *inst,
                                                          ips_PkgProgress_t *payload,
                                                          struct timespec ts,
                                                          void *arg);

                   Function invoked when event "progress" occurs.

                   Arguments:

                   inst -- RAD instance that generated the event

                   payload -- Event payload

                   ts -- Time stamp

                   arg -- User data: custom parameter to invoke the function
                   with

               rc_err_t ips_PkgImage_subscribe_progress(rc_instance_t *inst,
                                                        ips_PkgImage_progress_cb_f cb,
                                                        void *arg);

                   Subscribe to event "progress".

                   Arguments:

                   inst -- RAD instance

                   cb -- Event callback function

                   arg -- User data: custom parameter to invoke the function
                   with

               rc_err_t ips_PkgImage_unsubscribe_progress(rc_instance_t *inst,
                                                          void **arg);

                   Unsubscribe from event "progress".

                   Arguments:

                   inst -- RAD instance

                   arg -- User data returned

   interface IPSManager
       Singleton interface providing package image-related operations. serves
       as an entry point.

       IPSManager Methods
           rc_err_t ips_IPSManager_image_create(rc_instance_t *inst,
                                                const char *image_path,
                                                rc_instance_t **result,
                                                ips_PkgError_t **error);

               Create a package image on the disk and create a corresponding
               PkgImage instance.

               Arguments:

               inst -- RAD instance

               image_path -- Image path for creating an image.

               result

               error

           rc_err_t ips_IPSManager_image_remove(rc_instance_t *inst,
                                                const adr_name_t *name,
                                                ips_PkgError_t **error);

               Remove a package image on the disk and also remove the
               corresponding PkgImage instance.

               Arguments:

               inst -- RAD instance

               name -- RAD ADR name object for removing the associated
               PkgImage instance.

               error

           rc_err_t ips_IPSManager_image_open(rc_instance_t *inst,
                                              const char *image_path,
                                              rc_instance_t **result,
                                              ips_PkgError_t **error);

               Create a PkgImage instance based on an existing pkg image on
               the disk.

               Arguments:

               inst -- RAD instance

               image_path -- Image path to create a PkgImage instance for an
               existing image on the disk.

               result

               error

       IPSManager Retrieve
           rc_err_t ips_IPSManager__rad_get_name(adr_name_t **result,
                                                 int n,
                                                 ...);

               Obtain RAD name of a IPSManager object.

               Arguments:

               result -- RAD name

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t ips_IPSManager__rad_lookup(rc_conn_t *c,
                                               boolean_t strict,
                                               rc_instance_t **result,
                                               int n,
                                               ...);

               Lookup a IPSManager instance.

               Construct a RAD name for the interface based on the provided
               key-value pairs and perform a lookup. If successful, instance
               reference is returned in the result.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               result -- RAD instance

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t ips_IPSManager__rad_list(rc_conn_t *c,
                                             boolean_t strict,
                                             adr_pattern_scheme_t scheme,
                                             adr_name_t ***result,
                                             int *result_count,
                                             int n,
                                             ...);

               List RAD names of a available IPSManager instances.

               Returns an array and array size of matching object names.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               scheme -- Apply glob (NS_GLOB) or regex (NS_REGEX) matching

               result -- Array of RAD names

               result_count -- Number of names in result array

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

ENUMERATED TYPES
       enum PkgRetErrCode -- This enum contains a list of codes for pkg
       operation return or error.

           typedef enum ips_PkgRetErrCode {
                IPREC_OK = 0,
                IPREC_GENERAL_ERROR = 1,
                IPREC_BAD_ARGS = 2,
                IPREC_PARTIAL_SUCCEED = 3,
                IPREC_NO_OP = 4,
                IPREC_NO_PERMIT_LIVE = 5,
                IPREC_LICENSE_ACCEPT = 6,
                IPREC_IMAGE_LOCKED = 7,
                IPREC_ACTUATOR_TIMEOUT = 8,
                IPREC_UNANTICIPATED = 99,
           } ips_PkgRetErrCode_t;

           IPREC_OK (0) -- Operation succeeded.

           IPREC_GENERAL_ERROR (1) -- General error.

           IPREC_BAD_ARGS (2) -- Argument usage error.

           IPREC_PARTIAL_SUCCEED (3) -- Multiple operations were requested,
           but not all succeeded.

           IPREC_NO_OP (4) -- Nothing to do.

           IPREC_NO_PERMIT_LIVE (5) -- The requested operation cannot be
           performed on a live image.

           IPREC_LICENSE_ACCEPT (6) -- License acceptance required for
           requested operation.

           IPREC_IMAGE_LOCKED (7) -- Image is currently locked by another
           process.

           IPREC_ACTUATOR_TIMEOUT (8) -- Actuator timed out.

           IPREC_UNANTICIPATED (99) -- An unanticipated error occurred.

STRUCTURED TYPES
       struct PkgProgress -- This struct is used as the progress event
       payload.

           typedef struct ips_PkgProgress ips_PkgProgress_t;

           struct ips_PkgProgress {
                char *ipp_phase;
                char *ipp_message;
                char *ipp_time_taken;
                char *ipp_time_unit;
                char *ipp_action_type;
                char *ipp_processed_items;
                char *ipp_goal_items;
                char *ipp_percent_done;
                char *ipp_item_unit;
                char *ipp_speed;
                char **ipp_running;
                int ipp_running_count;
                char *ipp_goal_processed_items;
                char *ipp_reversioned_items;
                char *ipp_goal_reversion_items;
                char *ipp_adjusted_items;
                char **ipp_li_output;
                int ipp_li_output_count;
                char **ipp_li_errors;
                int ipp_li_errors_count;
           };


           void ips_PkgProgress_free(ips_PkgProgress_t *in);

           Phase and message fields always have content. Examples of phases
           include Planning, Download, Actions. 'Utility' indicates a pkg
           utility operation is running. Other fields are optional and null in
           most cases. Those fields are documented in per field section. The
           particular implementation should be able to cope with those
           optional fields defensively.

           Fields:

           ipp_phase -- Current operating phase.

           ipp_message -- Event message for a phase.

           ipp_time_taken -- Indicate the total time taken. Currently expected
           on some task complete events including planning, downloading,
           action activities and archiving. Note a phase ending event does not
           necessarily set this field. A phase usually contains several tasks.
           Therefore setting this field sometimes occurs within a phase.

           ipp_time_unit -- Units for a time value. A time_unit is always
           provided with time_taken. Example value: second

           ipp_action_type -- The action type for an action activity. The
           action_type is only provided with phases involving action
           activities.

           ipp_processed_items -- Current number of items processed, where the
           items are countable items such as manifests, actions, packages,
           bytes and linked images.

           ipp_goal_items -- Total number of items to process for an event,
           where the items are countable items such as manifests, actions,
           bytes and linked images.

           ipp_percent_done -- Percent complete for the current task. For
           tasks such as fetching manifests, downloading and archiving.

           ipp_item_unit -- The unit of an item, which can be the same as the
           type of the item. Example values: byte, action and manifest. Always
           provided with item related fields.

           ipp_speed -- The speed for a phase. Currently only on download
           phase. Example value: cache, -- and M/s. cache indicates source is
           from cache. -- indicates no speed available.

           ipp_running -- Indicate which linked images the operations is
           running. Only provided with event reporting linked image status.

           ipp_running_count

           ipp_goal_processed_items -- Total number of items to process for a
           reversion task. Compare with goal_items and goal_reversion_items.

           ipp_reversioned_items -- Current number of items reversioned for a
           reversion task. Compare with processed_items and
           goal_processed_items.

           ipp_goal_reversion_items -- Total number of items to reversion for
           a reversion task. Compare with goal_items.

           ipp_adjusted_items -- Current number of items adjusted for a
           reversion task.

           ipp_li_output -- Linked image output. This is a list of output
           lines.

           ipp_li_output_count

           ipp_li_errors -- Linked image errors output. This is a list of
           error output lines.

           ipp_li_errors_count

       struct PkgError -- This struct is used as general error payload for
       pkg-related methods.

           typedef struct ips_PkgError ips_PkgError_t;

           struct ips_PkgError {
                ips_PkgRetErrCode_t ipe_error_code;
                char *ipe_error_message;
           };


           void ips_PkgError_free(ips_PkgError_t *in);

           Fields:

           ipe_error_code -- Error code.

               Current possible values are listed in PkgRetErrCode enum but
               not include values OK, NO_OP and ACTUATOR_TIMEOUT.

           ipe_error_message -- Error message.

       struct PkgProperty -- This struct is used to represent a
       PkgPublisher-related property.

           typedef struct ips_PkgProperty ips_PkgProperty_t;

           struct ips_PkgProperty {
                char *ipp_name;
                char **ipp_value;
                int ipp_value_count;
           };


           void ips_PkgProperty_free(ips_PkgProperty_t *in);

           Fields:

           ipp_name -- Property name.

           ipp_value -- Property value.

           ipp_value_count

       struct PkgReturn -- Served as a general pkg-related method return value
       for operations such as install and uninstall.

           typedef struct ips_PkgReturn ips_PkgReturn_t;

           struct ips_PkgReturn {
                ips_PkgRetErrCode_t ipr_return_code;
                char *ipr_parsable_data;
           };


           void ips_PkgReturn_free(ips_PkgReturn_t *in);

           Fields:

           ipr_return_code -- Return code.

               Current possible values are OK, NO_OP and ACTUATOR_TIMEOUT.

           ipr_parsable_data -- Parsable return data as JSON formatted string.

VERSION
       1.0

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

       +--------------------+--------------------------------------+
       |  ATTRIBUTE TYPE    |           ATTRIBUTE VALUE            |
       +--------------------+--------------------------------------+
       |Availability        | system/management/rad/module/rad-ips |
       +--------------------+--------------------------------------+
       |Interface Stability | Private                              |
       +--------------------+--------------------------------------+

SEE ALSO
       rad(8)

NOTES
        1. Accessing Python documentation for this module:

           $ pydoc rad.bindings.com.oracle.solaris.rad.ips_1





Solaris 11.4                      2017-02-01                       IPS-1(3rad)