man pages section 3: Extended Library Functions, Volume 1

Exit Print View

Updated: July 2014
 
 

tsalarm_set(3EXT)

Name

tsalarm_get, tsalarm_set - get or set alarm relays

Synopsis

cc [ flag... ] file... –ltsalarm [ library... ]
#include <tsalarm.h>

int tsalarm_get(uint32_t alarm_type, uint32_t *alarm_state);
int tsalarm_set(uint32_t alarm_type, uint32_t alarm_state);

Parameters

alarm_type

The alarm type whose state is retrieved or set. Valid settings are:

TSALARM_CRITICAL

critical

TSALARM_MAJOR

major

TSALARM_MINOR

minor

TSALARM_USER

user

alarm_state

The state of the alarm. Valid settings are:

TSALARM_STATE_ON

The alarm state needs to be changed to “on”, or is returned as “on”.

TSALARM_STATE_OFF

The alarm state needs to be changed to “off”, or is returned as “off”.

TSALARM_STATE_UNKNOWN

The alarm state is returned as unknown.

Description

The TSALARM interface provides functions through which alarm relays can be controlled. The set of functions and data structures of this interface are defined in the tsalarm.h header.

There are four alarm relays that are controlled by ILOM. Each alarm can be set to “on” or “off” by using tsalarm interfaces provided from the host. The four alarms are labeled as critical, major, minor, and user. The user alarm is set by a user application depending on system condition. LEDs in front of the box provide a visual indication of the four alarms. The number of alarms and their meanings and labels can vary across platforms.

The tsalarm_get() function gets the state of alarm_type and returnsit in alarm_state. If successful, the function returns 0.

The tsalarm_set() function sets the state of alarm_type to the value in alarm_state. If successful, the function returns 0.

The following structures are defined in tsalarm.h:

typedef struct tsalarm_req {
     uint32_t     alarm_id;
     uint32_t     alarm_action;
} tsalarm_req_t;
typedef struct tsalarm_resp {
     uint32_t     status;
     uint32_t     alarm_id;
     uint32_t     alarm_state;
} tsalarm_resp_t;

Return Values

The tsalarm_get() and tsalarm_set() functions return the following values:

TSALARM_CHANNEL_INIT_FAILURE

Channel initialization failed.

TSALARM_COMM_FAILURE

Channel communication failed.

TSALARM_NULL_REQ_DATA

Allocating memory for request data failed.

TSALARM_SUCCESS

Successful completion.

TSALARM_UNBOUND_PACKET_RECVD

An incorrect packet was received.

The tsalarm_get() function returns the following value:

TSALARM_GET_ERROR

An error occurred while getting the alarm state.

The tsalarm_set() function returns the following value:

TSALARM_SET_ERROR

An error occurred while setting the alarm state.

Examples

Example 1 Get and set an alarm state.

The following example demonstrates how to get and set an alarm state.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <tsalarm.h>

void help(char *name) {
   printf("Syntax:  %s [get <type> | set <type> <state>]\n\n", name);
   printf("         type  = { critical, major, minor, user }\n");
   printf("         state = { on, off }\n\n");

   exit(0);
}

int main(int argc, char **argv) {

   uint32_t alarm_type, alarm_state;

   if (argc < 3)
      help(argv[0]);

   if (strncmp(argv[2], "critical", 1) == 0)
      alarm_type = TSALARM_CRITICAL;
   else if (strncmp(argv[2], "major", 2) == 0)
      alarm_type = TSALARM_MAJOR;
   else if (strncmp(argv[2], "minor", 2) == 0)
      alarm_type = TSALARM_MINOR;
   else if (strncmp(argv[2], "user", 1) == 0)
      alarm_type = TSALARM_USER;
   else
      help(argv[0]);

   if (strncmp(argv[1], "get", 1) == 0) {
      tsalarm_get(alarm_type, &alarm_state);
      printf("alarm = %d\tstate = %d\n", alarm_type, alarm_state);
   }
   else if (strncmp(argv[1], "set", 1) == 0) {
      if (strncmp(argv[3], "on", 2) == 0)
         alarm_state = TSALARM_STATE_ON;
      else if (strncmp(argv[3], "off", 2) == 0)
         alarm_state = TSALARM_STATE_OFF;
      else
         help(argv[0]);

      tsalarm_set(alarm_type, alarm_state);
   }
   else {
      help(argv[0]);
   }

   return 0;
}

Attributes

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Uncommitted
MT-Level
Safe

See Also

libtsalarm(3LIB), attributes(5)