# Compaq ACMS for OpenVMS
Remote Systems Management Guide

Previous | Contents | Index

# 8.51 ACMSMGMT_STOP_TRACE_MONITOR_1

This procedure requests that the Remote Manager stop the ACMS$TRACE_MONITOR process. The ACMS$TRACE_MONITOR process is an intermediate process used by the Remote Manager to communicate with ACMS run-time processes to enable and disable collections.

## Format

> ### int *acmsmgmt_stop_trace_monitor_1(sub_id_struct *sub_rec,CLIENT *cl)

## Parameters

> ### sub_rec

> Type: | Sub_id_struct
> Access: | Read |
> Mechanism: | By reference |
> Usage: | Structure that contains the following client authorization information.
> | client_id
> | Type: | Integer
> | Access: | Read
> | Mechanism: | By value
> | Usage: | If explicit authentication is being used, a valid client ID must be provided. If the value for client_id is 0, proxy access is used. Client_id is obtained by calling the acms$mgmt_get_creds procedure.

> ### cl

> Type: | CLIENT *
> Access: | Read |
> Mechanism: | By value |
> Usage: | Pointer to an RPC client handle previously obtained by calling the RPC routine CLNT_CREATE.

## Return Value

> Type: | Integer
> Access: | Write
> Mechanism: | By reference
> Usage: | Pointer to status value returned. If the value is NULL or MGMT_SUCCESS, the RPC has succeeded. If the value is neither NULL nor MGMT_SUCCESS, the call failed and the value pointed to is the reason for failure.

## Description

> This procedure requests that the Remote Manager stop the ACMS$TRACE_MONITOR process on the target node. The ACMS$TRACE_MONITOR process is an intermediate process used by the Remote Manager to communicate with ACMS run-time processes to enable and disable collections.

> In general, external entities do not require a startup and shutdown request of the trace monitor process. The Remote Manager starts the trace monitor during process initialization and stops it during process shutdown. Additionally, the Remote Manager starts the trace monitor anytime it is needed (if it is not already started). Once started, the trace monitor continues to run until the Remote Manager shuts down.

> After issuing the stop command to the trace monitor, the Remote Manager waits for a period of up to trace_start_wait_time (a Parameter table parameter that is dynamic and expressed in seconds). If the trace monitor fails to stop during that period, the Remote Manager returns an error to the caller.

## Example

    int stop_trace(int client_id,CLIENT *cl)
    {
       int *status;
       static struct sub_id_struct sub_rec;

       sub_rec.client_id = client_id;

       status = acmsmgmt_stop_trace_monitor_1(&sub_rec,cl);

       if (!status) {
          printf("\nShutdown of Trace Monitor has failed");
          return(MGMT_FAIL);
       }

       if (*status != MGMT_SUCCESS) {
          printf("\nShutdown of Trace Monitor has failed with return code %d",
                 *status);
            free(status);
          return(MGMT_FAIL);
       }

       printf("\nTrace Monitor has been stopped ");
         free(status);
       return(MGMT_SUCCESS);
    }

> In the preceding example, the ACMSMGMT_STOP_TRACE_MONITOR_1 procedure is called to stop the ACMS$TRACE_MON process on the target node. If the call succeeds, the process is stopped. Otherwise, any error messages associated with the failure are displayed. The example in Section 6.4.1 shows how to declare and initialize the input arguments to this procedure.

# 8.52 ACMSMGMT_STOP_TSC_1

This procedure requests that the Remote Manager stop a Terminal Subsystem Controller (TSC) on the same node on which the Remote Manager is running.

## Format

> ### cmd_output_rec *acmsmgmt_stop_tsc_1(sub_id_struct *sub_rec,CLIENT *cl)

## Parameters

> ### sub_rec

> Type: | Sub_id_struct
> Access: | Read |
> Mechanism: | By reference |
> Usage: | Structure that contains the following client authorization information.
> | client_id
> | Type: | Integer
> | Access: | Read
> | Mechanism: | By value
> | Usage: | If explicit authentication is being used, a valid client ID must be provided. If the value for client_id is 0, proxy access is used. Client_id is obtained by calling the acms$mgmt_get_creds procedure.

> ### cl

> Type: | CLIENT *
> Access: | Read |
> Mechanism: | By value |
> Usage: | Pointer to an RPC client handle previously obtained by calling the RPC routine CLNT_CREATE.

## Return Value

