linux/drivers/scsi/be2iscsi/be_iscsi.h
<<
>>
Prefs
   1/**
   2 * Copyright (C) 2005 - 2011 Emulex
   3 * All rights reserved.
   4 *
   5 * This program is free software; you can redistribute it and/or
   6 * modify it under the terms of the GNU General Public License version 2
   7 * as published by the Free Software Foundation.  The full GNU General
   8 * Public License is included in this distribution in the file called COPYING.
   9 *
  10 * Written by: Jayamohan Kallickal (jayamohan.kallickal@emulex.com)
  11 *
  12 * Contact Information:
  13 * linux-drivers@emulex.com
  14 *
  15 * Emulex
  16 * 3333 Susan Street
  17 * Costa Mesa, CA 92626
  18 */
  19
  20#ifndef _BE_ISCSI_
  21#define _BE_ISCSI_
  22
  23#include "be_main.h"
  24#include "be_mgmt.h"
  25
  26#define BE2_IPV4  0x1
  27#define BE2_IPV6  0x10
  28
  29void beiscsi_offload_connection(struct beiscsi_conn *beiscsi_conn,
  30                                struct beiscsi_offload_params *params);
  31
  32void beiscsi_offload_iscsi(struct beiscsi_hba *phba, struct iscsi_conn *conn,
  33                           struct beiscsi_conn *beiscsi_conn,
  34                           unsigned int fw_handle);
  35
  36struct iscsi_cls_session *beiscsi_session_create(struct iscsi_endpoint *ep,
  37                                                 uint16_t cmds_max,
  38                                                 uint16_t qdepth,
  39                                                 uint32_t initial_cmdsn);
  40
  41void beiscsi_session_destroy(struct iscsi_cls_session *cls_session);
  42
  43struct iscsi_cls_conn *beiscsi_conn_create(struct iscsi_cls_session
  44                                           *cls_session, uint32_t cid);
  45
  46int beiscsi_conn_bind(struct iscsi_cls_session *cls_session,
  47                      struct iscsi_cls_conn *cls_conn,
  48                      uint64_t transport_fd, int is_leading);
  49
  50int beiscsi_ep_get_param(struct iscsi_endpoint *ep, enum iscsi_param param,
  51                         char *buf);
  52
  53int beiscsi_get_host_param(struct Scsi_Host *shost,
  54                           enum iscsi_host_param param, char *buf);
  55
  56int beiscsi_get_macaddr(char *buf, struct beiscsi_hba *phba);
  57
  58int beiscsi_set_param(struct iscsi_cls_conn *cls_conn,
  59                      enum iscsi_param param, char *buf, int buflen);
  60
  61int beiscsi_conn_start(struct iscsi_cls_conn *cls_conn);
  62
  63struct iscsi_endpoint *beiscsi_ep_connect(struct Scsi_Host *shost,
  64                                          struct sockaddr *dst_addr,
  65                                          int non_blocking);
  66
  67int beiscsi_ep_poll(struct iscsi_endpoint *ep, int timeout_ms);
  68
  69void beiscsi_ep_disconnect(struct iscsi_endpoint *ep);
  70
  71void beiscsi_conn_get_stats(struct iscsi_cls_conn *cls_conn,
  72                            struct iscsi_stats *stats);
  73
  74#endif
  75