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