#ifndef _PICLENVMON_H
#define _PICLENVMON_H
#ifdef __cplusplus
extern "C" {
#endif
#define EM_INIT_FAILED gettext("SUNW_piclenvmon: init failed!")
#define EM_MISSING_NODE gettext("SUNW_piclenvmon: no %s node!")
#define EM_SC_NODE_INCOMPLETE \
gettext("SUNW_piclenvmon: SC node devfs-path property missing")
#define EM_SC_NODE_MISSING \
gettext("SUNW_piclenvmon: failed to locate SC device node")
#define EM_EVREG_FAILED \
gettext("SUNW_piclenvmon: failed to register for events %x")
#define EM_NODE_ACCESS \
gettext("SUNW_piclenvmon: couldn't access \"%s\", " \
"type %d, PICL err %d")
#define EM_SYS_ERR gettext("SUNW_piclenvmon: %s: %s")
#define EM_EV_MISSING_ARG \
gettext("SUNW_piclenvmon: missing %s in ADD_FRU/REMOVE_FRU event")
#define EM_INVALID_COLOR \
gettext("SUNW_piclenvmon: invalid LED color 0x%x returned for %s")
#define SUPER_USER ((uid_t)0)
#define ENVMON_VOLT_SENS 0
#define ENVMON_VOLT_IND 1
#define ENVMON_AMP_SENS 2
#define ENVMON_AMP_IND 3
#define ENVMON_TEMP_SENS 4
#define ENVMON_TEMP_IND 5
#define ENVMON_FAN_SENS 6
#define ENVMON_FAN_IND 7
#define ENVMON_LED_IND 8
#define ENVMON_KEY_SWITCH 9
#define ENVMON_CHASSIS 10
#define ENVMONTYPES 11
#define N_KEY_SWITCHES 1
#define LED_ACT "ACT"
#define LED_SERVICE "SERVICE"
#define LED_OK2RM "OK2RM"
#define LED_LOCATE "LOCATE"
#define KEYSWITCH_NAME "keyswitch"
#define CHASSIS_SERIAL_NUMBER "chassis_serial_number"
#define ENVMON_CONFFILE_NAME "piclenvmon.conf"
typedef int (*ptree_vol_rdfunc_t)(ptree_rarg_t *arg, void *buf);
typedef int (*ptree_vol_wrfunc_t)(ptree_warg_t *arg, const void *buf);
typedef struct node_el {
picl_nodehdl_t nodeh;
struct node_el *next;
} node_el_t;
typedef struct node_list {
node_el_t *head;
node_el_t *tail;
} node_list_t;
typedef struct {
int maxnum;
int num;
uchar_t *fru_types;
envmon_handle_t *envhandles;
picl_prophdl_t *piclprhdls;
} handle_array_t;
#ifdef __cplusplus
}
#endif
#endif