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