ips-1 - API for pkg operations in IPS
#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);
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)