xref: /OK3568_Linux_fs/kernel/fs/orangefs/orangefs-dev-proto.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun  * (C) 2001 Clemson University and The University of Chicago
4*4882a593Smuzhiyun  *
5*4882a593Smuzhiyun  * See COPYING in top-level directory.
6*4882a593Smuzhiyun  */
7*4882a593Smuzhiyun 
8*4882a593Smuzhiyun #ifndef _ORANGEFS_DEV_PROTO_H
9*4882a593Smuzhiyun #define _ORANGEFS_DEV_PROTO_H
10*4882a593Smuzhiyun 
11*4882a593Smuzhiyun /*
12*4882a593Smuzhiyun  * types and constants shared between user space and kernel space for
13*4882a593Smuzhiyun  * device interaction using a common protocol
14*4882a593Smuzhiyun  */
15*4882a593Smuzhiyun 
16*4882a593Smuzhiyun /*
17*4882a593Smuzhiyun  * valid orangefs kernel operation types
18*4882a593Smuzhiyun  */
19*4882a593Smuzhiyun #define ORANGEFS_VFS_OP_INVALID           0xFF000000
20*4882a593Smuzhiyun #define ORANGEFS_VFS_OP_FILE_IO        0xFF000001
21*4882a593Smuzhiyun #define ORANGEFS_VFS_OP_LOOKUP         0xFF000002
22*4882a593Smuzhiyun #define ORANGEFS_VFS_OP_CREATE         0xFF000003
23*4882a593Smuzhiyun #define ORANGEFS_VFS_OP_GETATTR        0xFF000004
24*4882a593Smuzhiyun #define ORANGEFS_VFS_OP_REMOVE         0xFF000005
25*4882a593Smuzhiyun #define ORANGEFS_VFS_OP_MKDIR          0xFF000006
26*4882a593Smuzhiyun #define ORANGEFS_VFS_OP_READDIR        0xFF000007
27*4882a593Smuzhiyun #define ORANGEFS_VFS_OP_SETATTR        0xFF000008
28*4882a593Smuzhiyun #define ORANGEFS_VFS_OP_SYMLINK        0xFF000009
29*4882a593Smuzhiyun #define ORANGEFS_VFS_OP_RENAME         0xFF00000A
30*4882a593Smuzhiyun #define ORANGEFS_VFS_OP_STATFS         0xFF00000B
31*4882a593Smuzhiyun #define ORANGEFS_VFS_OP_TRUNCATE       0xFF00000C
32*4882a593Smuzhiyun #define ORANGEFS_VFS_OP_RA_FLUSH       0xFF00000D
33*4882a593Smuzhiyun #define ORANGEFS_VFS_OP_FS_MOUNT       0xFF00000E
34*4882a593Smuzhiyun #define ORANGEFS_VFS_OP_FS_UMOUNT      0xFF00000F
35*4882a593Smuzhiyun #define ORANGEFS_VFS_OP_GETXATTR       0xFF000010
36*4882a593Smuzhiyun #define ORANGEFS_VFS_OP_SETXATTR          0xFF000011
37*4882a593Smuzhiyun #define ORANGEFS_VFS_OP_LISTXATTR         0xFF000012
38*4882a593Smuzhiyun #define ORANGEFS_VFS_OP_REMOVEXATTR       0xFF000013
39*4882a593Smuzhiyun #define ORANGEFS_VFS_OP_PARAM          0xFF000014
40*4882a593Smuzhiyun #define ORANGEFS_VFS_OP_PERF_COUNT     0xFF000015
41*4882a593Smuzhiyun #define ORANGEFS_VFS_OP_CANCEL            0xFF00EE00
42*4882a593Smuzhiyun #define ORANGEFS_VFS_OP_FSYNC          0xFF00EE01
43*4882a593Smuzhiyun #define ORANGEFS_VFS_OP_FSKEY             0xFF00EE02
44*4882a593Smuzhiyun #define ORANGEFS_VFS_OP_READDIRPLUS       0xFF00EE03
45*4882a593Smuzhiyun #define ORANGEFS_VFS_OP_FEATURES	0xFF00EE05 /* 2.9.6 */
46*4882a593Smuzhiyun 
47*4882a593Smuzhiyun /* features is a 64-bit unsigned bitmask */
48*4882a593Smuzhiyun #define ORANGEFS_FEATURE_READAHEAD 1
49*4882a593Smuzhiyun 
50*4882a593Smuzhiyun /*
51*4882a593Smuzhiyun  * Misc constants. Please retain them as multiples of 8!
52*4882a593Smuzhiyun  * Otherwise 32-64 bit interactions will be messed up :)
53*4882a593Smuzhiyun  */
54*4882a593Smuzhiyun #define ORANGEFS_MAX_DEBUG_STRING_LEN	0x00000800
55*4882a593Smuzhiyun 
56*4882a593Smuzhiyun #define ORANGEFS_MAX_DIRENT_COUNT_READDIR 512
57*4882a593Smuzhiyun 
58*4882a593Smuzhiyun #include "upcall.h"
59*4882a593Smuzhiyun #include "downcall.h"
60*4882a593Smuzhiyun 
61*4882a593Smuzhiyun #endif
62