> Type: | Cmd_output_rec
> Access: | Write
> Mechanism: | By reference
> Usage: | Pointer to a union. The union contains either a failure code or a structure of type cmd_rec, which points to a linked list containing status messages. The following are the contents of this union:
> | status
> | Type: | Integer
> | Access: | Write
> | Mechanism: | By value
> | Usage: | Failure return code.
> | rc
> | Type: | Integer
> | Access: | Write
> | Mechanism: | By value
> | Usage: | Failure return code.
> | data, data_warn
> | Type: | Cmd_rec
> | Access: | Write
> | Mechanism: | By value
> | Usage: | Structure containing the first node in a linked list of status messages (type dcl_list). The following are the contents of this structure:
> |  | cmd_output
> |  | Type: | Dcl_list
> |  | Access: | Write
> |  | Mechanism: | By reference
> |  | Usage: | Pointer to a linked list of records containing status messages related to the failure of any updates. This structure contains the following fields:
> |  |  | dcl_msg
> |  |  | Type: | Null-terminated string
> |  |  | Access: | Write
> |  |  | Mechanism: | By reference
> |  |  | Usage: | The status message.
> |  |  | pNext
> |  |  | Type: | Dcl_list
> |  |  | Access: | Write
> |  |  | Mechanism: | By reference
> |  |  | Usage: | Pointer to the next node in the linked list.

## Description

> This procedure requests to stop an ACMS TSC on the same node on which the Remote Manager is running.

> This call executes synchronously. It does not return to the caller until the attempt to stop the TSC is complete. Any messages associated with an unsuccessful start of the TSC are returned in the cmd_output linked list.

> The data and data_warn structures contain identical data. If the operation fails, the status field of both structure will be MGMT_WARN; in this case, use the data_warn structure to fetch the status messages from the cmd_output linked list.

> If the operation is successful, the status field of both structures will be MGMT_SUCCESS. No status messages are associated with a successful call.

> If the status field contains MGMT_FAIL, the call failed. No status messages are returned; instead, the reason for the failure is contained in the rc field.

## Example

    int stop_tsc(int client_id,CLIENT *cl)
    {
       dcl_link    *nl;
       static struct sub_id_struct sub_rec;
       cmd_output_rec *ret_struct;

       sub_rec.client_id = client_id;

       ret_struct = acmsmgmt_stop_tsc_1(&sub_rec,cl);

       if (!ret_struct) {
          printf("\n Call to stop TSC failed");
          return(MGMT_FAIL);
       }

       if (ret_struct->status != MGMT_SUCCESS) {

           if (ret_struct->status != MGMT_WARN) {
              printf("\nCall to stop ACMS TSC failed with status %d",
                      ret_struct->status);
                 xdr_free(xdr_cmd_output_rec, ret_struct);
                 free(ret_struct);
              return(MGMT_FAIL);
       }

            printf("\n Call to stop ACMS TSC completed with warnings or errors");

            for (nl = ret_struct->cmd_output_rec_u.data.cmd_output; nl != NULL;
                 nl = nl->pNext)
                printf("\n %s",nl->dcl_msg);
                  xdr_free(xdr_cmd_output_rec, ret_struct);
                  free(ret_struct);
                return(MGMT_FAIL);
       }

       else {
            printf("\nCall to stop ACMS TSC was executed");
            for (nl = ret_struct->cmd_output_rec_u.data.cmd_output; nl != NULL;
                 nl = nl->pNext)
         printf("\n %s",nl->dcl_msg);
       }
            xdr_free(xdr_cmd_output_rec, ret_struct);
            free(ret_struct);
     return(0);
    }

> In the preceding example, the ACMSMGMT_STOP_TSC_1 procedure is called to stop the terminal subsystem on the target node. If the call succeeds, the terminal subsystem is stopped on the target node. Otherwise, any error messages associated with the failure are displayed. The example in Section 6.4.1 shows how to declare and initialize the input arguments to this procedure.

# Chapter 9
Remote Manager Reference Tables

This chapter contains information about data types that the Remote Manager implements and the reference tables for the Remote Manager. The Remote Manager reference tables include the following:

- ACC table
- Collection table
- CP table
- Error Filter table
- EXC table
- Interfaces table
- Manager status table
- Parameter table
- QTI table
- Server table
- Task Group table
- Trap table
- TSC table
- Users table

Note The following sections describe the records and fields in each Remote Manager reference table. Many of these tables now contain a subset of fields intended solely for use on or by systems running ACMS Version 4.4 or higher. These fields are denoted with the double dagger (++) symbol within each table listing.

