fc_fcaif.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 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _FC_FCAIF_H
#define _FC_FCAIF_H
#ifdef __cplusplus
extern "C" {
#endif
/*
* Version for FCA vectors
*/
#define FCTL_FCA_MODREV_1 1
#define FCTL_FCA_MODREV_2 2
#define FCTL_FCA_MODREV_3 3
#define FCTL_FCA_MODREV_4 4
#define FCTL_FCA_MODREV_5 5
/*
* State change codes
*/
#define FC_SC_OFFLINE 0
#define FC_SC_ONLINE 1
/*
* pm_cmd_flag definitions
*/
#define FC_FCA_PM_NOP 0x00
#define FC_FCA_PM_READ 0x01
#define FC_FCA_PM_WRITE 0x02
/*
* Command codes for fca_reset()
*/
#define FC_FCA_LINK_RESET 0x01
#define FC_FCA_CORE 0x02
#define FC_FCA_RESET_CORE 0x03
#define FC_FCA_RESET 0x04
/*
* fca_port_manage() command codes
*/
#define FC_PORT_BYPASS 0x01
#define FC_PORT_UNBYPASS 0x02
#define FC_PORT_DIAG 0x03
#define FC_PORT_ERR_STATS 0x04
#define FC_PORT_GET_FW_REV 0x05
#define FC_PORT_GET_FCODE_REV 0x06
#define FC_PORT_GET_DUMP_SIZE 0x07
#define FC_PORT_FORCE_DUMP 0x08
#define FC_PORT_GET_DUMP 0x09
#define FC_PORT_LOOPBACK 0x0A
#define FC_PORT_LINK_STATE 0x0B
#define FC_PORT_INITIALIZE 0x0C
#define FC_PORT_DOWNLOAD_FW 0x0D
#define FC_PORT_RLS 0x0E
#define FC_PORT_DOWNLOAD_FCODE 0x0F
#define FC_PORT_GET_NODE_ID 0x10
#define FC_PORT_SET_NODE_ID 0x11
#define FC_PORT_GET_P2P_INFO 0x12
/*
* FCA capability strings
*/
#define FC_NODE_WWN "FCA node WWN"
#define FC_LOGIN_PARAMS "FCA login parameters"
#define FC_CAP_UNSOL_BUF "number of unsolicited bufs"
#define FC_CAP_PAYLOAD_SIZE "exchange payload max"
#define FC_CAP_POST_RESET_BEHAVIOR "port reset behavior"
#define FC_CAP_NOSTREAM_ON_UNALIGN_BUF "no dma streaming on unaligned buf"
#define FC_CAP_FCP_DMA "FCP cmd response in DVMA space"
typedef struct fc_fca_bind {
int port_num;
int port_npiv; /* virtual port flag */
typedef struct fc_fca_rnid {
int status;
typedef struct fc_fca_port_info {
typedef struct fc_fca_pm {
} fc_fca_pm_t;
typedef struct fc_fca_p2p_info {
typedef struct fca_tran {
int fca_version;
int fca_numports;
int fca_pkt_size;
int fca_num_npivports;
/* number of virtual ports supported, 0 means unsupported */
/* permanent port wwn for the port */
#if !defined(__lint)
#endif /* __lint */
#ifdef __cplusplus
}
#endif
#endif /* _FC_FCAIF_H */