1*0Sstevel@tonic-gate /*
2*0Sstevel@tonic-gate  * CDDL HEADER START
3*0Sstevel@tonic-gate  *
4*0Sstevel@tonic-gate  * The contents of this file are subject to the terms of the
5*0Sstevel@tonic-gate  * Common Development and Distribution License, Version 1.0 only
6*0Sstevel@tonic-gate  * (the "License").  You may not use this file except in compliance
7*0Sstevel@tonic-gate  * with the License.
8*0Sstevel@tonic-gate  *
9*0Sstevel@tonic-gate  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10*0Sstevel@tonic-gate  * or http://www.opensolaris.org/os/licensing.
11*0Sstevel@tonic-gate  * See the License for the specific language governing permissions
12*0Sstevel@tonic-gate  * and limitations under the License.
13*0Sstevel@tonic-gate  *
14*0Sstevel@tonic-gate  * When distributing Covered Code, include this CDDL HEADER in each
15*0Sstevel@tonic-gate  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16*0Sstevel@tonic-gate  * If applicable, add the following below this CDDL HEADER, with the
17*0Sstevel@tonic-gate  * fields enclosed by brackets "[]" replaced with your own identifying
18*0Sstevel@tonic-gate  * information: Portions Copyright [yyyy] [name of copyright owner]
19*0Sstevel@tonic-gate  *
20*0Sstevel@tonic-gate  * CDDL HEADER END
21*0Sstevel@tonic-gate  */
22*0Sstevel@tonic-gate /*
23*0Sstevel@tonic-gate  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
24*0Sstevel@tonic-gate  * Use is subject to license terms.
25*0Sstevel@tonic-gate  */
26*0Sstevel@tonic-gate 
27*0Sstevel@tonic-gate #ifndef	_PICLENVMOND_H
28*0Sstevel@tonic-gate #define	_PICLENVMOND_H
29*0Sstevel@tonic-gate 
30*0Sstevel@tonic-gate #pragma ident	"%Z%%M%	%I%	%E% SMI"
31*0Sstevel@tonic-gate 
32*0Sstevel@tonic-gate #ifdef	__cplusplus
33*0Sstevel@tonic-gate extern "C" {
34*0Sstevel@tonic-gate #endif
35*0Sstevel@tonic-gate 
36*0Sstevel@tonic-gate /* debug flags */
37*0Sstevel@tonic-gate #define	DEBUG		0x1	/* generic debug messages */
38*0Sstevel@tonic-gate #define	EVENTS		0x2	/* only events related debug message */
39*0Sstevel@tonic-gate #define	PTREE		0x4	/* messages relating to picltree search */
40*0Sstevel@tonic-gate #define	SP_MONITOR	0x8	/* AC health monitoring messages only */
41*0Sstevel@tonic-gate #define	CHASSIS_INFO	0x10	/* Chassis related debug information */
42*0Sstevel@tonic-gate #define	PICLEVENTS	0x20	/* Display only PICL events received */
43*0Sstevel@tonic-gate 
44*0Sstevel@tonic-gate #define	PICL_NODE_CHASSIS	"chassis"
45*0Sstevel@tonic-gate #define	PICL_NODE_CPU		"CPU"
46*0Sstevel@tonic-gate #define	PICL_NODE_RTM		"RTM"
47*0Sstevel@tonic-gate #define	PICL_PROP_CONF_FILE	"conf_name"
48*0Sstevel@tonic-gate #define	TEMPERATURE_SENSOR_TYPE	(0x1u)
49*0Sstevel@tonic-gate 
50*0Sstevel@tonic-gate typedef enum {
51*0Sstevel@tonic-gate 	LOC_STATE_UNKNOWN = 0,
52*0Sstevel@tonic-gate 	LOC_STATE_EMPTY,
53*0Sstevel@tonic-gate 	LOC_STATE_DISCONNECTING,
54*0Sstevel@tonic-gate 	LOC_STATE_DISCONNECTED,
55*0Sstevel@tonic-gate 	LOC_STATE_CONNECTING,
56*0Sstevel@tonic-gate 	LOC_STATE_CONNECTED,
57*0Sstevel@tonic-gate 	FRU_STATE_UNKNOWN,
58*0Sstevel@tonic-gate 	FRU_STATE_UNCONFIGURING,
59*0Sstevel@tonic-gate 	FRU_STATE_UNCONFIGURED,
60*0Sstevel@tonic-gate 	FRU_STATE_CONFIGURING,
61*0Sstevel@tonic-gate 	FRU_STATE_CONFIGURED,
62*0Sstevel@tonic-gate 	FRU_COND_OK,
63*0Sstevel@tonic-gate 	FRU_COND_FAILING,
64*0Sstevel@tonic-gate 	FRU_COND_FAILED,
65*0Sstevel@tonic-gate 	FRU_COND_DEGRADED,
66*0Sstevel@tonic-gate 	FRU_COND_UNKNOWN,
67*0Sstevel@tonic-gate 	FRU_COND_TESTING
68*0Sstevel@tonic-gate } env_state_event_t;
69*0Sstevel@tonic-gate 
70*0Sstevel@tonic-gate typedef enum {NO_COND_TIMEDWAIT = 0, COND_TIMEDWAIT, NO_WAIT} env_wait_state_t;
71*0Sstevel@tonic-gate 
72*0Sstevel@tonic-gate #define	NULLREAD	(int (*)(ptree_rarg_t *, void *))0
73*0Sstevel@tonic-gate #define	NULLWRITE	(int (*)(ptree_warg_t *, const void *))0
74*0Sstevel@tonic-gate #define	POLL_TIMEOUT	5000
75*0Sstevel@tonic-gate #define	DEFAULT_FD	-1
76*0Sstevel@tonic-gate #define	DEFAULT_SEQN	0xff
77*0Sstevel@tonic-gate 
78*0Sstevel@tonic-gate /* byte of pointer to signed integer */
79*0Sstevel@tonic-gate #define	BYTE_0(_X)			(*((int8_t *)(_X) + 0))
80*0Sstevel@tonic-gate #define	BYTE_1(_X)			(*((int8_t *)(_X) + 1))
81*0Sstevel@tonic-gate #define	BYTE_2(_X)			(*((int8_t *)(_X) + 2))
82*0Sstevel@tonic-gate #define	BYTE_3(_X)			(*((int8_t *)(_X) + 3))
83*0Sstevel@tonic-gate #define	BYTE_4(_X)			(*((int8_t *)(_X) + 4))
84*0Sstevel@tonic-gate #define	BYTE_5(_X)			(*((int8_t *)(_X) + 5))
85*0Sstevel@tonic-gate #define	BYTE_6(_X)			(*((int8_t *)(_X) + 6))
86*0Sstevel@tonic-gate #define	BYTE_7(_X)			(*((int8_t *)(_X) + 7))
87*0Sstevel@tonic-gate #define	BYTE_8(_X)			(*((int8_t *)(_X) + 8))
88*0Sstevel@tonic-gate 
89*0Sstevel@tonic-gate #define	BIT_0(_X)			((_X) & 0x01)
90*0Sstevel@tonic-gate #define	BIT_1(_X)			((_X) & 0x02)
91*0Sstevel@tonic-gate #define	BIT_2(_X)			((_X) & 0x04)
92*0Sstevel@tonic-gate #define	BIT_3(_X)			((_X) & 0x08)
93*0Sstevel@tonic-gate #define	BIT_4(_X)			((_X) & 0x10)
94*0Sstevel@tonic-gate #define	BIT_5(_X)			((_X) & 0x20)
95*0Sstevel@tonic-gate #define	BIT_6(_X)			((_X) & 0x40)
96*0Sstevel@tonic-gate #define	BIT_7(_X)			((_X) & 0x80)
97*0Sstevel@tonic-gate 
98*0Sstevel@tonic-gate #define	PICL_ADMINLOCK_DISABLED	"disabled"
99*0Sstevel@tonic-gate #define	PICL_ADMINLOCK_ENABLED	"enabled"
100*0Sstevel@tonic-gate 
101*0Sstevel@tonic-gate #define	PTREE_INIT_PROPINFO_FAILED_MSG \
102*0Sstevel@tonic-gate 	gettext("SUNW_envmond:ptree_init_propinfo() failed, error = %d")
103*0Sstevel@tonic-gate #define	PTREE_CREATE_AND_ADD_PROP_FAILED_MSG \
104*0Sstevel@tonic-gate 	gettext("SUNW_envmond: ptree_create_and_add_prop() failed error = %d")
105*0Sstevel@tonic-gate 
106*0Sstevel@tonic-gate #ifdef	__cplusplus
107*0Sstevel@tonic-gate }
108*0Sstevel@tonic-gate #endif
109*0Sstevel@tonic-gate 
110*0Sstevel@tonic-gate #endif	/* _PICLENVMOND_H */
111