2017-03-24 14:11:48 +05:30
/*
2017-10-10 16:18:19 +05:30
* Copyright 2017 Broadcom . All Rights Reserved .
2017-03-24 14:11:48 +05:30
* The term " Broadcom " refers to Broadcom Limited and / or its subsidiaries .
2009-09-05 07:36:35 +05:30
*
* This program is free software ; you can redistribute it and / or
* modify it under the terms of the GNU General Public License version 2
2017-03-24 14:11:48 +05:30
* as published by the Free Software Foundation . The full GNU General
2009-09-05 07:36:35 +05:30
* Public License is included in this distribution in the file called COPYING .
*
* Contact Information :
2016-08-19 15:20:24 +05:30
* linux - drivers @ broadcom . com
2009-09-05 07:36:35 +05:30
*
*/
# ifndef _BE_ISCSI_
# define _BE_ISCSI_
# include "be_main.h"
# include "be_mgmt.h"
2016-08-19 15:20:06 +05:30
void beiscsi_iface_create_default ( struct beiscsi_hba * phba ) ;
2012-04-03 23:41:51 -05:00
2016-08-19 15:20:06 +05:30
void beiscsi_iface_destroy_default ( struct beiscsi_hba * phba ) ;
2012-04-03 23:41:51 -05:00
2016-08-19 15:20:06 +05:30
int beiscsi_iface_get_param ( struct iscsi_iface * iface ,
2012-04-03 23:41:51 -05:00
enum iscsi_param_type param_type ,
int param , char * buf ) ;
2016-08-19 15:20:06 +05:30
int beiscsi_iface_set_param ( struct Scsi_Host * shost ,
2012-04-03 23:41:51 -05:00
void * data , uint32_t count ) ;
2009-09-05 07:36:35 +05:30
2016-08-19 15:20:06 +05:30
umode_t beiscsi_attr_is_visible ( int param_type , int param ) ;
2011-07-25 13:48:42 -05:00
2009-09-05 07:36:35 +05:30
void beiscsi_offload_connection ( struct beiscsi_conn * beiscsi_conn ,
struct beiscsi_offload_params * params ) ;
void beiscsi_offload_iscsi ( struct beiscsi_hba * phba , struct iscsi_conn * conn ,
struct beiscsi_conn * beiscsi_conn ,
unsigned int fw_handle ) ;
struct iscsi_cls_session * beiscsi_session_create ( struct iscsi_endpoint * ep ,
uint16_t cmds_max ,
uint16_t qdepth ,
uint32_t initial_cmdsn ) ;
void beiscsi_session_destroy ( struct iscsi_cls_session * cls_session ) ;
2016-08-19 15:20:15 +05:30
void beiscsi_session_fail ( struct iscsi_cls_session * cls_session ) ;
2009-09-05 07:36:35 +05:30
struct iscsi_cls_conn * beiscsi_conn_create ( struct iscsi_cls_session
* cls_session , uint32_t cid ) ;
int beiscsi_conn_bind ( struct iscsi_cls_session * cls_session ,
struct iscsi_cls_conn * cls_conn ,
uint64_t transport_fd , int is_leading ) ;
2011-02-16 15:04:41 -06:00
int beiscsi_ep_get_param ( struct iscsi_endpoint * ep , enum iscsi_param param ,
char * buf ) ;
2009-09-05 07:36:35 +05:30
int beiscsi_get_host_param ( struct Scsi_Host * shost ,
enum iscsi_host_param param , char * buf ) ;
2010-07-22 04:29:18 +05:30
int beiscsi_get_macaddr ( char * buf , struct beiscsi_hba * phba ) ;
2009-09-05 07:36:35 +05:30
int beiscsi_set_param ( struct iscsi_cls_conn * cls_conn ,
enum iscsi_param param , char * buf , int buflen ) ;
int beiscsi_conn_start ( struct iscsi_cls_conn * cls_conn ) ;
struct iscsi_endpoint * beiscsi_ep_connect ( struct Scsi_Host * shost ,
struct sockaddr * dst_addr ,
int non_blocking ) ;
int beiscsi_ep_poll ( struct iscsi_endpoint * ep , int timeout_ms ) ;
void beiscsi_ep_disconnect ( struct iscsi_endpoint * ep ) ;
void beiscsi_conn_get_stats ( struct iscsi_cls_conn * cls_conn ,
struct iscsi_stats * stats ) ;
# endif