ql_apps.h revision fcf3ce441efd61da9bb2884968af01cb7c1452cc
/*
* 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 QLogic Corporation */
/*
* Copyright 2008 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _QL_APPS_H
#define _QL_APPS_H
/*
* ISP2xxx Solaris Fibre Channel Adapter (FCA) driver header file.
*
* ***********************************************************************
* * **
* * NOTICE **
* * COPYRIGHT (C) 1996-2008 QLOGIC CORPORATION **
* * ALL RIGHTS RESERVED **
* * **
* ***********************************************************************
*
*/
#ifdef __cplusplus
extern "C" {
#endif
/*
* Name: Adapter Revsion Level Structure
*
* Purpose: Supply various revision levels of h/w and driver
*
* Used by:
* qlctest utility
*
*/
typedef struct ql_adapter_revlvl {
/*
* Name: Application Mailbox Interface Structure
*
* Purpose: Used to pass mailbox data between app and driver.
*
* Used by:
* qlctest utility
*
*/
typedef struct app_mbx_cmd {
/*
* Name: Diagnostic Loopback Parameter Structure
*
* Purpose: Used for loopback parameter data
*
* Used by:
* qlctest utility
*
*/
#ifndef apps_64bit
typedef struct lbp {
} lbp_t;
#else
typedef struct lbp {
} lbp_t;
#endif
/*
* Defines used by:
* qlctest utility
*
* Prupose:
* diag switch clause hooks provided for requested diagnostic
* functionality (Check command Queue, Revision Level, Firmwware
* Checksum, Self Test, Loopback Mailbox, Loopback Data, Execute
* Firmware and send ECHO.
*/
#define QL_DIAG_CHKCMDQUE 0
#define QL_DIAG_FMWCHKSUM 1
#define QL_DIAG_SLFTST 2
#define QL_DIAG_REVLVL 3
#define QL_DIAG_LPBMBX 4
#define QL_DIAG_LPBDTA 5
#define QL_DIAG_EXEFMW 6
#define QL_GET_ADAPTER_FEATURE_BITS 7
#define QL_SET_ADAPTER_FEATURE_BITS 8
#define QL_SET_ADAPTER_NVRAM_DEFAULTS 9
#define QL_DIAG_ECHO 10
/*
* Defines used for:
* qladm utility
* qlctest utility
*
* Purpose:
* functions. NB: 300 --> 399 are reserved for qla2x00 foapi's
*/
#define QL_UTIL_LOAD 100
#define QL_UTIL_DUMP 101
#define QL_FOAPI_START 300
#define QL_FOAPI_END 399
#define QL_ADM_OP 402
/*
* Purpose:
* QLA_ADM_OP command definitions
*
* Used by:
* qladm utility
* qlctest utility
*/
typedef enum ql_adm_cmd {
} ql_adm_cmd_t;
/*
* Purpose:
* QLA_ADM_OP Parameter Interface Structure
*
* Used by:
* qladm utility
* qlctest utility
*/
typedef struct ql_adm_op {
} ql_adm_op_t;
/*
* Purpose:
* QLA_ADM_OP parameter data structure
*
* Used by:
* qladm utility
* qlctest utility
*/
#define MAX_PROP_LENGTH 256
typedef struct ql_adapter_info {
char fw_ver[MAX_PROP_LENGTH];
char fcode_ver[MAX_PROP_LENGTH];
char driver_ver[MAX_PROP_LENGTH];
/*
* Purpose:
* QLA_ADM_OP data types (Fibre channel port types)
*
* Used by:
* qladm utility
* qlctest utility
*/
typedef enum ql_port_type {
/*
* Purpose:
* QLA_ADM_OP Device Information Structure
*
* Used by:
* qladm utility
* qlctest utility
*/
typedef struct ql_device_info {
#ifdef __cplusplus
}
#endif
#endif /* _QL_APPS_H */