Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
drivers
scsi
iscsi_tcp.h
Go to the documentation of this file.
1
/*
2
* iSCSI Initiator TCP Transport
3
* Copyright (C) 2004 Dmitry Yusupov
4
* Copyright (C) 2004 Alex Aizman
5
* Copyright (C) 2005 - 2006 Mike Christie
6
* Copyright (C) 2006 Red Hat, Inc. All rights reserved.
7
* maintained by
[email protected]
8
*
9
* This program is free software; you can redistribute it and/or modify
10
* it under the terms of the GNU General Public License as published
11
* by the Free Software Foundation; either version 2 of the License, or
12
* (at your option) any later version.
13
*
14
* This program is distributed in the hope that it will be useful, but
15
* WITHOUT ANY WARRANTY; without even the implied warranty of
16
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17
* General Public License for more details.
18
*
19
* See the file COPYING included with this distribution for more details.
20
*/
21
22
#ifndef ISCSI_SW_TCP_H
23
#define ISCSI_SW_TCP_H
24
25
#include <
scsi/libiscsi.h
>
26
#include <
scsi/libiscsi_tcp.h
>
27
28
struct
socket
;
29
struct
iscsi_tcp_conn
;
30
31
/* Socket connection send helper */
32
struct
iscsi_sw_tcp_send
{
33
struct
iscsi_hdr
*
hdr
;
34
struct
iscsi_segment
segment
;
35
struct
iscsi_segment
data_segment
;
36
};
37
38
struct
iscsi_sw_tcp_conn
{
39
struct
socket
*
sock
;
40
41
struct
iscsi_sw_tcp_send
out
;
42
/* old values for socket callbacks */
43
void
(*
old_data_ready
)(
struct
sock
*,
int
);
44
void
(*
old_state_change
)(
struct
sock
*);
45
void
(*
old_write_space
)(
struct
sock
*);
46
47
/* data and header digests */
48
struct
hash_desc
tx_hash
;
/* CRC32C (Tx) */
49
struct
hash_desc
rx_hash
;
/* CRC32C (Rx) */
50
51
/* MIB custom statistics */
52
uint32_t
sendpage_failures_cnt
;
53
uint32_t
discontiguous_hdr_cnt
;
54
55
ssize_t
(*
sendpage
)(
struct
socket
*,
struct
page
*,
int
,
size_t
,
int
);
56
};
57
58
struct
iscsi_sw_tcp_host
{
59
struct
iscsi_session
*
session
;
60
};
61
62
struct
iscsi_sw_tcp_hdrbuf
{
63
struct
iscsi_hdr
hdrbuf
;
64
char
hdrextbuf
[
ISCSI_MAX_AHS_SIZE
+
65
ISCSI_DIGEST_SIZE
];
66
};
67
68
#endif
/* ISCSI_SW_TCP_H */
Generated on Thu Jan 10 2013 14:21:23 for Linux Kernel by
1.8.2