1 /* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 * or http://www.opensolaris.org/os/licensing. 10 * See the License for the specific language governing permissions 11 * and limitations under the License. 12 * 13 * When distributing Covered Code, include this CDDL HEADER in each 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 */ 21 /* 22 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 23 * Use is subject to license terms. 24 */ 25 #ifndef _FCOET_FC_H 26 #define _FCOET_FC_H 27 28 #include <sys/stmf_defines.h> 29 30 #ifdef __cplusplus 31 extern "C" { 32 #endif 33 34 #ifdef _KERNEL 35 36 fct_status_t 37 fcoet_get_link_info(fct_local_port_t *port, fct_link_info_t *li); 38 fct_status_t fcoet_register_remote_port(fct_local_port_t *port, 39 fct_remote_port_t *rp, fct_cmd_t *login); 40 fct_status_t 41 fcoet_deregister_remote_port(fct_local_port_t *port, fct_remote_port_t *rp); 42 fct_status_t fcoet_send_cmd(fct_cmd_t *cmd); 43 fct_status_t fcoet_send_cmd_response(fct_cmd_t *cmd, uint32_t ioflags); 44 fct_status_t 45 fcoet_xfer_scsi_data(fct_cmd_t *cmd, stmf_data_buf_t *dbuf, uint32_t ioflags); 46 fct_status_t 47 fcoet_abort_cmd(struct fct_local_port *port, fct_cmd_t *cmd, uint32_t flags); 48 fct_status_t 49 fcoet_do_flogi(fct_local_port_t *port, fct_flogi_xchg_t *fx); 50 void fcoet_send_sol_flogi(fcoet_soft_state_t *ss); 51 void fcoet_send_sol_abts(fcoet_exchange_t *xch); 52 void fcoet_ctl(struct fct_local_port *port, int cmd, void *arg); 53 void fcoet_populate_hba_fru_details(struct fct_local_port *port, 54 struct fct_port_attrs *port_attrs); 55 fct_status_t fcoet_enable_port(fcoet_soft_state_t *ss); 56 fct_status_t fcoet_disable_port(fcoet_soft_state_t *ss); 57 fcoet_exchange_t *fcoet_init_sol_exchange(fct_cmd_t *cmd); 58 59 #endif /* _KERNEL */ 60 61 #ifdef __cplusplus 62 } 63 #endif 64 65 #endif /* _FCOET_FC_H */ 66