1 /* SPDX-License-Identifier: GPL-2.0 */
3 * (C) 2001 Clemson University and The University of Chicago
5 * See COPYING in top-level directory.
9 * Definitions of downcalls used in Linux kernel module.
16 * Sanitized the device-client core interaction
17 * for clean 32-64 bit usage
19 struct orangefs_io_response
{
23 struct orangefs_lookup_response
{
24 struct orangefs_object_kref refn
;
27 struct orangefs_create_response
{
28 struct orangefs_object_kref refn
;
31 struct orangefs_symlink_response
{
32 struct orangefs_object_kref refn
;
35 struct orangefs_getattr_response
{
36 struct ORANGEFS_sys_attr_s attributes
;
37 char link_target
[ORANGEFS_NAME_MAX
];
40 struct orangefs_mkdir_response
{
41 struct orangefs_object_kref refn
;
44 struct orangefs_statfs_response
{
52 struct orangefs_fs_mount_response
{
55 struct orangefs_khandle root_khandle
;
58 /* the getxattr response is the attribute value */
59 struct orangefs_getxattr_response
{
62 char val
[ORANGEFS_MAX_XATTR_VALUELEN
];
65 /* the listxattr response is an array of attribute names */
66 struct orangefs_listxattr_response
{
70 char key
[ORANGEFS_MAX_XATTR_LISTLEN
* ORANGEFS_MAX_XATTR_NAMELEN
];
73 __s32 lengths
[ORANGEFS_MAX_XATTR_LISTLEN
];
76 struct orangefs_param_response
{
83 #define PERF_COUNT_BUF_SIZE 4096
84 struct orangefs_perf_count_response
{
85 char buffer
[PERF_COUNT_BUF_SIZE
];
88 #define FS_KEY_BUF_SIZE 4096
89 struct orangefs_fs_key_response
{
92 char fs_key
[FS_KEY_BUF_SIZE
];
96 struct orangefs_features_response
{
100 struct orangefs_downcall_s
{
103 /* currently trailer is used only by readdir */
108 struct orangefs_io_response io
;
109 struct orangefs_lookup_response lookup
;
110 struct orangefs_create_response create
;
111 struct orangefs_symlink_response sym
;
112 struct orangefs_getattr_response getattr
;
113 struct orangefs_mkdir_response mkdir
;
114 struct orangefs_statfs_response statfs
;
115 struct orangefs_fs_mount_response fs_mount
;
116 struct orangefs_getxattr_response getxattr
;
117 struct orangefs_listxattr_response listxattr
;
118 struct orangefs_param_response param
;
119 struct orangefs_perf_count_response perf_count
;
120 struct orangefs_fs_key_response fs_key
;
121 struct orangefs_features_response features
;
126 * The readdir response comes in the trailer. It is followed by the
127 * directory entries as described in dir.c.
130 struct orangefs_readdir_response_s
{
132 __u64 directory_version
;
134 __u32 orangefs_dirent_outcount
;
137 #endif /* __DOWNCALL_H */