aboutsummaryrefslogtreecommitdiffstats
path: root/lib/cuse_lowlevel.c
diff options
context:
space:
mode:
authorBernd Schubert <bschubert@ddn.com>2025-03-24 18:07:27 +0100
committerBernd Schubert <bernd@bsbernd.com>2025-04-28 19:57:39 +0200
commit2f4d7ca9c47d0266196578d45c6dad3bdcbee3e6 (patch)
tree28145d983bbd5c48a9071afc5b96f27a9df7165b /lib/cuse_lowlevel.c
parentd393ffa85b0926374c8df543a9ffc81b1d0ce232 (diff)
downloadlibfuse-2f4d7ca9c47d0266196578d45c6dad3bdcbee3e6.tar.gz
fuse_lowlevel: Add support for header/payload separation
Header/payload separation is part of the fuse-io-uring protocol and might be later on for /dev/fuse legacy communication as well. This is a preparation commit, for now fuse_ll_ops2 is unused. Signed-off-by: Bernd Schubert <bschubert@ddn.com>
Diffstat (limited to 'lib/cuse_lowlevel.c')
-rw-r--r--lib/cuse_lowlevel.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/cuse_lowlevel.c b/lib/cuse_lowlevel.c
index 5387f84..a25711b 100644
--- a/lib/cuse_lowlevel.c
+++ b/lib/cuse_lowlevel.c
@@ -192,9 +192,11 @@ static int cuse_reply_init(fuse_req_t req, struct cuse_init_out *arg,
return fuse_send_reply_iov_nofree(req, 0, iov, 3);
}
-void cuse_lowlevel_init(fuse_req_t req, fuse_ino_t nodeid, const void *inarg)
+void _cuse_lowlevel_init(fuse_req_t req, const fuse_ino_t nodeid,
+ const void *op_in, const void *req_payload)
{
- struct fuse_init_in *arg = (struct fuse_init_in *) inarg;
+ const struct fuse_init_in *arg = op_in;
+ (void)req_payload;
struct cuse_init_out outarg;
struct fuse_session *se = req->se;
struct cuse_data *cd = se->cuse_data;
@@ -263,6 +265,11 @@ void cuse_lowlevel_init(fuse_req_t req, fuse_ino_t nodeid, const void *inarg)
fuse_free_req(req);
}
+void cuse_lowlevel_init(fuse_req_t req, fuse_ino_t nodeid, const void *inarg)
+{
+ _cuse_lowlevel_init(req, nodeid, inarg, NULL);
+}
+
struct fuse_session *cuse_lowlevel_setup(int argc, char *argv[],
const struct cuse_info *ci,
const struct cuse_lowlevel_ops *clop,