portif.h revision 3fb517f786391b507780c78aabb8d98bfea9efe9
/*
* 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
*/
/*
*/
#ifndef _PORTIF_H
#define _PORTIF_H
/*
* Definitions for stmf local ports and port providers.
*/
#include <sys/stmf_defines.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef struct stmf_dbuf_store {
void *ds_stmf_private;
void *ds_port_private;
void (*ds_free_data_buf)(
void (*ds_teardown_dbuf)(
#define PORTIF_REV_1 0x00010000
typedef struct stmf_local_port {
void *lport_stmf_private;
void *lport_port_private;
struct scsi_devid_desc *lport_id;
char *lport_alias;
struct stmf_port_provider *lport_pp;
struct stmf_dbuf_store *lport_ds;
/* lport ops */
void (*lport_event_handler)(
/*
* abort cmd
*/
#define STMF_LPORT_ABORT_TASK 0x40
typedef struct stmf_port_provider {
void *pp_stmf_private;
void *pp_provider_private;
int pp_instance;
char *pp_name;
#define STMF_SESSION_ID_NONE ((uint64_t)0)
typedef struct stmf_scsi_session {
void *ss_stmf_private;
void *ss_port_private;
struct scsi_devid_desc *ss_rport_id;
char *ss_rport_alias;
struct stmf_local_port *ss_lport;
#ifdef __cplusplus
}
#endif
#endif /* _PORTIF_H */