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