OXIESEC PANEL
- Current Dir:
/
/
usr
/
src
/
linux-headers-4.15.0-197
/
include
/
scsi
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
11/17/2022 06:42:18 AM
rwxr-xr-x
📁
fc
-
11/17/2022 06:42:23 AM
rwxr-xr-x
📄
fc_encode.h
21.64 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
fc_frame.h
6.9 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
fcoe_sysfs.h
3.75 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
iscsi_if.h
26.07 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
iscsi_proto.h
16.06 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
iser.h
2.34 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
libfc.h
31.71 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
libfcoe.h
14 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
libiscsi.h
14.36 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
libiscsi_tcp.h
4.32 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
libsas.h
18.53 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
osd_attributes.h
15.05 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
osd_initiator.h
16.26 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
osd_ore.h
5.36 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
osd_protocol.h
17.57 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
osd_sec.h
1.48 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
osd_sense.h
9.89 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
osd_types.h
1020 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
sas.h
13.22 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
sas_ata.h
2.73 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
scsi.h
8.8 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
scsi_bsg_iscsi.h
2.83 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
scsi_cmnd.h
9.62 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
scsi_common.h
2.27 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
scsi_dbg.h
2.19 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
scsi_device.h
20.49 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
scsi_devinfo.h
2.51 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
scsi_dh.h
3.16 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
scsi_driver.h
859 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
scsi_eh.h
1.64 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
scsi_host.h
27.58 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
scsi_ioctl.h
1.25 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
scsi_proto.h
10.67 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
scsi_request.h
667 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
scsi_tcq.h
1.03 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
scsi_transport.h
3.22 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
scsi_transport_fc.h
26.47 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
scsi_transport_iscsi.h
17.25 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
scsi_transport_sas.h
6.79 KB
11/01/2022 04:52:05 PM
rw-r--r--
📄
scsi_transport_spi.h
7.2 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
scsi_transport_srp.h
4.77 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
scsicam.h
713 bytes
01/28/2018 09:20:33 PM
rw-r--r--
📄
sg.h
12.13 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
srp.h
6.1 KB
01/28/2018 09:20:33 PM
rw-r--r--
📄
viosrp.h
6.07 KB
01/28/2018 09:20:33 PM
rw-r--r--
Editing: libiscsi_tcp.h
Close
/* * iSCSI over TCP/IP Data-Path lib * * Copyright (C) 2008 Mike Christie * Copyright (C) 2008 Red Hat, Inc. All rights reserved. * maintained by open-iscsi@googlegroups.com * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published * by the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * See the file COPYING included with this distribution for more details. */ #ifndef LIBISCSI_TCP_H #define LIBISCSI_TCP_H #include <scsi/libiscsi.h> struct iscsi_tcp_conn; struct iscsi_segment; struct sk_buff; struct ahash_request; typedef int iscsi_segment_done_fn_t(struct iscsi_tcp_conn *, struct iscsi_segment *); struct iscsi_segment { unsigned char *data; unsigned int size; unsigned int copied; unsigned int total_size; unsigned int total_copied; struct ahash_request *hash; unsigned char padbuf[ISCSI_PAD_LEN]; unsigned char recv_digest[ISCSI_DIGEST_SIZE]; unsigned char digest[ISCSI_DIGEST_SIZE]; unsigned int digest_len; struct scatterlist *sg; void *sg_mapped; unsigned int sg_offset; bool atomic_mapped; iscsi_segment_done_fn_t *done; }; /* Socket connection receive helper */ struct iscsi_tcp_recv { struct iscsi_hdr *hdr; struct iscsi_segment segment; /* Allocate buffer for BHS + AHS */ uint32_t hdr_buf[64]; /* copied and flipped values */ int datalen; }; struct iscsi_tcp_conn { struct iscsi_conn *iscsi_conn; void *dd_data; int stop_stage; /* conn_stop() flag: * * stop to recover, * * stop to terminate */ /* control data */ struct iscsi_tcp_recv in; /* TCP receive context */ /* CRC32C (Rx) LLD should set this is they do not offload */ struct ahash_request *rx_hash; }; struct iscsi_tcp_task { uint32_t exp_datasn; /* expected target's R2TSN/DataSN */ int data_offset; struct iscsi_r2t_info *r2t; /* in progress solict R2T */ struct iscsi_pool r2tpool; struct kfifo r2tqueue; void *dd_data; spinlock_t pool2queue; spinlock_t queue2pool; }; enum { ISCSI_TCP_SEGMENT_DONE, /* curr seg has been processed */ ISCSI_TCP_SKB_DONE, /* skb is out of data */ ISCSI_TCP_CONN_ERR, /* iscsi layer has fired a conn err */ ISCSI_TCP_SUSPENDED, /* conn is suspended */ }; extern void iscsi_tcp_hdr_recv_prep(struct iscsi_tcp_conn *tcp_conn); extern int iscsi_tcp_recv_skb(struct iscsi_conn *conn, struct sk_buff *skb, unsigned int offset, bool offloaded, int *status); extern void iscsi_tcp_cleanup_task(struct iscsi_task *task); extern int iscsi_tcp_task_init(struct iscsi_task *task); extern int iscsi_tcp_task_xmit(struct iscsi_task *task); /* segment helpers */ extern int iscsi_tcp_recv_segment_is_hdr(struct iscsi_tcp_conn *tcp_conn); extern int iscsi_tcp_segment_done(struct iscsi_tcp_conn *tcp_conn, struct iscsi_segment *segment, int recv, unsigned copied); extern void iscsi_tcp_segment_unmap(struct iscsi_segment *segment); extern void iscsi_segment_init_linear(struct iscsi_segment *segment, void *data, size_t size, iscsi_segment_done_fn_t *done, struct ahash_request *hash); extern int iscsi_segment_seek_sg(struct iscsi_segment *segment, struct scatterlist *sg_list, unsigned int sg_count, unsigned int offset, size_t size, iscsi_segment_done_fn_t *done, struct ahash_request *hash); /* digest helpers */ extern void iscsi_tcp_dgst_header(struct ahash_request *hash, const void *hdr, size_t hdrlen, unsigned char digest[ISCSI_DIGEST_SIZE]); extern struct iscsi_cls_conn * iscsi_tcp_conn_setup(struct iscsi_cls_session *cls_session, int dd_data_size, uint32_t conn_idx); extern void iscsi_tcp_conn_teardown(struct iscsi_cls_conn *cls_conn); /* misc helpers */ extern int iscsi_tcp_r2tpool_alloc(struct iscsi_session *session); extern void iscsi_tcp_r2tpool_free(struct iscsi_session *session); extern int iscsi_tcp_set_max_r2t(struct iscsi_conn *conn, char *buf); extern void iscsi_tcp_conn_get_stats(struct iscsi_cls_conn *cls_conn, struct iscsi_stats *stats); #endif /* LIBISCSI_TCP_H */