/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2008 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
/*
* Common definitions for Storage Utilities libraries
*/
#ifndef _STGCOM_H
#define _STGCOM_H
#ifdef __cplusplus
extern "C" {
#endif
/*
* This header file contains the error definitions
* to handle the SCSI, path format, Device, Fibre Channel
* ioctl, Enclosure, and IB specific Errors. It also
* contains physical names for device paths.
*/
/*
* Define for physical name of children of fcp
*/
/*
* controller/nexus node postfix strings
*/
/*
* I18N message number ranges
* This file: 15500 - 15999
* Shared common messages: 1 - 1999
*/
/*
* All error numbers below this base value
* are assumed to be UNIX error codes.
*/
/*
* SCSI Errors
*
*/
/* SCSI error */
/* Receive Diagnostics: Transfer length is not word aligned */
/* No disk element found in Receive diag. page */
/* Illegal mode sense page length */
/* Invalid number of ENV. SENSE pages */
/* Buffer is *too* small to hold more than 8 pages */
/* Scsi_vhci errors */
/*
* Error definitions
* for Format Errors.
*/
/* Failed to open a given path */
/* Invalid password length. */
/* Given disk physical path is not valid. */
/* Invalid name id found in the physical path */
/* Invalid WWN format found */
/* No WWN found in the disk's physical path */
/* No Loop address found in the phys path */
/* Invalid port number found in the phys path */
/* Invalid LED request */
/* Invalid path format */
/* failed to get the physical path */
/* failed to get the ses path */
/* No "/" found in the physical path */
/* No "@" found in the physical path */
/* Invalid slot (slot < 0 or slot > 10). */
/* No valid path to a device */
/* Device's Node WWN not found in the WWN list. */
/* Device's Node WWN not found in the Box list. */
/* Null WWN list found. */
/* No devices found. */
/* function arg error in wwn_list process */
/* WWN property not found */
/* No driver nodes found for requested driver */
/* ULP error on device(s) */
/*
* Error definitions
* for FC Loop (FC4 devices).
*/
/* Invalid loop map found */
/* SFIOCGMAP ioctl failed */
/* FCIO_GETMAP ioctl failed */
/* FCIO_LINKSTATUS ioctl failed */
/* FCIO_GETMAP: Invalid # of entries */
/* FCIO_FORCE_LIP ioctl failed. */
/* Error definitions for FC devices */
/* FCIO_RESET_LINK ioctl failed */
/* FCIO_GET_FCODE_REV_FAIL ioctl failed */
/* FCIO_GET_FW_REV_FAIL ioctl failed */
/* FCIO_GET_DEV_LIST returns invalid dev. counts */
/* L_FCIO_GET_NUM_DEVS_FAIL ioctl failed */
/* L_FCIO_GET_DEV_LIST_FAIL ioctl failed */
/* L_FCIO_GET_LINK_STATUS ioctl failed */
/* L_FCIO_LOOPBACK_INTERNAL or FCIO_CMD/FCIO_LASER_OFF ioctl failed */
/* Internal Loopback or laser off ioctls not supported */
/* L_FCIO_NO_LOOPBACK or FCIO_CMD/FCIO_LASER_ON ioctl failed */
/* No-Loopback or laser on ioctls not supported */
/* L_FCIO_GET_HOST_PARAMS ioctl failed */
/* Loopback mode failure */
/* Loopback unsupported */
/* FCIO_FORCE_LIP ioctl failed on one of the paths, say, of an MPXIO device */
/*
* Error definitions
* for Fabric FC driver ioctls
*/
/* FCP_TGT_INQUIRY ioctl failed */
/*
* Error definitions
* for 24-bit address handling
*/
/* Private loop address > 0xFF found */
/* Encountered an unexpected fibre channel topology value */
/* Fabric address was not found */
/* The FCIO_GET_TOPOLOGY ioctl failed */
/* Invalid fabric or public loop address */
/* Point to Point fibre channel topology not supported */
/*
* Error definitions for Tapestry SAN support.
*/
/* The FCIO_DEV_LOGIN ioctl failed */
/* The FCIO_DEV_LOGOUT ioctl failed */
/* Operation not supported on connected topology */
/* Operation not supported on the path */
/* FCIO_GET_STATE ioctl failed */
/* input WWN not found in dev list */
/*
* Error definitions for
* g_dev_map_init related routines.
*/
/* input addr invalid */
/* input property invalid */
/* input property invalid */
/* input property name invalid */
/* device not found */
/* prop not found */
/* invalid arg found */
/*
* Error definitions
* for Downloading IB FW.
*/
/* Invalid download file checksum */
/* Unable to read download exec header */
/* Number of bytes read from download file is not correct */
/* Wrong text segment size */
/* Error reading the download file */
/* Bad firmware magic found in the download file */
/* Timeout message for the IB to be available */
/* Error with Rec Diag page 1 */
/* Invalid transfer Length */
/* A firmware file must be specified on the command line */
/*
* Error definitions
* for System Errors
*/
/* Cannot get status for the given path */
/* Error reading the symbolic link */
/* select() system call failed to wait for specified time */
/* uname() system call failed to get the system info. */
/* Cannot get status for the given path */
/* Cannot get status for the given path */
/* di_init() failed to return snapshot of device tree */
/* di_drv_first_node() failed to find a valid driver */
/* failed to find any device paths */
/* No device identifier found */
/* Driver not supported */
/* di_prom_init failure */
/*
* Error definitions
* for individual
* devices.
*/
/* Device busy */
/* Disk reserved */
/* One or more disks in enclosure are reserved */
/* Exclusive open to a device failed. May be busy */
/* Empty slot: Device not installed */
/*
* Error definitions
* for Devctl functions.
*/
/* Devctl acquire fails */
/* Power off fails. Device may be busy */
/*
* Error definitions
* specific to Enclosure.
*/
/* Failed to change the enclosure name */
/* Duplicate enclosure names found */
/* Invalid no. of dsks in SENA enclosure */
/* Path is not to a SENA ecnlosure. */
/* Cannot get the box list */
/*
* Error definitions
* specific to IB.
*/
/* No element returned from the enclosure */
/* Invalid page code found in Receive Diag. page. */
/* Reading Receive Diag. page failed: small buffer. */
/* Get status failed */
/* Warning define. */
/*
* For i18n
*/
#include <nl_types.h>
#ifdef __cplusplus
}
#endif
#endif /* _STGCOM_H */