xref: /openbmc/linux/fs/orangefs/orangefs-dev-proto.h (revision 498495dba268b20e8eadd7fe93c140c68b6cc9d2)
1*b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
2575e9461SMike Marshall /*
3575e9461SMike Marshall  * (C) 2001 Clemson University and The University of Chicago
4575e9461SMike Marshall  *
5575e9461SMike Marshall  * See COPYING in top-level directory.
6575e9461SMike Marshall  */
7575e9461SMike Marshall 
8575e9461SMike Marshall #ifndef _ORANGEFS_DEV_PROTO_H
9575e9461SMike Marshall #define _ORANGEFS_DEV_PROTO_H
10575e9461SMike Marshall 
11575e9461SMike Marshall /*
12575e9461SMike Marshall  * types and constants shared between user space and kernel space for
13575e9461SMike Marshall  * device interaction using a common protocol
14575e9461SMike Marshall  */
15575e9461SMike Marshall 
16575e9461SMike Marshall /*
17575e9461SMike Marshall  * valid orangefs kernel operation types
18575e9461SMike Marshall  */
19575e9461SMike Marshall #define ORANGEFS_VFS_OP_INVALID           0xFF000000
20575e9461SMike Marshall #define ORANGEFS_VFS_OP_FILE_IO        0xFF000001
21575e9461SMike Marshall #define ORANGEFS_VFS_OP_LOOKUP         0xFF000002
22575e9461SMike Marshall #define ORANGEFS_VFS_OP_CREATE         0xFF000003
23575e9461SMike Marshall #define ORANGEFS_VFS_OP_GETATTR        0xFF000004
24575e9461SMike Marshall #define ORANGEFS_VFS_OP_REMOVE         0xFF000005
25575e9461SMike Marshall #define ORANGEFS_VFS_OP_MKDIR          0xFF000006
26575e9461SMike Marshall #define ORANGEFS_VFS_OP_READDIR        0xFF000007
27575e9461SMike Marshall #define ORANGEFS_VFS_OP_SETATTR        0xFF000008
28575e9461SMike Marshall #define ORANGEFS_VFS_OP_SYMLINK        0xFF000009
29575e9461SMike Marshall #define ORANGEFS_VFS_OP_RENAME         0xFF00000A
30575e9461SMike Marshall #define ORANGEFS_VFS_OP_STATFS         0xFF00000B
31575e9461SMike Marshall #define ORANGEFS_VFS_OP_TRUNCATE       0xFF00000C
326eaff8c7SMartin Brandenburg #define ORANGEFS_VFS_OP_RA_FLUSH       0xFF00000D
33575e9461SMike Marshall #define ORANGEFS_VFS_OP_FS_MOUNT       0xFF00000E
34575e9461SMike Marshall #define ORANGEFS_VFS_OP_FS_UMOUNT      0xFF00000F
35575e9461SMike Marshall #define ORANGEFS_VFS_OP_GETXATTR       0xFF000010
36575e9461SMike Marshall #define ORANGEFS_VFS_OP_SETXATTR          0xFF000011
37575e9461SMike Marshall #define ORANGEFS_VFS_OP_LISTXATTR         0xFF000012
38575e9461SMike Marshall #define ORANGEFS_VFS_OP_REMOVEXATTR       0xFF000013
39575e9461SMike Marshall #define ORANGEFS_VFS_OP_PARAM          0xFF000014
40575e9461SMike Marshall #define ORANGEFS_VFS_OP_PERF_COUNT     0xFF000015
41575e9461SMike Marshall #define ORANGEFS_VFS_OP_CANCEL            0xFF00EE00
42575e9461SMike Marshall #define ORANGEFS_VFS_OP_FSYNC          0xFF00EE01
43575e9461SMike Marshall #define ORANGEFS_VFS_OP_FSKEY             0xFF00EE02
44575e9461SMike Marshall #define ORANGEFS_VFS_OP_READDIRPLUS       0xFF00EE03
45482664ddSMartin Brandenburg #define ORANGEFS_VFS_OP_FEATURES	0xFF00EE05 /* 2.9.6 */
46482664ddSMartin Brandenburg 
47482664ddSMartin Brandenburg /* features is a 64-bit unsigned bitmask */
48482664ddSMartin Brandenburg #define ORANGEFS_FEATURE_READAHEAD 1
49575e9461SMike Marshall 
50575e9461SMike Marshall /*
51575e9461SMike Marshall  * Misc constants. Please retain them as multiples of 8!
52575e9461SMike Marshall  * Otherwise 32-64 bit interactions will be messed up :)
53575e9461SMike Marshall  */
54eb68d032SMike Marshall #define ORANGEFS_MAX_DEBUG_STRING_LEN	0x00000800
55575e9461SMike Marshall 
56382f4581SMartin Brandenburg #define ORANGEFS_MAX_DIRENT_COUNT_READDIR 512
57575e9461SMike Marshall 
58575e9461SMike Marshall #include "upcall.h"
59575e9461SMike Marshall #include "downcall.h"
60575e9461SMike Marshall 
61575e9461SMike Marshall #endif
62