xref: /illumos-gate/usr/src/lib/storage/common/stgcom.h (revision fcf3ce44)
1*fcf3ce44SJohn Forte /*
2*fcf3ce44SJohn Forte  * CDDL HEADER START
3*fcf3ce44SJohn Forte  *
4*fcf3ce44SJohn Forte  * The contents of this file are subject to the terms of the
5*fcf3ce44SJohn Forte  * Common Development and Distribution License (the "License").
6*fcf3ce44SJohn Forte  * You may not use this file except in compliance with the License.
7*fcf3ce44SJohn Forte  *
8*fcf3ce44SJohn Forte  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9*fcf3ce44SJohn Forte  * or http://www.opensolaris.org/os/licensing.
10*fcf3ce44SJohn Forte  * See the License for the specific language governing permissions
11*fcf3ce44SJohn Forte  * and limitations under the License.
12*fcf3ce44SJohn Forte  *
13*fcf3ce44SJohn Forte  * When distributing Covered Code, include this CDDL HEADER in each
14*fcf3ce44SJohn Forte  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15*fcf3ce44SJohn Forte  * If applicable, add the following below this CDDL HEADER, with the
16*fcf3ce44SJohn Forte  * fields enclosed by brackets "[]" replaced with your own identifying
17*fcf3ce44SJohn Forte  * information: Portions Copyright [yyyy] [name of copyright owner]
18*fcf3ce44SJohn Forte  *
19*fcf3ce44SJohn Forte  * CDDL HEADER END
20*fcf3ce44SJohn Forte  */
21*fcf3ce44SJohn Forte /*
22*fcf3ce44SJohn Forte  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
23*fcf3ce44SJohn Forte  * Use is subject to license terms.
24*fcf3ce44SJohn Forte  */
25*fcf3ce44SJohn Forte 
26*fcf3ce44SJohn Forte /*
27*fcf3ce44SJohn Forte  * Common definitions for Storage Utilities libraries
28*fcf3ce44SJohn Forte  */
29*fcf3ce44SJohn Forte 
30*fcf3ce44SJohn Forte #ifndef	_STGCOM_H
31*fcf3ce44SJohn Forte #define	_STGCOM_H
32*fcf3ce44SJohn Forte 
33*fcf3ce44SJohn Forte 
34*fcf3ce44SJohn Forte 
35*fcf3ce44SJohn Forte #ifdef	__cplusplus
36*fcf3ce44SJohn Forte extern "C" {
37*fcf3ce44SJohn Forte #endif
38*fcf3ce44SJohn Forte 
39*fcf3ce44SJohn Forte /*
40*fcf3ce44SJohn Forte  * This header file contains the error definitions
41*fcf3ce44SJohn Forte  * to handle the SCSI, path format, Device, Fibre Channel
42*fcf3ce44SJohn Forte  * ioctl, Enclosure, and IB specific Errors.  It also
43*fcf3ce44SJohn Forte  * contains physical names for device paths.
44*fcf3ce44SJohn Forte  */
45*fcf3ce44SJohn Forte 
46*fcf3ce44SJohn Forte /*
47*fcf3ce44SJohn Forte  * Define for physical name of children of fcp
48*fcf3ce44SJohn Forte  */
49*fcf3ce44SJohn Forte #define	FC_CTLR			":devctl"
50*fcf3ce44SJohn Forte #define	DRV_NAME_SD		"sd@"
51*fcf3ce44SJohn Forte #define	DRV_NAME_SSD		"ssd@"
52*fcf3ce44SJohn Forte #define	DRV_NAME_ST		"st@"
53*fcf3ce44SJohn Forte #define	SLSH_DRV_NAME_SD	"/sd@"
54*fcf3ce44SJohn Forte #define	SLSH_DRV_NAME_SSD	"/ssd@"
55*fcf3ce44SJohn Forte #define	SLSH_DRV_NAME_ST	"/st@"
56*fcf3ce44SJohn Forte #define	DRV_PART_NAME		",0:c,raw"
57*fcf3ce44SJohn Forte #define	SES_NAME		"ses@"
58*fcf3ce44SJohn Forte #define	SLSH_SES_NAME		"/ses@"
59*fcf3ce44SJohn Forte #define	SLASH_SES		"/ses"
60*fcf3ce44SJohn Forte #define	SES_DIR			"/dev/es"
61*fcf3ce44SJohn Forte #define	DEV_DSK_DIR		"/dev/dsk"
62*fcf3ce44SJohn Forte #define	DEV_RDIR		"/dev/rdsk"
63*fcf3ce44SJohn Forte #define	DEV_TAPE_DIR		"/dev/rmt"
64*fcf3ce44SJohn Forte #define	L_ARCH_4M		"sun4m"
65*fcf3ce44SJohn Forte #define	VHCI_NODE		"/devices/scsi_vhci:devctl"
66*fcf3ce44SJohn Forte #define	SCSI_VHCI		"/devices/scsi_vhci/"
67*fcf3ce44SJohn Forte #define	SLSH_VHCI_DISK		"/ssd@g"
68*fcf3ce44SJohn Forte 
69*fcf3ce44SJohn Forte /*
70*fcf3ce44SJohn Forte  * controller/nexus node postfix strings
71*fcf3ce44SJohn Forte  */
72*fcf3ce44SJohn Forte #define	CTLR_POSTFIX	":ctlr"
73*fcf3ce44SJohn Forte #define	DEVCTL_POSTFIX	":devctl"
74*fcf3ce44SJohn Forte 
75*fcf3ce44SJohn Forte /*
76*fcf3ce44SJohn Forte  * I18N message number ranges
77*fcf3ce44SJohn Forte  *  This file: 15500 - 15999
78*fcf3ce44SJohn Forte  *  Shared common messages: 1 - 1999
79*fcf3ce44SJohn Forte  */
80*fcf3ce44SJohn Forte 
81*fcf3ce44SJohn Forte /*
82*fcf3ce44SJohn Forte  * All error numbers below this base value
83*fcf3ce44SJohn Forte  * are assumed to be UNIX error codes.
84*fcf3ce44SJohn Forte  */
85*fcf3ce44SJohn Forte 
86*fcf3ce44SJohn Forte #define	L_BASE				L_SCSI_ERROR
87*fcf3ce44SJohn Forte 
88*fcf3ce44SJohn Forte /*
89*fcf3ce44SJohn Forte  * SCSI Errors
90*fcf3ce44SJohn Forte  *
91*fcf3ce44SJohn Forte  */
92*fcf3ce44SJohn Forte /* SCSI error */
93*fcf3ce44SJohn Forte #define	L_SCSI_ERROR			0x10000
94*fcf3ce44SJohn Forte 
95*fcf3ce44SJohn Forte /* Receive Diagnostics: Transfer length is not word aligned */
96*fcf3ce44SJohn Forte #define	L_RD_INVLD_TRNSFR_LEN		0x11002
97*fcf3ce44SJohn Forte 
98*fcf3ce44SJohn Forte /* No disk element found in Receive diag. page */
99*fcf3ce44SJohn Forte #define	L_RD_NO_DISK_ELEM		0x11003
100*fcf3ce44SJohn Forte 
101*fcf3ce44SJohn Forte /* Illegal mode sense page length */
102*fcf3ce44SJohn Forte #define	L_ILLEGAL_MODE_SENSE_PAGE	0x11004
103*fcf3ce44SJohn Forte 
104*fcf3ce44SJohn Forte /* Invalid number of ENV. SENSE pages */
105*fcf3ce44SJohn Forte #define	L_INVALID_NO_OF_ENVSEN_PAGES	0x11005
106*fcf3ce44SJohn Forte 
107*fcf3ce44SJohn Forte /* Buffer is *too* small to hold more than 8 pages */
108*fcf3ce44SJohn Forte #define	L_INVALID_BUF_LEN		0x11006
109*fcf3ce44SJohn Forte 
110*fcf3ce44SJohn Forte /* Scsi_vhci errors */
111*fcf3ce44SJohn Forte #define	L_SCSI_VHCI_ERROR		0x11007
112*fcf3ce44SJohn Forte #define	L_SCSI_VHCI_ALREADY_ACTIVE	0x11008
113*fcf3ce44SJohn Forte #define	L_SCSI_VHCI_NO_STANDBY		0x11009
114*fcf3ce44SJohn Forte #define	L_SCSI_VHCI_FAILOVER_NOTSUP	0x1100a
115*fcf3ce44SJohn Forte #define	L_SCSI_VHCI_FAILOVER_BUSY	0x1100b
116*fcf3ce44SJohn Forte 
117*fcf3ce44SJohn Forte 
118*fcf3ce44SJohn Forte /*
119*fcf3ce44SJohn Forte  * Error definitions
120*fcf3ce44SJohn Forte  * for Format Errors.
121*fcf3ce44SJohn Forte  */
122*fcf3ce44SJohn Forte #define	L_INVALID_PATH			0x20200
123*fcf3ce44SJohn Forte 
124*fcf3ce44SJohn Forte /* Failed to open a given path */
125*fcf3ce44SJohn Forte #define	L_OPEN_PATH_FAIL		0x20001
126*fcf3ce44SJohn Forte 
127*fcf3ce44SJohn Forte /* Invalid password length. */
128*fcf3ce44SJohn Forte #define	L_INVALID_PASSWORD_LEN		0x20002
129*fcf3ce44SJohn Forte 
130*fcf3ce44SJohn Forte /* Given disk physical path is not valid. */
131*fcf3ce44SJohn Forte #define	L_INVLD_PHYS_PATH_TO_DISK	0x20004
132*fcf3ce44SJohn Forte 
133*fcf3ce44SJohn Forte /* Invalid name id found in the physical path */
134*fcf3ce44SJohn Forte #define	L_INVLD_ID_FOUND		0x20005
135*fcf3ce44SJohn Forte 
136*fcf3ce44SJohn Forte /* Invalid WWN format found */
137*fcf3ce44SJohn Forte #define	L_INVLD_WWN_FORMAT		0x20006
138*fcf3ce44SJohn Forte 
139*fcf3ce44SJohn Forte /* No WWN found in the disk's physical path */
140*fcf3ce44SJohn Forte #define	L_NO_WWN_FOUND_IN_PATH		0x20007
141*fcf3ce44SJohn Forte 
142*fcf3ce44SJohn Forte /* No Loop address found in the phys path */
143*fcf3ce44SJohn Forte #define	L_NO_LOOP_ADDRS_FOUND		0x20008
144*fcf3ce44SJohn Forte 
145*fcf3ce44SJohn Forte /* Invalid port number found in the phys path */
146*fcf3ce44SJohn Forte #define	L_INVLD_PORT_IN_PATH		0x20009
147*fcf3ce44SJohn Forte 
148*fcf3ce44SJohn Forte /* Invalid LED request */
149*fcf3ce44SJohn Forte #define	L_INVALID_LED_RQST		0x20010
150*fcf3ce44SJohn Forte 
151*fcf3ce44SJohn Forte /* Invalid path format */
152*fcf3ce44SJohn Forte #define	L_INVALID_PATH_FORMAT		0x20011
153*fcf3ce44SJohn Forte 
154*fcf3ce44SJohn Forte /* failed to get the physical path */
155*fcf3ce44SJohn Forte #define	L_NO_PHYS_PATH			0x20012
156*fcf3ce44SJohn Forte 
157*fcf3ce44SJohn Forte /* failed to get the ses path */
158*fcf3ce44SJohn Forte #define	L_NO_SES_PATH			0x20015
159*fcf3ce44SJohn Forte 
160*fcf3ce44SJohn Forte /* No "/" found in the physical path */
161*fcf3ce44SJohn Forte #define	L_INVLD_PATH_NO_SLASH_FND	0x20100
162*fcf3ce44SJohn Forte 
163*fcf3ce44SJohn Forte /* No "@" found in the physical path */
164*fcf3ce44SJohn Forte #define	L_INVLD_PATH_NO_ATSIGN_FND	0x20101
165*fcf3ce44SJohn Forte 
166*fcf3ce44SJohn Forte /* Invalid slot (slot < 0 or slot > 10). */
167*fcf3ce44SJohn Forte #define	L_INVALID_SLOT			0x20102
168*fcf3ce44SJohn Forte 
169*fcf3ce44SJohn Forte /* No valid path to a device */
170*fcf3ce44SJohn Forte #define	L_NO_VALID_PATH			0x20103
171*fcf3ce44SJohn Forte 
172*fcf3ce44SJohn Forte /* No disk devices found in /dev/rdsk directory */
173*fcf3ce44SJohn Forte #define	L_NO_DISK_DEV_FOUND		0x20104
174*fcf3ce44SJohn Forte 
175*fcf3ce44SJohn Forte /* No tape devices found in /dev/rmt directory */
176*fcf3ce44SJohn Forte #define	L_NO_TAPE_DEV_FOUND		0x20105
177*fcf3ce44SJohn Forte 
178*fcf3ce44SJohn Forte /* Device's Node WWN not found in the WWN list. */
179*fcf3ce44SJohn Forte #define	L_NO_NODE_WWN_IN_WWNLIST	0x20106
180*fcf3ce44SJohn Forte 
181*fcf3ce44SJohn Forte /* Device's Node WWN not found in the Box list. */
182*fcf3ce44SJohn Forte #define	L_NO_NODE_WWN_IN_BOXLIST	0x20107
183*fcf3ce44SJohn Forte 
184*fcf3ce44SJohn Forte /* Null WWN list found. */
185*fcf3ce44SJohn Forte #define	L_NULL_WWN_LIST			0x20108
186*fcf3ce44SJohn Forte 
187*fcf3ce44SJohn Forte /* No devices found. */
188*fcf3ce44SJohn Forte #define	L_NO_DEVICES_FOUND		0x20109
189*fcf3ce44SJohn Forte 
190*fcf3ce44SJohn Forte /* function arg error in wwn_list process */
191*fcf3ce44SJohn Forte #define	L_PROC_WWN_ARG_ERROR		0x20110
192*fcf3ce44SJohn Forte 
193*fcf3ce44SJohn Forte /* WWN property not found */
194*fcf3ce44SJohn Forte #define	L_NO_WWN_PROP_FOUND		0x20111
195*fcf3ce44SJohn Forte 
196*fcf3ce44SJohn Forte /* No driver nodes found for requested driver */
197*fcf3ce44SJohn Forte #define	L_NO_DRIVER_NODES_FOUND		0x20112
198*fcf3ce44SJohn Forte 
199*fcf3ce44SJohn Forte /* ULP error on device(s) */
200*fcf3ce44SJohn Forte #define	L_GET_DEV_LIST_ULP_FAILURE	0x20150
201*fcf3ce44SJohn Forte 
202*fcf3ce44SJohn Forte /*
203*fcf3ce44SJohn Forte  * Error definitions
204*fcf3ce44SJohn Forte  * for FC Loop (FC4 devices).
205*fcf3ce44SJohn Forte  */
206*fcf3ce44SJohn Forte /* Invalid loop map found */
207*fcf3ce44SJohn Forte #define	L_INVALID_LOOP_MAP		0x20202
208*fcf3ce44SJohn Forte 
209*fcf3ce44SJohn Forte /* SFIOCGMAP ioctl failed */
210*fcf3ce44SJohn Forte #define	L_SFIOCGMAP_IOCTL_FAIL		0x20203
211*fcf3ce44SJohn Forte 
212*fcf3ce44SJohn Forte /* FCIO_GETMAP ioctl failed */
213*fcf3ce44SJohn Forte #define	L_FCIO_GETMAP_IOCTL_FAIL	0x20204
214*fcf3ce44SJohn Forte 
215*fcf3ce44SJohn Forte /* FCIO_LINKSTATUS ioctl failed */
216*fcf3ce44SJohn Forte #define	L_FCIO_LINKSTATUS_FAILED	0x20205
217*fcf3ce44SJohn Forte 
218*fcf3ce44SJohn Forte /* FCIO_GETMAP: Invalid # of entries */
219*fcf3ce44SJohn Forte #define	L_FCIOGETMAP_INVLD_LEN		0x20206
220*fcf3ce44SJohn Forte 
221*fcf3ce44SJohn Forte /* FCIO_FORCE_LIP ioctl failed. */
222*fcf3ce44SJohn Forte #define	L_FCIO_FORCE_LIP_FAIL		0x20207
223*fcf3ce44SJohn Forte 
224*fcf3ce44SJohn Forte /* Error definitions for FC devices */
225*fcf3ce44SJohn Forte /* FCIO_RESET_LINK ioctl failed */
226*fcf3ce44SJohn Forte #define	L_FCIO_RESET_LINK_FAIL		0x20208
227*fcf3ce44SJohn Forte 
228*fcf3ce44SJohn Forte /* FCIO_GET_FCODE_REV_FAIL ioctl failed */
229*fcf3ce44SJohn Forte #define	L_FCIO_GET_FCODE_REV_FAIL	0x20209
230*fcf3ce44SJohn Forte 
231*fcf3ce44SJohn Forte /* FCIO_GET_FW_REV_FAIL ioctl failed */
232*fcf3ce44SJohn Forte #define	L_FCIO_GET_FW_REV_FAIL		0x20210
233*fcf3ce44SJohn Forte 
234*fcf3ce44SJohn Forte /* FCIO_GET_DEV_LIST returns invalid dev. counts */
235*fcf3ce44SJohn Forte #define	L_INVALID_DEVICE_COUNT		0x20211
236*fcf3ce44SJohn Forte 
237*fcf3ce44SJohn Forte /* L_FCIO_GET_NUM_DEVS_FAIL ioctl failed */
238*fcf3ce44SJohn Forte #define	L_FCIO_GET_NUM_DEVS_FAIL	0x20212
239*fcf3ce44SJohn Forte 
240*fcf3ce44SJohn Forte /* L_FCIO_GET_DEV_LIST_FAIL ioctl failed */
241*fcf3ce44SJohn Forte #define	L_FCIO_GET_DEV_LIST_FAIL	0x20213
242*fcf3ce44SJohn Forte 
243*fcf3ce44SJohn Forte /* L_FCIO_GET_LINK_STATUS ioctl failed */
244*fcf3ce44SJohn Forte #define	L_FCIO_GET_LINK_STATUS_FAIL	0x20214
245*fcf3ce44SJohn Forte 
246*fcf3ce44SJohn Forte /* L_FCIO_LOOPBACK_INTERNAL or FCIO_CMD/FCIO_LASER_OFF ioctl failed */
247*fcf3ce44SJohn Forte #define	L_PORT_OFFLINE_FAIL		0x20215
248*fcf3ce44SJohn Forte 
249*fcf3ce44SJohn Forte /* Internal Loopback or laser off ioctls not supported */
250*fcf3ce44SJohn Forte #define	L_PORT_OFFLINE_UNSUPPORTED	0x20216
251*fcf3ce44SJohn Forte 
252*fcf3ce44SJohn Forte /* L_FCIO_NO_LOOPBACK or FCIO_CMD/FCIO_LASER_ON ioctl failed */
253*fcf3ce44SJohn Forte #define	L_PORT_ONLINE_FAIL		0x20217
254*fcf3ce44SJohn Forte 
255*fcf3ce44SJohn Forte /* No-Loopback or laser on ioctls not supported */
256*fcf3ce44SJohn Forte #define	L_PORT_ONLINE_UNSUPPORTED	0x20218
257*fcf3ce44SJohn Forte 
258*fcf3ce44SJohn Forte /* L_FCIO_GET_HOST_PARAMS ioctl failed */
259*fcf3ce44SJohn Forte #define	L_FCIO_GET_HOST_PARAMS_FAIL	0x20219
260*fcf3ce44SJohn Forte 
261*fcf3ce44SJohn Forte /* Loopback mode failure */
262*fcf3ce44SJohn Forte #define	L_LOOPBACK_FAILED		0x20220
263*fcf3ce44SJohn Forte 
264*fcf3ce44SJohn Forte /* Loopback unsupported */
265*fcf3ce44SJohn Forte #define	L_LOOPBACK_UNSUPPORTED		0x20221
266*fcf3ce44SJohn Forte 
267*fcf3ce44SJohn Forte /* FCIO_FORCE_LIP ioctl failed on one of the paths, say, of an MPXIO device */
268*fcf3ce44SJohn Forte #define	L_FCIO_FORCE_LIP_PARTIAL_FAIL	0x20222
269*fcf3ce44SJohn Forte 
270*fcf3ce44SJohn Forte /*
271*fcf3ce44SJohn Forte  * Error definitions
272*fcf3ce44SJohn Forte  * for Fabric FC driver ioctls
273*fcf3ce44SJohn Forte  */
274*fcf3ce44SJohn Forte /* FCP_TGT_INQUIRY ioctl failed */
275*fcf3ce44SJohn Forte #define	L_FCP_TGT_INQUIRY_FAIL		0x20250
276*fcf3ce44SJohn Forte 
277*fcf3ce44SJohn Forte /*
278*fcf3ce44SJohn Forte  * Error definitions
279*fcf3ce44SJohn Forte  * for 24-bit address handling
280*fcf3ce44SJohn Forte  */
281*fcf3ce44SJohn Forte /* Private loop address > 0xFF found */
282*fcf3ce44SJohn Forte #define	L_INVALID_PRIVATE_LOOP_ADDRESS	0x20401
283*fcf3ce44SJohn Forte 
284*fcf3ce44SJohn Forte /* Encountered an unexpected fibre channel topology value */
285*fcf3ce44SJohn Forte #define	L_UNEXPECTED_FC_TOPOLOGY	0x20402
286*fcf3ce44SJohn Forte 
287*fcf3ce44SJohn Forte /* Fabric address was not found */
288*fcf3ce44SJohn Forte #define	L_NO_FABRIC_ADDR_FOUND		0x20403
289*fcf3ce44SJohn Forte 
290*fcf3ce44SJohn Forte /* The FCIO_GET_TOPOLOGY ioctl failed */
291*fcf3ce44SJohn Forte #define	L_FCIO_GET_TOPOLOGY_FAIL	0x20404
292*fcf3ce44SJohn Forte 
293*fcf3ce44SJohn Forte /* Invalid fabric or public loop address */
294*fcf3ce44SJohn Forte #define	L_INVALID_FABRIC_ADDRESS	0x20405
295*fcf3ce44SJohn Forte 
296*fcf3ce44SJohn Forte /* Point to Point fibre channel topology not supported */
297*fcf3ce44SJohn Forte #define	L_PT_PT_FC_TOP_NOT_SUPPORTED	0x20406
298*fcf3ce44SJohn Forte 
299*fcf3ce44SJohn Forte /*
300*fcf3ce44SJohn Forte  * Error definitions for Tapestry SAN support.
301*fcf3ce44SJohn Forte  */
302*fcf3ce44SJohn Forte /* The FCIO_DEV_LOGIN ioctl failed */
303*fcf3ce44SJohn Forte #define	L_FCIO_DEV_LOGIN_FAIL		0x20407
304*fcf3ce44SJohn Forte 
305*fcf3ce44SJohn Forte /* The FCIO_DEV_LOGOUT ioctl failed */
306*fcf3ce44SJohn Forte #define	L_FCIO_DEV_LOGOUT_FAIL		0x20408
307*fcf3ce44SJohn Forte 
308*fcf3ce44SJohn Forte /* Operation not supported on connected topology */
309*fcf3ce44SJohn Forte #define	L_OPNOSUPP_ON_TOPOLOGY		0x20409
310*fcf3ce44SJohn Forte 
311*fcf3ce44SJohn Forte /* Operation not supported on the path */
312*fcf3ce44SJohn Forte #define	L_INVALID_PATH_TYPE		0x20410
313*fcf3ce44SJohn Forte 
314*fcf3ce44SJohn Forte /* FCIO_GET_STATE ioctl failed */
315*fcf3ce44SJohn Forte #define	L_FCIO_GET_STATE_FAIL		0x20411
316*fcf3ce44SJohn Forte 
317*fcf3ce44SJohn Forte /* input WWN not found in dev list */
318*fcf3ce44SJohn Forte #define	L_WWN_NOT_FOUND_IN_DEV_LIST	0x20412
319*fcf3ce44SJohn Forte 
320*fcf3ce44SJohn Forte /*
321*fcf3ce44SJohn Forte  * Error definitions for
322*fcf3ce44SJohn Forte  * g_dev_map_init related routines.
323*fcf3ce44SJohn Forte  */
324*fcf3ce44SJohn Forte /* input addr invalid */
325*fcf3ce44SJohn Forte #define	L_INVALID_MAP_DEV_ADDR		0x20430
326*fcf3ce44SJohn Forte 
327*fcf3ce44SJohn Forte /* input property invalid */
328*fcf3ce44SJohn Forte #define	L_INVALID_MAP_DEV_PROP_NAME	0x20431
329*fcf3ce44SJohn Forte 
330*fcf3ce44SJohn Forte /* input property invalid */
331*fcf3ce44SJohn Forte #define	L_INVALID_MAP_DEV_PROP_TYPE	0x20432
332*fcf3ce44SJohn Forte 
333*fcf3ce44SJohn Forte /* input property name invalid */
334*fcf3ce44SJohn Forte #define	L_INVALID_MAP_DEV_PROP		0x20433
335*fcf3ce44SJohn Forte 
336*fcf3ce44SJohn Forte /* device not found */
337*fcf3ce44SJohn Forte #define	L_NO_SUCH_DEV_FOUND		0x20434
338*fcf3ce44SJohn Forte 
339*fcf3ce44SJohn Forte /* prop not found */
340*fcf3ce44SJohn Forte #define	L_NO_SUCH_PROP_FOUND		0x20435
341*fcf3ce44SJohn Forte 
342*fcf3ce44SJohn Forte /* invalid arg found */
343*fcf3ce44SJohn Forte #define	L_INVALID_ARG			0x20436
344*fcf3ce44SJohn Forte 
345*fcf3ce44SJohn Forte /*
346*fcf3ce44SJohn Forte  * Error definitions
347*fcf3ce44SJohn Forte  * for Downloading IB FW.
348*fcf3ce44SJohn Forte  */
349*fcf3ce44SJohn Forte /* Invalid download file checksum */
350*fcf3ce44SJohn Forte #define	L_DWNLD_CHKSUM_FAILED		0x20301
351*fcf3ce44SJohn Forte 
352*fcf3ce44SJohn Forte /* Unable to read download exec header */
353*fcf3ce44SJohn Forte #define	L_DWNLD_READ_HEADER_FAIL	0x20302
354*fcf3ce44SJohn Forte 
355*fcf3ce44SJohn Forte /* Number of bytes read from download file is not correct */
356*fcf3ce44SJohn Forte #define	L_DWNLD_READ_INCORRECT_BYTES	0x20303
357*fcf3ce44SJohn Forte 
358*fcf3ce44SJohn Forte /* Wrong text segment size */
359*fcf3ce44SJohn Forte #define	L_DWNLD_INVALID_TEXT_SIZE	0x20304
360*fcf3ce44SJohn Forte 
361*fcf3ce44SJohn Forte /* Error reading the download file */
362*fcf3ce44SJohn Forte #define	L_DWNLD_READ_ERROR		0x20305
363*fcf3ce44SJohn Forte 
364*fcf3ce44SJohn Forte /* Bad firmware magic found in the download file */
365*fcf3ce44SJohn Forte #define	L_DWNLD_BAD_FRMWARE		0x20306
366*fcf3ce44SJohn Forte 
367*fcf3ce44SJohn Forte /* Timeout message for the IB to be available */
368*fcf3ce44SJohn Forte #define	L_DWNLD_TIMED_OUT		0x20307
369*fcf3ce44SJohn Forte 
370*fcf3ce44SJohn Forte /* Error with Rec Diag page 1 */
371*fcf3ce44SJohn Forte #define	L_REC_DIAG_PG1			0x20600
372*fcf3ce44SJohn Forte 
373*fcf3ce44SJohn Forte /* Invalid transfer Length */
374*fcf3ce44SJohn Forte #define	L_TRANSFER_LEN			0x20601
375*fcf3ce44SJohn Forte 
376*fcf3ce44SJohn Forte /* A firmware file must be specified on the command line */
377*fcf3ce44SJohn Forte #define	L_REQUIRE_FILE			0x20602
378*fcf3ce44SJohn Forte 
379*fcf3ce44SJohn Forte 
380*fcf3ce44SJohn Forte /*
381*fcf3ce44SJohn Forte  * Error definitions
382*fcf3ce44SJohn Forte  * for System Errors
383*fcf3ce44SJohn Forte  */
384*fcf3ce44SJohn Forte #define	L_MALLOC_FAILED			0x30000
385*fcf3ce44SJohn Forte 
386*fcf3ce44SJohn Forte #define	L_MEMCPY_FAILED			0x30001
387*fcf3ce44SJohn Forte 
388*fcf3ce44SJohn Forte /* Cannot get status for the given path */
389*fcf3ce44SJohn Forte #define	L_LSTAT_ERROR			0x30020
390*fcf3ce44SJohn Forte 
391*fcf3ce44SJohn Forte /* Error reading the symbolic link */
392*fcf3ce44SJohn Forte #define	L_SYMLINK_ERROR			0x30021
393*fcf3ce44SJohn Forte 
394*fcf3ce44SJohn Forte /* Could not convert std. time to hrs/min/sec */
395*fcf3ce44SJohn Forte #define	L_LOCALTIME_ERROR		0x30022
396*fcf3ce44SJohn Forte 
397*fcf3ce44SJohn Forte /* select() system call failed to wait for specified time */
398*fcf3ce44SJohn Forte #define	L_SELECT_ERROR			0x30023
399*fcf3ce44SJohn Forte 
400*fcf3ce44SJohn Forte /* uname() system call failed to get the system info. */
401*fcf3ce44SJohn Forte #define	L_UNAME_FAILED			0x30024
402*fcf3ce44SJohn Forte 
403*fcf3ce44SJohn Forte /* Cannot get status for the given path */
404*fcf3ce44SJohn Forte #define	L_FSTAT_ERROR			0x30025
405*fcf3ce44SJohn Forte 
406*fcf3ce44SJohn Forte /* Cannot get status for the given path */
407*fcf3ce44SJohn Forte #define	L_STAT_ERROR			0x30026
408*fcf3ce44SJohn Forte 
409*fcf3ce44SJohn Forte /* di_init() failed to return snapshot of device tree */
410*fcf3ce44SJohn Forte #define	L_DEV_SNAPSHOT_FAILED		0x30027
411*fcf3ce44SJohn Forte 
412*fcf3ce44SJohn Forte /* di_drv_first_node() failed to find a valid driver */
413*fcf3ce44SJohn Forte #define	L_PORT_DRIVER_NOT_FOUND		0x30029
414*fcf3ce44SJohn Forte 
415*fcf3ce44SJohn Forte /* failed to find any device paths */
416*fcf3ce44SJohn Forte #define	L_PHYS_PATH_NOT_FOUND		0x30030
417*fcf3ce44SJohn Forte 
418*fcf3ce44SJohn Forte /* No device identifier found  */
419*fcf3ce44SJohn Forte #define	L_NO_DEVID			0x30031
420*fcf3ce44SJohn Forte 
421*fcf3ce44SJohn Forte /* Driver not supported */
422*fcf3ce44SJohn Forte #define	L_DRIVER_NOTSUPP		0x30032
423*fcf3ce44SJohn Forte 
424*fcf3ce44SJohn Forte /* di_prom_init failure */
425*fcf3ce44SJohn Forte #define	L_PROM_INIT_FAILED		0x30033
426*fcf3ce44SJohn Forte 
427*fcf3ce44SJohn Forte /*
428*fcf3ce44SJohn Forte  * Error definitions
429*fcf3ce44SJohn Forte  * for individual
430*fcf3ce44SJohn Forte  * devices.
431*fcf3ce44SJohn Forte  */
432*fcf3ce44SJohn Forte /* Device busy */
433*fcf3ce44SJohn Forte #define	L_DEV_BUSY			0x40000
434*fcf3ce44SJohn Forte 
435*fcf3ce44SJohn Forte /* Disk reserved */
436*fcf3ce44SJohn Forte #define	L_DEVICE_RESERVED		0x40001
437*fcf3ce44SJohn Forte 
438*fcf3ce44SJohn Forte /* One or more disks in enclosure are reserved */
439*fcf3ce44SJohn Forte #define	L_DISKS_RESERVED		0x40002
440*fcf3ce44SJohn Forte 
441*fcf3ce44SJohn Forte /* Exclusive open to a device failed. May be busy */
442*fcf3ce44SJohn Forte #define	L_EXCL_OPEN_FAILED		0x40003
443*fcf3ce44SJohn Forte 
444*fcf3ce44SJohn Forte /* Empty slot: Device not installed */
445*fcf3ce44SJohn Forte #define	L_SLOT_EMPTY			0x40100
446*fcf3ce44SJohn Forte 
447*fcf3ce44SJohn Forte 
448*fcf3ce44SJohn Forte /*
449*fcf3ce44SJohn Forte  * Error definitions
450*fcf3ce44SJohn Forte  * for Devctl functions.
451*fcf3ce44SJohn Forte  */
452*fcf3ce44SJohn Forte /* Devctl acquire fails */
453*fcf3ce44SJohn Forte #define	L_ACQUIRE_FAIL			0x40200
454*fcf3ce44SJohn Forte 
455*fcf3ce44SJohn Forte 
456*fcf3ce44SJohn Forte /* Power off fails. Device may be busy */
457*fcf3ce44SJohn Forte #define	L_POWER_OFF_FAIL_BUSY		0x40300
458*fcf3ce44SJohn Forte 
459*fcf3ce44SJohn Forte 
460*fcf3ce44SJohn Forte /*
461*fcf3ce44SJohn Forte  * Error definitions
462*fcf3ce44SJohn Forte  * specific to Enclosure.
463*fcf3ce44SJohn Forte  */
464*fcf3ce44SJohn Forte /* Failed to change the enclosure name */
465*fcf3ce44SJohn Forte #define	L_ENCL_NAME_CHANGE_FAIL		0x40400
466*fcf3ce44SJohn Forte 
467*fcf3ce44SJohn Forte /* Duplicate enclosure names found */
468*fcf3ce44SJohn Forte #define	L_DUPLICATE_ENCLOSURES		0x40401
469*fcf3ce44SJohn Forte 
470*fcf3ce44SJohn Forte /* Invalid no. of dsks in SENA enclosure */
471*fcf3ce44SJohn Forte #define	L_INVALID_NUM_DISKS_ENCL	0x40402
472*fcf3ce44SJohn Forte 
473*fcf3ce44SJohn Forte /* Path is not to a SENA ecnlosure. */
474*fcf3ce44SJohn Forte #define	L_ENCL_INVALID_PATH		0x40403
475*fcf3ce44SJohn Forte 
476*fcf3ce44SJohn Forte /* Cannot get the box list */
477*fcf3ce44SJohn Forte #define	L_NO_ENCL_LIST_FOUND		0x40404
478*fcf3ce44SJohn Forte 
479*fcf3ce44SJohn Forte 
480*fcf3ce44SJohn Forte /*
481*fcf3ce44SJohn Forte  * Error definitions
482*fcf3ce44SJohn Forte  * specific to IB.
483*fcf3ce44SJohn Forte  */
484*fcf3ce44SJohn Forte /* No element returned from the enclosure */
485*fcf3ce44SJohn Forte #define	L_IB_NO_ELEM_FOUND		0x40500
486*fcf3ce44SJohn Forte 
487*fcf3ce44SJohn Forte /* Invalid page code found in Receive Diag. page.   */
488*fcf3ce44SJohn Forte #define	L_RD_PG_INVLD_CODE		0x40501
489*fcf3ce44SJohn Forte 
490*fcf3ce44SJohn Forte /* Reading Receive Diag. page failed: small buffer. */
491*fcf3ce44SJohn Forte #define	L_RD_PG_MIN_BUFF		0x40502
492*fcf3ce44SJohn Forte 
493*fcf3ce44SJohn Forte /* Get status failed    */
494*fcf3ce44SJohn Forte #define	L_GET_STATUS_FAILED		0x40600
495*fcf3ce44SJohn Forte 
496*fcf3ce44SJohn Forte /* Warning define. */
497*fcf3ce44SJohn Forte #define	L_WARNING			0x90000
498*fcf3ce44SJohn Forte 
499*fcf3ce44SJohn Forte /*
500*fcf3ce44SJohn Forte  * For i18n
501*fcf3ce44SJohn Forte  */
502*fcf3ce44SJohn Forte #include <nl_types.h>
503*fcf3ce44SJohn Forte extern nl_catd l_catd;
504*fcf3ce44SJohn Forte #define	L_SET1				1	/* catalog set number */
505*fcf3ce44SJohn Forte #define	MSGSTR(Num, Str)	catgets(l_catd, L_SET1, Num, Str)
506*fcf3ce44SJohn Forte 
507*fcf3ce44SJohn Forte 
508*fcf3ce44SJohn Forte #ifdef	__cplusplus
509*fcf3ce44SJohn Forte }
510*fcf3ce44SJohn Forte #endif
511*fcf3ce44SJohn Forte 
512*fcf3ce44SJohn Forte #endif	/* _STGCOM_H */
513