tsalarm_get, tsalarm_set - get or set alarm relays
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);
alarm_type
TSALARM_CRITICAL
TSALARM_MAJOR
TSALARM_MINOR
TSALARM_USER
alarm_state
TSALARM_STATE_ON
TSALARM_STATE_OFF
TSALARM_STATE_UNKNOWN
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;
The tsalarm_get() and tsalarm_set() functions return the following values:
TSALARM_CHANNEL_INIT_FAILURE
TSALARM_COMM_FAILURE
TSALARM_NULL_REQ_DATA
TSALARM_SUCCESS
TSALARM_UNBOUND_PACKET_RECVD
The tsalarm_get() function returns the following value:
TSALARM_GET_ERROR
The tsalarm_set() function returns the following value:
TSALARM_SET_ERROR
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; }
See attributes(5) for descriptions of the following attributes:
|
libtsalarm(3LIB), attributes(5)
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |