/*
* 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
* 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 (c) 2004-2011 Emulex. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _EMLXS_DFC_H
#define _EMLXS_DFC_H
#ifdef __cplusplus
extern "C" {
#endif
#include <emlxs_fcio.h>
#ifdef DHCHAP_SUPPORT
#endif /* DHCHAP_SUPPORT */
typedef struct dfc
{
void *buf1;
void *buf2;
void *buf3;
void *buf4;
} dfc_t;
/*
* 32 bit varient of dfc_t to be used only in the driver and NOT applications
*/
typedef struct dfc32
{
} dfc32_t;
#ifdef SAN_DIAG_SUPPORT
typedef struct sd_bucket_info
{
#endif
/* Valid dfc.dfc_cmd codes (DFC_REV=1) */
/* FCIO_SUPPORT */
/* NPIV_SUPPORT */
/* DHCHAP_SUPPORT */
/* SFCT_SUPPORT */
/* FCOE_SUPPORT */
/* SAN DIAG SUPPORT */
/* EMLXS_SET_AUTH_CFG - flags */
#define EMLXS_AUTH_CFG_ADD 0
/* ERROR Codes */
#define DFC_SUCCESS 0
/* NPIV_SUPPORT */
/* DHCHAP_SUPPORT */
/* MENLO_SUPPORT */
/* SAN_DIAG_SUPPORT */
typedef struct dfc_hbainfo
{
typedef struct fc_class
{
#ifdef EMLXS_BIG_ENDIAN
#endif
#ifdef EMLXS_LITTLE_ENDIAN
#endif
#ifdef EMLXS_BIG_ENDIAN
#endif
#ifdef EMLXS_LITTLE_ENDIAN
#endif
#ifdef EMLXS_BIG_ENDIAN
#endif
#ifdef EMLXS_LITTLE_ENDIAN
#endif
} fc_class_t;
typedef struct fc_csp
{
#ifdef EMLXS_BIG_ENDIAN
#endif
#ifdef EMLXS_LITTLE_ENDIAN
#endif
union
{
struct
{
} nPort;
} w2;
} fc_csp_t;
typedef struct fc_sparm
{
} fc_sparm_t;
typedef struct dfc_node
{
} dfc_node_t;
typedef struct dfc_hbastats
{
typedef struct dfc_drvstats
{
#define R0ATT_INTR 0
#if (DFC_REV >= 2)
#endif
#ifdef SFCT_SUPPORT
/*
* FctP2IOXcnt will count IOs by their fcpDL. Counters
* are for buckets of various power of 2 sizes.
* Bucket 0 < 512 > 0
* Bucket 1 >= 512 < 1024
* Bucket 2 >= 1024 < 2048
* Bucket 3 >= 2048 < 4096
* Bucket 4 >= 4096 < 8192
* Bucket 5 >= 8192 < 16K
* Bucket 6 >= 16K < 32K
* Bucket 7 >= 32K < 64K
* Bucket 8 >= 64K < 128K
* Bucket 9 >= 128K < 256K
* Bucket 10 >= 256K < 512K
* Bucket 11 >= 512K < 1MB
* Bucket 12 >= 1MB < 2MB
* Bucket 13 >= 2MB < 4MB
* Bucket 14 >= 4MB < 8MB
* Bucket 15 >= 8MB
*/
typedef struct dfc_tgtport_stat
{
/* IO counters */
/* IOCB handling counters */
/* Fct event counters */
/* Additional info */
#endif /* SFCT_SUPPORT */
/* DFC_REV >= 3 */
typedef struct dfc_vportinfo
{
#ifdef __cplusplus
}
#endif
#endif /* _EMLXS_DFC_H */