# 9.1 Data Types

The ACMS Remote Manager implements the following data types:

- Gauge and Min Gauge
  Gauge fields are structures containing the following fields:
  - current_value
    The value of the object when last observed. Represents the most current known value.
  - max_value or min_value
    The largest or smallest observed value for the object.
  - time_max_seen or time_min_seen
    The date and time the max_value or min_value was set.
- Integer
  Integer fields are 32-bit signed integers.
- State 1
  State 1 fields are integers with two possible values:
  - MGMT$K_STATE_DISABLED
  - MGMT$K_STATE_ENABLED
- State 2
  State 2 fields are integers with the following possible values:
  - MGMT$K_STATE_INITED
  - MGMT$K_STATE_INITING
  - MGMT$K_STATE_LOAD_DONE
  - MGMT$K_STATE_LOADING
  - MGMT$K_STATE_STARTED
  - MGMT$K_STATE_STARTING
  - MGMT$K_STATE_STOPPED
  - MGMT$K_STATE_STOPPING
- String
  String fields are null-terminated ASCII strings.
- Time
  Time fields are stored internally in OpenVMS internal time format and are generally displayed as DD-MMM-YYY HH:MM:SS.hh. When present in a record supplied by the Remote Manager (that is, from either an RPC or SNMP call, or in a file), time is always an ASCII value in the default OpenVMS format (DD-MMM-YYYY HH:MM:SS.hh) and is stored as a null-terminated string.

# 9.2 ACC Table

The ACC table contains a single entry for ACC management information.

