Lines Matching refs:args

183 unsigned int fuse_len_args(unsigned int numargs, struct fuse_arg *args)
189 nbytes += args[i].size;
230 fuse_len_args(req->args->in_numargs,
231 (struct fuse_arg *) req->args->in_args);
332 req->args->end(fm, req->args, req->out.h.error);
436 static void fuse_adjust_compat(struct fuse_conn *fc, struct fuse_args *args)
438 if (fc->minor < 4 && args->opcode == FUSE_STATFS)
439 args->out_args[0].size = FUSE_COMPAT_STATFS_SIZE;
442 switch (args->opcode) {
449 args->out_args[0].size = FUSE_COMPAT_ENTRY_OUT_SIZE;
453 args->out_args[0].size = FUSE_COMPAT_ATTR_OUT_SIZE;
458 switch (args->opcode) {
460 args->in_args[0].size = sizeof(struct fuse_open_in);
463 args->in_args[0].size = FUSE_COMPAT_MKNOD_IN_SIZE;
478 static void fuse_args_to_req(struct fuse_req *req, struct fuse_args *args)
480 req->in.h.opcode = args->opcode;
481 req->in.h.nodeid = args->nodeid;
482 req->args = args;
483 if (args->end)
487 ssize_t fuse_simple_request(struct fuse_mount *fm, struct fuse_args *args)
493 if (args->force) {
497 if (!args->nocreds)
503 WARN_ON(args->nocreds);
510 fuse_adjust_compat(fc, args);
511 fuse_args_to_req(req, args);
513 if (!args->noreply)
517 if (!ret && args->out_argvar) {
518 BUG_ON(args->out_numargs == 0);
519 ret = args->out_args[args->out_numargs - 1].size;
556 int fuse_simple_background(struct fuse_mount *fm, struct fuse_args *args,
561 if (args->force) {
562 WARN_ON(!args->nocreds);
568 WARN_ON(args->nocreds);
574 fuse_args_to_req(req, args);
586 struct fuse_args *args, u64 unique)
599 fuse_args_to_req(req, args);
952 if (cs->req->args->user_pages) {
990 struct fuse_args_pages *ap = container_of(req->args, typeof(*ap), args);
1023 unsigned argpages, struct fuse_arg *args,
1030 struct fuse_arg *arg = &args[i];
1221 struct fuse_args *args;
1282 args = req->args;
1289 if (args->opcode == FUSE_SETXATTR)
1309 err = fuse_copy_args(cs, args->in_numargs, args->in_pages,
1310 (struct fuse_arg *) args->in_args, 0);
1662 static void fuse_retrieve_end(struct fuse_mount *fm, struct fuse_args *args,
1666 container_of(args, typeof(*ra), ap.args);
1687 struct fuse_args *args;
1711 args = &ap->args;
1712 args->nodeid = outarg->nodeid;
1713 args->opcode = FUSE_NOTIFY_REPLY;
1714 args->in_numargs = 2;
1715 args->in_pages = true;
1716 args->end = fuse_retrieve_end;
1741 args->in_args[0].size = sizeof(ra->inarg);
1742 args->in_args[0].value = &ra->inarg;
1743 args->in_args[1].size = total_len;
1745 err = fuse_simple_notify_reply(fm, args, outarg->notify_unique);
1747 fuse_retrieve_end(fm, args, err);
1833 static int copy_out_args(struct fuse_copy_state *cs, struct fuse_args *args,
1838 reqsize += fuse_len_args(args->out_numargs, args->out_args);
1840 if (reqsize < nbytes || (reqsize > nbytes && !args->out_argvar))
1843 struct fuse_arg *lastarg = &args->out_args[args->out_numargs-1];
1850 return fuse_copy_args(cs, args->out_numargs, args->out_pages,
1851 args->out_args, args->page_zeroing);
1930 if (!req->args->page_replace)
1936 err = copy_out_args(cs, req->args, nbytes);