tsalarm_set man page on SmartOS

Man page or keyword search:  
man Server   16655 pages
apropos Keyword Search (all sections)
Output format
SmartOS logo
[printable version]

TSALARM_GET(3EXT)					     TSALARM_GET(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	inter‐
       face 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	condi‐
       tion.  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 val‐
       ues:

       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)

				  Sep 4, 2007		     TSALARM_GET(3EXT)
[top]

List of man pages available for SmartOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net