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