xref: /linux/fs/smb/common/smbdirect/smbdirect.h (revision 522cd6acd250dea76afaabc52e028fef280fd753)
17e136a71SStefan Metzmacher /* SPDX-License-Identifier: GPL-2.0-or-later */
27e136a71SStefan Metzmacher /*
37e136a71SStefan Metzmacher  *   Copyright (C) 2017, Microsoft Corporation.
47e136a71SStefan Metzmacher  *   Copyright (C) 2018, LG Electronics.
57e136a71SStefan Metzmacher  */
67e136a71SStefan Metzmacher 
77e136a71SStefan Metzmacher #ifndef __FS_SMB_COMMON_SMBDIRECT_SMBDIRECT_H__
87e136a71SStefan Metzmacher #define __FS_SMB_COMMON_SMBDIRECT_SMBDIRECT_H__
97e136a71SStefan Metzmacher 
107e136a71SStefan Metzmacher /* SMB-DIRECT buffer descriptor V1 structure [MS-SMBD] 2.2.3.1 */
117e136a71SStefan Metzmacher struct smbdirect_buffer_descriptor_v1 {
127e136a71SStefan Metzmacher 	__le64 offset;
137e136a71SStefan Metzmacher 	__le32 token;
147e136a71SStefan Metzmacher 	__le32 length;
157e136a71SStefan Metzmacher } __packed;
167e136a71SStefan Metzmacher 
17*dce8047fSStefan Metzmacher /*
18*dce8047fSStefan Metzmacher  * Connection parameters mostly from [MS-SMBD] 3.1.1.1
19*dce8047fSStefan Metzmacher  *
20*dce8047fSStefan Metzmacher  * These are setup and negotiated at the beginning of a
21*dce8047fSStefan Metzmacher  * connection and remain constant unless explicitly changed.
22*dce8047fSStefan Metzmacher  *
23*dce8047fSStefan Metzmacher  * Some values are important for the upper layer.
24*dce8047fSStefan Metzmacher  */
25*dce8047fSStefan Metzmacher struct smbdirect_socket_parameters {
26*dce8047fSStefan Metzmacher 	__u16 recv_credit_max;
27*dce8047fSStefan Metzmacher 	__u16 send_credit_target;
28*dce8047fSStefan Metzmacher 	__u32 max_send_size;
29*dce8047fSStefan Metzmacher 	__u32 max_fragmented_send_size;
30*dce8047fSStefan Metzmacher 	__u32 max_recv_size;
31*dce8047fSStefan Metzmacher 	__u32 max_fragmented_recv_size;
32*dce8047fSStefan Metzmacher 	__u32 max_read_write_size;
33*dce8047fSStefan Metzmacher 	__u32 keepalive_interval_msec;
34*dce8047fSStefan Metzmacher 	__u32 keepalive_timeout_msec;
35*dce8047fSStefan Metzmacher } __packed;
36*dce8047fSStefan Metzmacher 
377e136a71SStefan Metzmacher #endif /* __FS_SMB_COMMON_SMBDIRECT_SMBDIRECT_H__ */
38