[NETFILTER]: ipt_addrtype: limit address type checking to an interface
[safe/jmp/linux-2.6] / include / scsi / iscsi_if.h
index 8813f0f..e19e584 100644 (file)
@@ -48,11 +48,16 @@ enum iscsi_uevent_e {
        ISCSI_UEVENT_TRANSPORT_EP_DISCONNECT    = UEVENT_BASE + 14,
 
        ISCSI_UEVENT_TGT_DSCVR          = UEVENT_BASE + 15,
+       ISCSI_UEVENT_SET_HOST_PARAM     = UEVENT_BASE + 16,
+       ISCSI_UEVENT_UNBIND_SESSION     = UEVENT_BASE + 17,
 
        /* up events */
        ISCSI_KEVENT_RECV_PDU           = KEVENT_BASE + 1,
        ISCSI_KEVENT_CONN_ERROR         = KEVENT_BASE + 2,
        ISCSI_KEVENT_IF_ERROR           = KEVENT_BASE + 3,
+       ISCSI_KEVENT_DESTROY_SESSION    = KEVENT_BASE + 4,
+       ISCSI_KEVENT_UNBIND_SESSION     = KEVENT_BASE + 5,
+       ISCSI_KEVENT_CREATE_SESSION     = KEVENT_BASE + 6,
 };
 
 enum iscsi_tgt_dscvr {
@@ -70,6 +75,8 @@ struct iscsi_uevent {
                /* messages u -> k */
                struct msg_create_session {
                        uint32_t        initial_cmdsn;
+                       uint16_t        cmds_max;
+                       uint16_t        queue_depth;
                } c_session;
                struct msg_destroy_session {
                        uint32_t        sid;
@@ -135,6 +142,11 @@ struct iscsi_uevent {
                         */
                        uint32_t        enable;
                } tgt_dscvr;
+               struct msg_set_host_param {
+                       uint32_t        host_no;
+                       uint32_t        param; /* enum iscsi_host_param */
+                       uint32_t        len;
+               } set_host_param;
        } u;
        union {
                /* messages k -> u */
@@ -147,6 +159,10 @@ struct iscsi_uevent {
                        uint32_t        sid;
                        uint32_t        cid;
                } c_conn_ret;
+               struct msg_unbind_session {
+                       uint32_t        sid;
+                       uint32_t        host_no;
+               } unbind_session;
                struct msg_recv_req {
                        uint32_t        sid;
                        uint32_t        cid;
@@ -157,27 +173,13 @@ struct iscsi_uevent {
                        uint32_t        cid;
                        uint32_t        error; /* enum iscsi_err */
                } connerror;
+               struct msg_session_destroyed {
+                       uint32_t        host_no;
+                       uint32_t        sid;
+               } d_session;
                struct msg_transport_connect_ret {
                        uint64_t        handle;
                } ep_connect_ret;
-               struct msg_tgt_dscvr_ret {
-                       /*
-                        * session/connection pair used to reference
-                        * the connection to server
-                        */
-                       uint32_t        sid;
-                       uint32_t        cid;
-                       union {
-                               struct isns {
-                                       /* port # for conn to iSNS server */
-                                       uint16_t isns_port;
-                                       /* listening port to receive SCNs */
-                                       uint16_t scn_port;
-                                       /* listening port to receive ESIs */
-                                       uint16_t esi_port;
-                               } isns_attrib;
-                       } u;
-               } tgt_dscvr_ret;
        } r;
 } __attribute__ ((aligned (sizeof(uint64_t))));
 
@@ -236,6 +238,18 @@ enum iscsi_param {
        ISCSI_PARAM_CONN_PORT,
        ISCSI_PARAM_CONN_ADDRESS,
 
+       ISCSI_PARAM_USERNAME,
+       ISCSI_PARAM_USERNAME_IN,
+       ISCSI_PARAM_PASSWORD,
+       ISCSI_PARAM_PASSWORD_IN,
+
+       ISCSI_PARAM_FAST_ABORT,
+       ISCSI_PARAM_ABORT_TMO,
+       ISCSI_PARAM_LU_RESET_TMO,
+       ISCSI_PARAM_HOST_RESET_TMO,
+
+       ISCSI_PARAM_PING_TMO,
+       ISCSI_PARAM_RECV_TMO,
        /* must always be last */
        ISCSI_PARAM_MAX,
 };
@@ -262,6 +276,30 @@ enum iscsi_param {
 #define ISCSI_SESS_RECOVERY_TMO                (1 << ISCSI_PARAM_SESS_RECOVERY_TMO)
 #define ISCSI_CONN_PORT                        (1 << ISCSI_PARAM_CONN_PORT)
 #define ISCSI_CONN_ADDRESS             (1 << ISCSI_PARAM_CONN_ADDRESS)
+#define ISCSI_USERNAME                 (1 << ISCSI_PARAM_USERNAME)
+#define ISCSI_USERNAME_IN              (1 << ISCSI_PARAM_USERNAME_IN)
+#define ISCSI_PASSWORD                 (1 << ISCSI_PARAM_PASSWORD)
+#define ISCSI_PASSWORD_IN              (1 << ISCSI_PARAM_PASSWORD_IN)
+#define ISCSI_FAST_ABORT               (1 << ISCSI_PARAM_FAST_ABORT)
+#define ISCSI_ABORT_TMO                        (1 << ISCSI_PARAM_ABORT_TMO)
+#define ISCSI_LU_RESET_TMO             (1 << ISCSI_PARAM_LU_RESET_TMO)
+#define ISCSI_HOST_RESET_TMO           (1 << ISCSI_PARAM_HOST_RESET_TMO)
+#define ISCSI_PING_TMO                 (1 << ISCSI_PARAM_PING_TMO)
+#define ISCSI_RECV_TMO                 (1 << ISCSI_PARAM_RECV_TMO)
+
+/* iSCSI HBA params */
+enum iscsi_host_param {
+       ISCSI_HOST_PARAM_HWADDRESS,
+       ISCSI_HOST_PARAM_INITIATOR_NAME,
+       ISCSI_HOST_PARAM_NETDEV_NAME,
+       ISCSI_HOST_PARAM_IPADDRESS,
+       ISCSI_HOST_PARAM_MAX,
+};
+
+#define ISCSI_HOST_HWADDRESS           (1 << ISCSI_HOST_PARAM_HWADDRESS)
+#define ISCSI_HOST_INITIATOR_NAME      (1 << ISCSI_HOST_PARAM_INITIATOR_NAME)
+#define ISCSI_HOST_NETDEV_NAME         (1 << ISCSI_HOST_PARAM_NETDEV_NAME)
+#define ISCSI_HOST_IPADDRESS           (1 << ISCSI_HOST_PARAM_IPADDRESS)
 
 #define iscsi_ptr(_handle) ((void*)(unsigned long)_handle)
 #define iscsi_handle(_ptr) ((uint64_t)(unsigned long)_ptr)
@@ -285,6 +323,9 @@ enum iscsi_param {
 #define CAP_MULTI_CONN         0x40
 #define CAP_TEXT_NEGO          0x80
 #define CAP_MARKERS            0x100
+#define CAP_FW_DB              0x200
+#define CAP_SENDTARGETS_OFFLOAD        0x400
+#define CAP_DATA_PATH_OFFLOAD  0x800
 
 /*
  * These flags describes reason of stop_conn() call