mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-01-11 17:10:13 +00:00
These definitions are only used by SMB1, so move them into the new common/smb1pdu.h. KSMBD only implements SMB_COM_NEGOTIATE, see MS-SMB2 3.3.5.2. Co-developed-by: ChenXiaoSong <chenxiaosong@kylinos.cn> Signed-off-by: ChenXiaoSong <chenxiaosong@kylinos.cn> Signed-off-by: ZhangGuoDong <zhangguodong@kylinos.cn> Signed-off-by: Steve French <stfrench@microsoft.com>
57 lines
1.1 KiB
C
57 lines
1.1 KiB
C
/* SPDX-License-Identifier: LGPL-2.1 */
|
|
/*
|
|
*
|
|
* Copyright (C) International Business Machines Corp., 2002,2009
|
|
* 2018 Samsung Electronics Co., Ltd.
|
|
* Author(s): Steve French <sfrench@us.ibm.com>
|
|
* Namjae Jeon <linkinjeon@kernel.org>
|
|
*
|
|
*/
|
|
|
|
#ifndef _COMMON_SMB1_PDU_H
|
|
#define _COMMON_SMB1_PDU_H
|
|
|
|
#define SMB1_PROTO_NUMBER cpu_to_le32(0x424d53ff)
|
|
|
|
/*
|
|
* See MS-CIFS 2.2.3.1
|
|
* MS-SMB 2.2.3.1
|
|
*/
|
|
struct smb_hdr {
|
|
__u8 Protocol[4];
|
|
__u8 Command;
|
|
union {
|
|
struct {
|
|
__u8 ErrorClass;
|
|
__u8 Reserved;
|
|
__le16 Error;
|
|
} __packed DosError;
|
|
__le32 CifsError;
|
|
} __packed Status;
|
|
__u8 Flags;
|
|
__le16 Flags2; /* note: le */
|
|
__le16 PidHigh;
|
|
union {
|
|
struct {
|
|
__le32 SequenceNumber; /* le */
|
|
__u32 Reserved; /* zero */
|
|
} __packed Sequence;
|
|
__u8 SecuritySignature[8]; /* le */
|
|
} __packed Signature;
|
|
__u8 pad[2];
|
|
__u16 Tid;
|
|
__le16 Pid;
|
|
__u16 Uid;
|
|
__le16 Mid;
|
|
__u8 WordCount;
|
|
} __packed;
|
|
|
|
/* See MS-CIFS 2.2.4.52.1 */
|
|
typedef struct smb_negotiate_req {
|
|
struct smb_hdr hdr; /* wct = 0 */
|
|
__le16 ByteCount;
|
|
unsigned char DialectsArray[];
|
|
} __packed SMB_NEGOTIATE_REQ;
|
|
|
|
#endif /* _COMMON_SMB1_PDU_H */
|