ifpio.h revision db194e27210d166c10116b0681469ae6aa0fdb64
/*
* 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 1999 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _SYS_SCSI_ADAPTERS_IFPIO_H
#define _SYS_SCSI_ADAPTERS_IFPIO_H
#pragma ident "%Z%%M% %I% %E% SMI"
/*
* Include any headers you depend on.
*/
#ifdef __cplusplus
extern "C" {
#endif
/*
* Get ifp device map ioctl.
*/
struct ifp_board_info {
};
typedef struct ifp_board_info ifp_board_info_t;
struct ifp_diag_fw_rev {
};
typedef struct ifp_diag_fw_rev ifp_diag_fw_rev_t;
struct ifp_lb_frame_cmd {
};
typedef struct ifp_lb_frame_cmd ifp_lb_frame_cmd_t;
#if defined(_LP64)
struct ifp_lb_frame_cmd32 {
};
#endif
/* defines for options field */
struct ifp_diag_selftest {
};
typedef struct ifp_diag_selftest ifp_diag_selftest_t;
/* offset of the fcode from begining of file */
#define FCODE_OFFSET 0x20
struct ifp_download {
};
typedef struct ifp_download ifp_download_t;
#define IFP_NUM_ENTRIES_IN_MAP 127
#define IFP_DIAG_MAX_MBOX 10
struct ifp_al_addr_pair {
};
typedef struct ifp_al_addr_pair ifp_al_addr_pair_t;
struct ifp_al_map {
short ifp_count;
};
typedef struct ifp_al_map ifp_al_map_t;
struct adisc_payload {
};
struct rls_payload {
};
typedef struct rls_payload rls_payload_t;
struct ifp_target_stats {
int logouts_recvd;
/*
* unsolicited LOGOs recvd from
* target
*/
int task_mgmt_failures;
int data_ro_mismatches;
int dl_len_mismatches;
};
typedef struct ifp_target_stats ifp_target_stats_t;
struct ifp_stats {
int version; /* version of this struct */
int lip_count; /* lips forced by ifp */
int ncmds; /* outstanding commands */
};
typedef struct ifp_stats ifp_stats_t;
#if !defined(SFIOCGMAP)
#endif
#if !defined(FCIO_GETMAP)
struct lilpmap {
};
#endif
/*
* Structure used for diag loopback commands.
* This is copied from socalvar.h and must
* remain the same as for the socal driver.
*/
typedef struct flb_hdr {
} flb_hdr_t;
/* This is the max loopback transfer size */
#define MAX_LOOPBACK 65536
#if !defined(FCIO_FORCE_LIP)
#endif
#if !defined(FCIO_LINKSTATUS)
#endif
#if !defined(FCIO_FCODE_MCODE_VERSION)
#endif
struct ifp_fm_version {
int fcode_ver_len;
int mcode_ver_len;
int prom_ver_len;
};
#if defined(_LP64)
struct ifp_fm_version32 {
int fcode_ver_len;
int mcode_ver_len;
int prom_ver_len;
};
#endif
struct ifp_diag_mbox {
};
typedef struct ifp_diag_mbox ifp_diag_mbox_t;
struct ifp_diag_regs {
void *ifpd_current_req_ptr;
void *ifpd_base_req_ptr;
void *ifpd_current_resp_ptr;
void *ifpd_base_resp_ptr;
};
typedef struct ifp_diag_regs ifp_diag_regs_t;
struct ifp_diag_cmd {
short ifp_cmds_rev; /* revision */
short ifp_cmds_current_rev; /* rev driver expects */
short ifp_cmds_count; /* number of cmds */
short ifp_cmds_done; /* number of cmds done */
};
typedef struct ifp_diag_cmd ifp_diag_cmd_t;
#ifdef __cplusplus
}
#endif
#endif /* _SYS_SCSI_ADAPTERS_IFPIO_H */