summaryrefslogtreecommitdiff
path: root/fs/smb/client/smb2glob.h
blob: 99c6f5a635fc33b80a60055bb4bc27b158ae49cb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
/* SPDX-License-Identifier: LGPL-2.1 */
/*
 *
 *   Definitions for various global variables and structures
 *
 *   Copyright (C) International Business Machines  Corp., 2002, 2011
 *                 Etersoft, 2012
 *   Author(s): Steve French (sfrench@us.ibm.com)
 *              Jeremy Allison (jra@samba.org)
 *              Pavel Shilovsky (pshilovsky@samba.org) 2012
 *
 */
#ifndef _SMB2_GLOB_H
#define _SMB2_GLOB_H

#define COMP_PID(cfile) ((cfile) ? (cfile)->fid.persistent_fid : COMPOUND_FID)
#define COMP_VID(cfile) ((cfile) ? (cfile)->fid.volatile_fid : COMPOUND_FID)

static inline void cifs_stats_fail_inc(struct cifs_tcon *tcon, uint16_t code)
{
	cifs_stats_inc(&tcon->stats.smb2_stats.smb2_com_failed[code]);
}

/*
 *****************************************************************
 * Constants go here
 *****************************************************************
 */

/*
 * Identifiers for functions that use the open, operation, close pattern
 * in smb2inode.c:smb2_compound_op()
 */
enum smb2_compound_ops {
	SMB2_OP_SET_DELETE = 1,
	SMB2_OP_SET_INFO,
	SMB2_OP_QUERY_INFO,
	SMB2_OP_QUERY_DIR,
	SMB2_OP_MKDIR,
	SMB2_OP_RENAME,
	SMB2_OP_HARDLINK,
	SMB2_OP_SET_EOF,
	SMB2_OP_UNLINK,
	SMB2_OP_POSIX_QUERY_INFO,
	SMB2_OP_SET_REPARSE,
	SMB2_OP_GET_REPARSE,
	SMB2_OP_QUERY_WSL_EA,
	SMB2_OP_OPEN_QUERY,
};

/* Used when constructing chained read requests. */
#define CHAINED_REQUEST 1
#define START_OF_CHAIN 2
#define END_OF_CHAIN 4
#define RELATED_REQUEST 8

/*
 *****************************************************************
 * Struct definitions go here
 *****************************************************************
 */

struct status_to_posix_error {
	__u32 smb2_status;
	int posix_error;
	char *status_string;
};

#endif	/* _SMB2_GLOB_H */