Go to main content

man pages section 3: Remote Administration Daemon Module Interfaces

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

sysmgr-1 (3rad)

Name

sysmgr-1 - API for controlling overall system state

Synopsis

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

interface SystemManager
rc_err_t sysmgr_SystemManager_beginMaintenance(rc_instance_t *inst,
sysmgr_Maintenance_t *typeref,
sysmgr_Error_t **error);

rc_err_t sysmgr_SystemManager_listMaintenance(rc_instance_t *inst,
sysmgr_Maintenance_t ***result,
int *result_cnt,
sysmgr_Error_t **error);

rc_err_t sysmgr_SystemManager_endMaintenance(rc_instance_t *inst,
const char *type,
sysmgr_Error_t **error);

Enumerated Types
enum ErrorDomain

typedef enum sysmgr_ErrorDomain {
SED_SYSTEM = 0,
SED_ZONECFG = 1,
} sysmgr_ErrorDomain_t;

Structured Types
struct Errno

typedef struct sysmgr_Errno sysmgr_Errno_t;

struct sysmgr_Errno {
sysmgr_ErrorDomain_t se_domain;
int se_errno;
};


void sysmgr_Errno_free(sysmgr_Errno_t *in);

struct Error

typedef struct sysmgr_Error sysmgr_Error_t;

struct sysmgr_Error {
sysmgr_Errno_t *se_err;
char *se_str;
};


void sysmgr_Error_free(sysmgr_Error_t *in);

struct Maintenance

typedef struct sysmgr_Maintenance sysmgr_Maintenance_t;

struct sysmgr_Maintenance {
char *sm_type;
char *sm_user;
struct timespec sm_timestamp;
char *sm_message;
};


void sysmgr_Maintenance_free(sysmgr_Maintenance_t *in);

Description

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



NAME
       sysmgr - API for controlling overall system state

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

   interface SystemManager
       rc_err_t sysmgr_SystemManager_beginMaintenance(rc_instance_t *inst,
                                                      sysmgr_Maintenance_t *typeref,
                                                      sysmgr_Error_t **error);

       rc_err_t sysmgr_SystemManager_listMaintenance(rc_instance_t *inst,
                                                     sysmgr_Maintenance_t ***result,
                                                     int *result_cnt,
                                                     sysmgr_Error_t **error);

       rc_err_t sysmgr_SystemManager_endMaintenance(rc_instance_t *inst,
                                                    const char *type,
                                                    sysmgr_Error_t **error);

   Enumerated Types
       enum ErrorDomain

           typedef enum sysmgr_ErrorDomain {
                SED_SYSTEM = 0,
                SED_ZONECFG = 1,
           } sysmgr_ErrorDomain_t;

   Structured Types
       struct Errno

           typedef struct sysmgr_Errno sysmgr_Errno_t;

           struct sysmgr_Errno {
                sysmgr_ErrorDomain_t se_domain;
                int se_errno;
           };


           void sysmgr_Errno_free(sysmgr_Errno_t *in);

       struct Error

           typedef struct sysmgr_Error sysmgr_Error_t;

           struct sysmgr_Error {
                sysmgr_Errno_t *se_err;
                char *se_str;
           };


           void sysmgr_Error_free(sysmgr_Error_t *in);

       struct Maintenance

           typedef struct sysmgr_Maintenance sysmgr_Maintenance_t;

           struct sysmgr_Maintenance {
                char *sm_type;
                char *sm_user;
                struct timespec sm_timestamp;
                char *sm_message;
           };


           void sysmgr_Maintenance_free(sysmgr_Maintenance_t *in);

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

       This API provides functionality for controlling overall system state.

INTERFACES
   interface SystemManager
       Manage the operating system instance

       SystemManager Methods
           rc_err_t sysmgr_SystemManager_beginMaintenance(rc_instance_t *inst,
                                                          sysmgr_Maintenance_t *typeref,
                                                          sysmgr_Error_t **error);

               Initiate a maintenance mode

               If the maintenance type is "admin", then any zones evacuation
               state is cleared. While in this maintenance mode, zones cannot
               be attached or booted (including migrations into the system).

               No other maintenance types are currently supported.

               Arguments:

               inst -- RAD instance

               typeref -- The maintenance data

                   The caller should populate .user (typically a UNIX
                   username, but the value is freeform). The timestamp will be
                   automatically generated.

               error

           rc_err_t sysmgr_SystemManager_listMaintenance(rc_instance_t *inst,
                                                         sysmgr_Maintenance_t ***result,
                                                         int *result_cnt,
                                                         sysmgr_Error_t **error);

               List enabled maintenance modes

               Arguments:

               inst -- RAD instance

               result

               result_cnt -- Number of items in result array

               error

           rc_err_t sysmgr_SystemManager_endMaintenance(rc_instance_t *inst,
                                                        const char *type,
                                                        sysmgr_Error_t **error);

               End a maintenance mode.

               Arguments:

               inst -- RAD instance

               type -- The type of maintenance to end

               error

       SystemManager Retrieve
           rc_err_t sysmgr_SystemManager__rad_get_name(adr_name_t **result,
                                                       int n,
                                                       ...);

               Obtain RAD name of a SystemManager 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 sysmgr_SystemManager__rad_lookup(rc_conn_t *c,
                                                     boolean_t strict,
                                                     rc_instance_t **result,
                                                     int n,
                                                     ...);

               Lookup a SystemManager 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 sysmgr_SystemManager__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 SystemManager 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 ErrorDomain -- Type of error number

           typedef enum sysmgr_ErrorDomain {
                SED_SYSTEM = 0,
                SED_ZONECFG = 1,
           } sysmgr_ErrorDomain_t;

           SED_SYSTEM (0) -- As per strerror()

           SED_ZONECFG (1) -- As per zonecfg_strerror()

STRUCTURED TYPES
       struct Errno -- Error number description

           typedef struct sysmgr_Errno sysmgr_Errno_t;

           struct sysmgr_Errno {
                sysmgr_ErrorDomain_t se_domain;
                int se_errno;
           };


           void sysmgr_Errno_free(sysmgr_Errno_t *in);

           Fields:

           se_domain

           se_errno

       struct Error -- An error occurred for the given operation

           typedef struct sysmgr_Error sysmgr_Error_t;

           struct sysmgr_Error {
                sysmgr_Errno_t *se_err;
                char *se_str;
           };


           void sysmgr_Error_free(sysmgr_Error_t *in);

           Note that the error string includes any expanded strerror()
           equivalent.

           Fields:

           se_err

           se_str

       struct Maintenance -- A maintenance mode

           typedef struct sysmgr_Maintenance sysmgr_Maintenance_t;

           struct sysmgr_Maintenance {
                char *sm_type;
                char *sm_user;
                struct timespec sm_timestamp;
                char *sm_message;
           };


           void sysmgr_Maintenance_free(sysmgr_Maintenance_t *in);

           Fields:

           sm_type -- The type of maintenance

           sm_user -- The user who set the mode

           sm_timestamp -- Time the mode was set, in seconds since the epoch

           sm_message -- Free-form message used to indicate reason for
           maintenance.

VERSION
       1.0

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

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

SEE ALSO
       rad(8)

NOTES
        1. Accessing Python documentation for this module:

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





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