mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 03:04:51 +01:00
cifs: SMB1 split: Move BCC access functions
Move the BCC access functions to smb1proto.h as they're only applicable to SMB1. Signed-off-by: David Howells <dhowells@redhat.com> cc: Steve French <sfrench@samba.org> cc: Paulo Alcantara <pc@manguebit.org> cc: Enzo Matsumiya <ematsumiya@suse.de> cc: linux-cifs@vger.kernel.org cc: linux-fsdevel@vger.kernel.org cc: linux-kernel@vger.kernel.org Acked-by: Enzo Matsumiya <ematsumiya@suse.de> Signed-off-by: Steve French <stfrench@microsoft.com>
This commit is contained in:
parent
8a848efd48
commit
efbe45cc03
2 changed files with 34 additions and 35 deletions
|
|
@ -9,38 +9,4 @@
|
|||
#ifndef _CIFSPDU_H
|
||||
#define _CIFSPDU_H
|
||||
|
||||
#include <linux/unaligned.h>
|
||||
#include "../common/smb1pdu.h"
|
||||
|
||||
#define GETU16(var) (*((__u16 *)var)) /* BB check for endian issues */
|
||||
#define GETU32(var) (*((__u32 *)var)) /* BB check for endian issues */
|
||||
|
||||
/* given a pointer to an smb_hdr, retrieve a void pointer to the ByteCount */
|
||||
static inline void *
|
||||
BCC(struct smb_hdr *smb)
|
||||
{
|
||||
return (void *)smb + sizeof(*smb) + 2 * smb->WordCount;
|
||||
}
|
||||
|
||||
/* given a pointer to an smb_hdr retrieve the pointer to the byte area */
|
||||
#define pByteArea(smb_var) (BCC(smb_var) + 2)
|
||||
|
||||
/* get the unconverted ByteCount for a SMB packet and return it */
|
||||
static inline __u16
|
||||
get_bcc(struct smb_hdr *hdr)
|
||||
{
|
||||
__le16 *bc_ptr = (__le16 *)BCC(hdr);
|
||||
|
||||
return get_unaligned_le16(bc_ptr);
|
||||
}
|
||||
|
||||
/* set the ByteCount for a SMB packet in little-endian */
|
||||
static inline void
|
||||
put_bcc(__u16 count, struct smb_hdr *hdr)
|
||||
{
|
||||
__le16 *bc_ptr = (__le16 *)BCC(hdr);
|
||||
|
||||
put_unaligned_le16(count, bc_ptr);
|
||||
}
|
||||
|
||||
#endif /* _CIFSPDU_H */
|
||||
|
|
|
|||
|
|
@ -8,7 +8,8 @@
|
|||
#ifndef _SMB1PROTO_H
|
||||
#define _SMB1PROTO_H
|
||||
|
||||
#include "cifspdu.h"
|
||||
#include <linux/unaligned.h>
|
||||
#include "../common/smb2pdu.h"
|
||||
|
||||
struct cifs_unix_set_info_args {
|
||||
__u64 ctime;
|
||||
|
|
@ -242,4 +243,36 @@ int checkSMB(char *buf, unsigned int pdu_len, unsigned int total_read,
|
|||
|
||||
|
||||
#endif /* CONFIG_CIFS_ALLOW_INSECURE_LEGACY */
|
||||
|
||||
#define GETU16(var) (*((__u16 *)var)) /* BB check for endian issues */
|
||||
#define GETU32(var) (*((__u32 *)var)) /* BB check for endian issues */
|
||||
|
||||
/* given a pointer to an smb_hdr, retrieve a void pointer to the ByteCount */
|
||||
static inline void *
|
||||
BCC(struct smb_hdr *smb)
|
||||
{
|
||||
return (void *)smb + sizeof(*smb) + 2 * smb->WordCount;
|
||||
}
|
||||
|
||||
/* given a pointer to an smb_hdr retrieve the pointer to the byte area */
|
||||
#define pByteArea(smb_var) (BCC(smb_var) + 2)
|
||||
|
||||
/* get the unconverted ByteCount for a SMB packet and return it */
|
||||
static inline __u16
|
||||
get_bcc(struct smb_hdr *hdr)
|
||||
{
|
||||
__le16 *bc_ptr = (__le16 *)BCC(hdr);
|
||||
|
||||
return get_unaligned_le16(bc_ptr);
|
||||
}
|
||||
|
||||
/* set the ByteCount for a SMB packet in little-endian */
|
||||
static inline void
|
||||
put_bcc(__u16 count, struct smb_hdr *hdr)
|
||||
{
|
||||
__le16 *bc_ptr = (__le16 *)BCC(hdr);
|
||||
|
||||
put_unaligned_le16(count, bc_ptr);
|
||||
}
|
||||
|
||||
#endif /* _SMB1PROTO_H */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue