Mike Marshall | f7ab093 | 2015-07-17 10:38:11 -0400 | [diff] [blame] | 1 | /* |
| 2 | * (C) 2001 Clemson University and The University of Chicago |
| 3 | * |
| 4 | * See COPYING in top-level directory. |
| 5 | */ |
| 6 | |
Yi Liu | 8bb8aef | 2015-11-24 15:12:14 -0500 | [diff] [blame] | 7 | #ifndef _ORANGEFS_DEV_PROTO_H |
| 8 | #define _ORANGEFS_DEV_PROTO_H |
Mike Marshall | f7ab093 | 2015-07-17 10:38:11 -0400 | [diff] [blame] | 9 | |
| 10 | /* |
| 11 | * types and constants shared between user space and kernel space for |
| 12 | * device interaction using a common protocol |
| 13 | */ |
| 14 | |
| 15 | /* |
Yi Liu | 8bb8aef | 2015-11-24 15:12:14 -0500 | [diff] [blame] | 16 | * valid orangefs kernel operation types |
Mike Marshall | f7ab093 | 2015-07-17 10:38:11 -0400 | [diff] [blame] | 17 | */ |
Yi Liu | 8bb8aef | 2015-11-24 15:12:14 -0500 | [diff] [blame] | 18 | #define ORANGEFS_VFS_OP_INVALID 0xFF000000 |
| 19 | #define ORANGEFS_VFS_OP_FILE_IO 0xFF000001 |
| 20 | #define ORANGEFS_VFS_OP_LOOKUP 0xFF000002 |
| 21 | #define ORANGEFS_VFS_OP_CREATE 0xFF000003 |
| 22 | #define ORANGEFS_VFS_OP_GETATTR 0xFF000004 |
| 23 | #define ORANGEFS_VFS_OP_REMOVE 0xFF000005 |
| 24 | #define ORANGEFS_VFS_OP_MKDIR 0xFF000006 |
| 25 | #define ORANGEFS_VFS_OP_READDIR 0xFF000007 |
| 26 | #define ORANGEFS_VFS_OP_SETATTR 0xFF000008 |
| 27 | #define ORANGEFS_VFS_OP_SYMLINK 0xFF000009 |
| 28 | #define ORANGEFS_VFS_OP_RENAME 0xFF00000A |
| 29 | #define ORANGEFS_VFS_OP_STATFS 0xFF00000B |
| 30 | #define ORANGEFS_VFS_OP_TRUNCATE 0xFF00000C |
Martin Brandenburg | 6eaff8c | 2016-08-02 14:31:05 -0400 | [diff] [blame] | 31 | #define ORANGEFS_VFS_OP_RA_FLUSH 0xFF00000D |
Yi Liu | 8bb8aef | 2015-11-24 15:12:14 -0500 | [diff] [blame] | 32 | #define ORANGEFS_VFS_OP_FS_MOUNT 0xFF00000E |
| 33 | #define ORANGEFS_VFS_OP_FS_UMOUNT 0xFF00000F |
| 34 | #define ORANGEFS_VFS_OP_GETXATTR 0xFF000010 |
| 35 | #define ORANGEFS_VFS_OP_SETXATTR 0xFF000011 |
| 36 | #define ORANGEFS_VFS_OP_LISTXATTR 0xFF000012 |
| 37 | #define ORANGEFS_VFS_OP_REMOVEXATTR 0xFF000013 |
| 38 | #define ORANGEFS_VFS_OP_PARAM 0xFF000014 |
| 39 | #define ORANGEFS_VFS_OP_PERF_COUNT 0xFF000015 |
| 40 | #define ORANGEFS_VFS_OP_CANCEL 0xFF00EE00 |
| 41 | #define ORANGEFS_VFS_OP_FSYNC 0xFF00EE01 |
| 42 | #define ORANGEFS_VFS_OP_FSKEY 0xFF00EE02 |
| 43 | #define ORANGEFS_VFS_OP_READDIRPLUS 0xFF00EE03 |
Martin Brandenburg | 482664d | 2016-08-12 12:02:31 -0400 | [diff] [blame] | 44 | #define ORANGEFS_VFS_OP_FEATURES 0xFF00EE05 /* 2.9.6 */ |
| 45 | |
| 46 | /* features is a 64-bit unsigned bitmask */ |
| 47 | #define ORANGEFS_FEATURE_READAHEAD 1 |
Mike Marshall | f7ab093 | 2015-07-17 10:38:11 -0400 | [diff] [blame] | 48 | |
| 49 | /* |
| 50 | * Misc constants. Please retain them as multiples of 8! |
| 51 | * Otherwise 32-64 bit interactions will be messed up :) |
| 52 | */ |
Mike Marshall | eb68d03 | 2017-02-07 12:41:02 -0500 | [diff] [blame] | 53 | #define ORANGEFS_MAX_DEBUG_STRING_LEN 0x00000800 |
Mike Marshall | f7ab093 | 2015-07-17 10:38:11 -0400 | [diff] [blame] | 54 | |
| 55 | /* |
Martin Brandenburg | 7d22148 | 2016-01-04 15:05:28 -0500 | [diff] [blame] | 56 | * The maximum number of directory entries in a single request is 96. |
| 57 | * XXX: Why can this not be higher. The client-side code can handle up to 512. |
| 58 | * XXX: What happens if we expect more than the client can return? |
| 59 | */ |
| 60 | #define ORANGEFS_MAX_DIRENT_COUNT_READDIR 96 |
Mike Marshall | f7ab093 | 2015-07-17 10:38:11 -0400 | [diff] [blame] | 61 | |
| 62 | #include "upcall.h" |
| 63 | #include "downcall.h" |
| 64 | |
Mike Marshall | f7ab093 | 2015-07-17 10:38:11 -0400 | [diff] [blame] | 65 | #endif |