162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * (C) 2001 Clemson University and The University of Chicago 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * See COPYING in top-level directory. 662306a36Sopenharmony_ci */ 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci#ifndef _ORANGEFS_DEV_PROTO_H 962306a36Sopenharmony_ci#define _ORANGEFS_DEV_PROTO_H 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci/* 1262306a36Sopenharmony_ci * types and constants shared between user space and kernel space for 1362306a36Sopenharmony_ci * device interaction using a common protocol 1462306a36Sopenharmony_ci */ 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ci/* 1762306a36Sopenharmony_ci * valid orangefs kernel operation types 1862306a36Sopenharmony_ci */ 1962306a36Sopenharmony_ci#define ORANGEFS_VFS_OP_INVALID 0xFF000000 2062306a36Sopenharmony_ci#define ORANGEFS_VFS_OP_FILE_IO 0xFF000001 2162306a36Sopenharmony_ci#define ORANGEFS_VFS_OP_LOOKUP 0xFF000002 2262306a36Sopenharmony_ci#define ORANGEFS_VFS_OP_CREATE 0xFF000003 2362306a36Sopenharmony_ci#define ORANGEFS_VFS_OP_GETATTR 0xFF000004 2462306a36Sopenharmony_ci#define ORANGEFS_VFS_OP_REMOVE 0xFF000005 2562306a36Sopenharmony_ci#define ORANGEFS_VFS_OP_MKDIR 0xFF000006 2662306a36Sopenharmony_ci#define ORANGEFS_VFS_OP_READDIR 0xFF000007 2762306a36Sopenharmony_ci#define ORANGEFS_VFS_OP_SETATTR 0xFF000008 2862306a36Sopenharmony_ci#define ORANGEFS_VFS_OP_SYMLINK 0xFF000009 2962306a36Sopenharmony_ci#define ORANGEFS_VFS_OP_RENAME 0xFF00000A 3062306a36Sopenharmony_ci#define ORANGEFS_VFS_OP_STATFS 0xFF00000B 3162306a36Sopenharmony_ci#define ORANGEFS_VFS_OP_TRUNCATE 0xFF00000C 3262306a36Sopenharmony_ci#define ORANGEFS_VFS_OP_RA_FLUSH 0xFF00000D 3362306a36Sopenharmony_ci#define ORANGEFS_VFS_OP_FS_MOUNT 0xFF00000E 3462306a36Sopenharmony_ci#define ORANGEFS_VFS_OP_FS_UMOUNT 0xFF00000F 3562306a36Sopenharmony_ci#define ORANGEFS_VFS_OP_GETXATTR 0xFF000010 3662306a36Sopenharmony_ci#define ORANGEFS_VFS_OP_SETXATTR 0xFF000011 3762306a36Sopenharmony_ci#define ORANGEFS_VFS_OP_LISTXATTR 0xFF000012 3862306a36Sopenharmony_ci#define ORANGEFS_VFS_OP_REMOVEXATTR 0xFF000013 3962306a36Sopenharmony_ci#define ORANGEFS_VFS_OP_PARAM 0xFF000014 4062306a36Sopenharmony_ci#define ORANGEFS_VFS_OP_PERF_COUNT 0xFF000015 4162306a36Sopenharmony_ci#define ORANGEFS_VFS_OP_CANCEL 0xFF00EE00 4262306a36Sopenharmony_ci#define ORANGEFS_VFS_OP_FSYNC 0xFF00EE01 4362306a36Sopenharmony_ci#define ORANGEFS_VFS_OP_FSKEY 0xFF00EE02 4462306a36Sopenharmony_ci#define ORANGEFS_VFS_OP_READDIRPLUS 0xFF00EE03 4562306a36Sopenharmony_ci#define ORANGEFS_VFS_OP_FEATURES 0xFF00EE05 /* 2.9.6 */ 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ci/* features is a 64-bit unsigned bitmask */ 4862306a36Sopenharmony_ci#define ORANGEFS_FEATURE_READAHEAD 1 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ci/* 5162306a36Sopenharmony_ci * Misc constants. Please retain them as multiples of 8! 5262306a36Sopenharmony_ci * Otherwise 32-64 bit interactions will be messed up :) 5362306a36Sopenharmony_ci */ 5462306a36Sopenharmony_ci#define ORANGEFS_MAX_DEBUG_STRING_LEN 0x00000800 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ci#define ORANGEFS_MAX_DIRENT_COUNT_READDIR 512 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ci#include "upcall.h" 5962306a36Sopenharmony_ci#include "downcall.h" 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ci#endif 62