File Index
Files and directories
Sign in
FILE

smbdirect_pdu.h

File preview with syntax highlighting.

linux-6.19.14/fs/smb/common/smbdirect/smbdirect_pdu.h C
 1/* SPDX-License-Identifier: GPL-2.0-or-later */
 2/*
 3 *   Copyright (c) 2017 Stefan Metzmacher
 4 */
 5
 6#ifndef __FS_SMB_COMMON_SMBDIRECT_SMBDIRECT_PDU_H__
 7#define __FS_SMB_COMMON_SMBDIRECT_SMBDIRECT_PDU_H__
 8
 9#define SMBDIRECT_V1 0x0100
10
11/* SMBD negotiation request packet [MS-SMBD] 2.2.1 */
12struct smbdirect_negotiate_req {
13	__le16 min_version;
14	__le16 max_version;
15	__le16 reserved;
16	__le16 credits_requested;
17	__le32 preferred_send_size;
18	__le32 max_receive_size;
19	__le32 max_fragmented_size;
20} __packed;
21
22/* SMBD negotiation response packet [MS-SMBD] 2.2.2 */
23struct smbdirect_negotiate_resp {
24	__le16 min_version;
25	__le16 max_version;
26	__le16 negotiated_version;
27	__le16 reserved;
28	__le16 credits_requested;
29	__le16 credits_granted;
30	__le32 status;
31	__le32 max_readwrite_size;
32	__le32 preferred_send_size;
33	__le32 max_receive_size;
34	__le32 max_fragmented_size;
35} __packed;
36
37#define SMBDIRECT_DATA_MIN_HDR_SIZE 0x14
38#define SMBDIRECT_DATA_OFFSET       0x18
39
40#define SMBDIRECT_FLAG_RESPONSE_REQUESTED 0x0001
41
42/* SMBD data transfer packet with payload [MS-SMBD] 2.2.3 */
43struct smbdirect_data_transfer {
44	__le16 credits_requested;
45	__le16 credits_granted;
46	__le16 flags;
47	__le16 reserved;
48	__le32 remaining_data_length;
49	__le32 data_offset;
50	__le32 data_length;
51	__le32 padding;
52	__u8 buffer[];
53} __packed;
54
55#endif /* __FS_SMB_COMMON_SMBDIRECT_SMBDIRECT_PDU_H__ */
~/ Read-only file preview.