Table 9-1 ACC Table
Class | Field | Data Type | SNMP Access | RPC Access | Dynamic
--- | --- | --- | --- | --- | ---
ID | record_state | integer | R | R |
ID | id_coll_state | integer | R | R |
ID | process_name | string | R | R |
ID | pid | integer | R | R |
ID | username_active | string | R | R |
ID | username_stored | string | R | R |
ID | start_time | time | R | R |
ID | end_time | time | R | R |
ID | acms_version | string | R | R |
CONFIG | config_coll_state | integer | R | R |
CONFIG | acms_state | integer | RW | R | D
CONFIG | acc_priority_active | integer | R | R |
CONFIG | acc_priority_stored | integer | RW | RW |
CONFIG | max_appl_active | integer | R | R |
CONFIG | max_appl_stored | integer | RW | RW |
CONFIG | mss_maxobj_active | integer | R | R |
CONFIG | mss_maxobj_stored | integer | RW | RW |
CONFIG | mss_maxbuf_active | integer | R | R |
CONFIG | mss_maxbuf_stored | integer | RW | RW |
CONFIG | mss_poolsize_active | integer | R | R |
CONFIG | mss_poolsize_stored | integer | RW | RW |
CONFIG | mss_process_pool_active | integer | R | R |
CONFIG | mss_process_pool_stored | integer | RW | RW |
CONFIG | mss_net_retry_timer_active | integer | RW | RW | D
CONFIG | mss_net_retry_timer_stored | integer | RW | RW |
CONFIG | audit_state | integer | RW | RW | D
CONFIG | username_default_active | integer | RW | RW | D
CONFIG | username_default_stored | integer | RW | RW |
CONFIG | node_name_active | integer | R | R |
CONFIG | node_name_stored | integer | RW | RW |
CONFIG | ws_poolsize_active | integer | R | R |
CONFIG | ws_poolsize_stored | integer | RW | RW |
CONFIG | wsc_poolsize_active | integer | R | R |
CONFIG | wsc_poolsize_stored | integer | RW | RW |
CONFIG | tws_poolsize_active | integer | R | R |
CONFIG | tws_poolsize_stored | integer | RW | RW |
CONFIG | twsc_poolsize_active | integer | R | R |
CONFIG | twsc_poolsize_stored | integer | RW | RW |
CONFIG | astlm_active++ | integer | R | R |
CONFIG | astlm_stored++ | integer | RW | RW |
CONFIG | biolm_active++ | integer | R | R |
CONFIG | biolm_stored++ | integer | RW | RW |
CONFIG | bytlm_active++ | integer | R | R |
CONFIG | bytlm_stored++ | integer | RW | RW |
CONFIG | diolm_active++ | integer | R | R |
CONFIG | diolm_stored++ | integer | RW | RW |
CONFIG | enqlm_active++ | integer | R | R |
CONFIG | enqlm_stored++ | integer | RW | RW |
CONFIG | fillm_active++ | integer | R | R |
CONFIG | fillm_stored++ | integer | RW | RW |
CONFIG | pgflquota_active++ | integer | R | R |
CONFIG | pgflquota_stored++ | integer | RW | RW |
CONFIG | tqelm_active++ | integer | R | R |
CONFIG | tqelm_stored++ | integer | RW | RW |
CONFIG | wsdefault_active++ | integer | R | R |
CONFIG | wsdefault_stored++ | integer | RW | RW |
CONFIG | wsextent_active++ | integer | R | R |
CONFIG | wsextent_stored++ | integer | RW | RW |
CONFIG | wsquota_active++ | integer | R | R |
CONFIG | wsquota_stored++ | integer | RW | RW |
CONFIG | channelcnt_active++ | integer | R | R |
CONFIG | channelcnt_stored++ | integer | RW | RW |
CONFIG | gblsections_active++ | integer | R | R |
CONFIG | gblsections_stored++ | integer | RW | RW |
CONFIG | gblpages_active++ | integer | R | R |
CONFIG | gblpages_stored++ | integer | RW | RW |
CONFIG | gblpagfil_active++ | integer | R | R |
CONFIG | gblpagfil_stored++ | integer | RW | RW |
RUNTIME | runtime_coll_state | integer | R | R |
RUNTIME | current_appls | gauge | R | R |
RUNTIME | current_users | gauge | R | R |
RUNTIME | current_local_users | gauge | R | R |
RUNTIME | current_remote_users | gauge | R | R |
RUNTIME | appl_starts | integer | R | R |
RUNTIME | decnet_object | integer | R | R |
RUNTIME | astlm_current++ | gauge | R | R |
RUNTIME | biolm_current++ | gauge | R | R |
RUNTIME | bytlm_current++ | gauge | R | R |
RUNTIME | diolm_current++ | gauge | R | R |
RUNTIME | enqlm_current++ | gauge | R | R |
RUNTIME | fillm_current++ | gauge | R | R |
RUNTIME | pgflquota_current++ | gauge | R | R |
RUNTIME | tqelm_current++ | gauge | R | R |
RUNTIME | wssize_current++ | gauge | R | R |
RUNTIME | channelcnt_current++ | gauge | R | R |
POOL | pool_coll_state | integer | R | R |
POOL | mss_shared_total | integer | R | R |
POOL | mss_shared_free | min gauge | R | R |
POOL | mss_shared_largest | min gauge | R | R |
POOL | mss_shared_failures | integer | R | R |
POOL | mss_shared_garbage | integer | R | R |
POOL | mss_process_total | integer | R | R |
POOL | mss_process_free | min gauge | R | R |
POOL | mss_process_largest | min gauge | R | R |
POOL | mss_process_failures | integer | R | R |
POOL | mss_process_garbage | integer | R | R |
POOL | mss_objects | gauge | R | R |
POOL | mss_msgs_1-1024++ | integer | R | R |
POOL | mss_msgs_1025-2048++ | integer | R | R |
POOL | mss_msgs_2049-4096++ | integer | R | R |
POOL | mss_msgs_4097-8192++ | integer | R | R |
POOL | mss_msgs_8193-16384++ | integer | R | R |
POOL | mss_msgs_16385-32768++ | integer | R | R |
POOL | mss_msgs_32769-65636++ | integer | R | R |
POOL | mss_msg_count_resets++ | gauge | R | R |
POOL | tws_poolsize_total++ | gauge | R | R |
POOL | tws_pool_large_used++ | gauge | R | R |
POOL | tws_pool_min_free++ | gauge | R | R |
POOL | twsc_poolsize_total++ | gauge | R | R |
POOL | twsc_pool_large_used++ | gauge | R | R |
POOL | twsc_pool_min_free++ | gauge | R | R |
POOL | ws_pool_large_used++ | gauge | R | R |
POOL | ws_pool_min_free++ | gauge | R | R |
POOL | wsc_pool_large_used++ | gauge | R | R |
POOL | wsc_pool_min_free++ | gauge | R | R |
ERROR | err_coll_state++ | integer | R | R |
ERROR | err_count++ | integer | R | R |
ERROR | last_err_msg++ | string | R | R |
ERROR | time_of_last_error++ | time | R | R |

++Only valid for use with systems running ACMS Version 4.4 or higher.

Key to Access Modes

- R---Read Access
- RW---Read/Write Access
- Blank---Not available to the interface
- D---Field is dynamic.

Previous | Next | Contents | Index