linux/fs/orangefs/orangefs-dev-proto.h

/* SPDX-License-Identifier: GPL-2.0 */
/*
 * (C) 2001 Clemson University and The University of Chicago
 *
 * See COPYING in top-level directory.
 */

#ifndef _ORANGEFS_DEV_PROTO_H
#define _ORANGEFS_DEV_PROTO_H

/*
 * types and constants shared between user space and kernel space for
 * device interaction using a common protocol
 */

/*
 * valid orangefs kernel operation types
 */
#define ORANGEFS_VFS_OP_INVALID
#define ORANGEFS_VFS_OP_FILE_IO
#define ORANGEFS_VFS_OP_LOOKUP
#define ORANGEFS_VFS_OP_CREATE
#define ORANGEFS_VFS_OP_GETATTR
#define ORANGEFS_VFS_OP_REMOVE
#define ORANGEFS_VFS_OP_MKDIR
#define ORANGEFS_VFS_OP_READDIR
#define ORANGEFS_VFS_OP_SETATTR
#define ORANGEFS_VFS_OP_SYMLINK
#define ORANGEFS_VFS_OP_RENAME
#define ORANGEFS_VFS_OP_STATFS
#define ORANGEFS_VFS_OP_TRUNCATE
#define ORANGEFS_VFS_OP_RA_FLUSH
#define ORANGEFS_VFS_OP_FS_MOUNT
#define ORANGEFS_VFS_OP_FS_UMOUNT
#define ORANGEFS_VFS_OP_GETXATTR
#define ORANGEFS_VFS_OP_SETXATTR
#define ORANGEFS_VFS_OP_LISTXATTR
#define ORANGEFS_VFS_OP_REMOVEXATTR
#define ORANGEFS_VFS_OP_PARAM
#define ORANGEFS_VFS_OP_PERF_COUNT
#define ORANGEFS_VFS_OP_CANCEL
#define ORANGEFS_VFS_OP_FSYNC
#define ORANGEFS_VFS_OP_FSKEY
#define ORANGEFS_VFS_OP_READDIRPLUS
#define ORANGEFS_VFS_OP_FEATURES

/* features is a 64-bit unsigned bitmask */
#define ORANGEFS_FEATURE_READAHEAD

/*
 * Misc constants. Please retain them as multiples of 8!
 * Otherwise 32-64 bit interactions will be messed up :)
 */
#define ORANGEFS_MAX_DEBUG_STRING_LEN

#define ORANGEFS_MAX_DIRENT_COUNT_READDIR

#include "upcall.h"
#include "downcall.h"

#endif