Lines Matching refs:arg

198 static int send_reply(fuse_req_t req, int error, const void *arg,
205 iov[1].iov_base = (void *)(uintptr_t) arg;
282 static int send_reply_ok(fuse_req_t req, const void *arg, size_t argsize)
284 return send_reply(req, 0, arg, argsize);
320 static void fill_entry(struct fuse_entry_out *arg,
323 arg->nodeid = e->ino;
324 arg->generation = e->generation;
325 arg->entry_valid = calc_timeout_sec(e->entry_timeout);
326 arg->entry_valid_nsec = calc_timeout_nsec(e->entry_timeout);
327 arg->attr_valid = calc_timeout_sec(e->attr_timeout);
328 arg->attr_valid_nsec = calc_timeout_nsec(e->attr_timeout);
329 convert_stat(&e->attr, &arg->attr);
332 static void fill_open(struct fuse_open_out *arg,
335 arg->fh = f->fh;
337 arg->open_flags |= FOPEN_DIRECT_IO;
339 arg->open_flags |= FOPEN_KEEP_CACHE;
344 struct fuse_entry_out arg;
351 memset(&arg, 0, sizeof(arg));
352 fill_entry(&arg, e);
353 return send_reply_ok(req, &arg, (req->f->conn.proto_minor >= 12
354 ? sizeof(arg) : FUSE_COMPAT_ENTRY_OUT_SIZE));
363 } arg;
365 memset(&arg, 0, sizeof(arg));
366 fill_entry(&arg.e, e);
369 ((char*)&arg + FUSE_COMPAT_ENTRY_OUT_SIZE), f);
370 return send_reply_ok(req, &arg,
373 fill_open(&arg.o, f);
374 return send_reply_ok(req, &arg, sizeof(arg));
381 struct fuse_attr_out arg;
383 memset(&arg, 0, sizeof(arg));
384 arg.attr_valid = calc_timeout_sec(attr_timeout);
385 arg.attr_valid_nsec = calc_timeout_nsec(attr_timeout);
386 convert_stat(attr, &arg.attr);
388 return send_reply_ok(req, &arg, (req->f->conn.proto_minor >= 12
389 ? sizeof(arg) : FUSE_COMPAT_FUSE_ATTR_OUT_SIZE));
399 struct fuse_open_out arg;
401 memset(&arg, 0, sizeof(arg));
402 fill_open(&arg, f);
403 return send_reply_ok(req, &arg, sizeof(arg));
408 struct fuse_write_out arg;
410 memset(&arg, 0, sizeof(arg));
411 arg.size = count;
413 return send_reply_ok(req, &arg, sizeof(arg));
423 struct fuse_statfs_out arg;
424 size_t size = req->f->conn.proto_minor < 4 ? FUSE_COMPAT_STATFS_SIZE : sizeof(arg);
426 memset(&arg, 0, sizeof(arg));
427 convert_statfs(stbuf, &arg.st);
429 return send_reply_ok(req, &arg, size);
434 struct fuse_getxattr_out arg;
436 memset(&arg, 0, sizeof(arg));
437 arg.size = count;
439 return send_reply_ok(req, &arg, sizeof(arg));
444 struct fuse_lk_out arg;
446 memset(&arg, 0, sizeof(arg));
447 arg.lk.type = lock->l_type;
449 arg.lk.start = lock->l_start;
451 arg.lk.end = OFFSET_MAX;
453 arg.lk.end = lock->l_start + lock->l_len - 1;
455 arg.lk.pid = lock->l_pid;
456 return send_reply_ok(req, &arg, sizeof(arg));
461 struct fuse_bmap_out arg;
463 memset(&arg, 0, sizeof(arg));
464 arg.block = idx;
466 return send_reply_ok(req, &arg, sizeof(arg));
471 struct fuse_ioctl_out arg;
475 memset(&arg, 0, sizeof(arg));
476 arg.result = result;
477 iov[count].iov_base = &arg;
478 iov[count].iov_len = sizeof(arg);
503 const struct fuse_forget_in *arg = (const struct fuse_forget_in *) inarg;
506 req->f->op.forget(req, nodeid, arg->nlookup);
523 const struct fuse_setattr_in *arg = (const struct fuse_setattr_in *) inarg;
530 convert_attr(arg, &stbuf);
531 if (arg->valid & FATTR_FH) {
534 fi->fh = arg->fh;
537 req->f->op.setattr(req, nodeid, &stbuf, arg->valid & ~FATTR_FH, fi);
544 const struct fuse_access_in *arg = (const struct fuse_access_in *) inarg;
547 req->f->op.access(req, nodeid, arg->mask);
564 const struct fuse_mknod_in *arg = (const struct fuse_mknod_in *) inarg;
565 const char *name = PARAM(arg);
568 req->ctx.umask = arg->umask;
575 * Must unpack the device, as arg->rdev is limited to 32 bits,
578 req->f->op.mknod(req, nodeid, name, arg->mode,
579 makedev((arg->rdev >> 18) & 0x3fff,
580 arg->rdev & 0x3ffff));
582 req->f->op.mknod(req, nodeid, name, arg->mode, arg->rdev);
590 const struct fuse_mkdir_in *arg = (const struct fuse_mkdir_in *) inarg;
593 req->ctx.umask = arg->umask;
596 req->f->op.mkdir(req, nodeid, PARAM(arg), arg->mode);
634 const struct fuse_rename_in *arg = (const struct fuse_rename_in *) inarg;
635 const char *oldname = PARAM(arg);
639 req->f->op.rename(req, nodeid, oldname, arg->newdir, newname);
646 const struct fuse_link_in *arg = (const struct fuse_link_in *) inarg;
649 req->f->op.link(req, arg->oldnodeid, nodeid, PARAM(arg));
656 const struct fuse_create_in *arg = (const struct fuse_create_in *) inarg;
660 const char *name = PARAM(arg);
663 fi.flags = arg->flags;
666 req->ctx.umask = arg->umask;
670 req->f->op.create(req, nodeid, name, arg->mode, &fi);
677 const struct fuse_open_in *arg = (const struct fuse_open_in *) inarg;
681 fi.flags = arg->flags;
691 const struct fuse_read_in *arg = (const struct fuse_read_in *) inarg;
697 fi.fh = arg->fh;
699 req->f->op.read(req, nodeid, arg->size, arg->offset, &fi);
706 const struct fuse_write_in *arg = (const struct fuse_write_in *) inarg;
710 fi.fh = arg->fh;
712 fi.writepage = arg->write_flags & 1;
718 buf = PARAM(arg);
720 buf = ((const char*)arg) + FUSE_COMPAT_WRITE_IN_SIZE;
721 req->f->op.write(req, nodeid, buf, arg->size, arg->offset, &fi);
728 const struct fuse_flush_in *arg = (const struct fuse_flush_in *) inarg;
732 fi.fh = arg->fh;
736 fi.lock_owner = arg->lock_owner;
746 const struct fuse_release_in *arg = (const struct fuse_release_in *) inarg;
750 fi.flags = arg->flags;
751 fi.fh = arg->fh;
754 fi.flush = (arg->release_flags & FUSE_RELEASE_FLUSH) ? 1 : 0;
755 fi.lock_owner = arg->lock_owner;
766 const struct fuse_fsync_in *arg = (const struct fuse_fsync_in *) inarg;
770 fi.fh = arg->fh;
774 req->f->op.fsync(req, nodeid, arg->fsync_flags & 1, &fi);
781 const struct fuse_open_in *arg = (const struct fuse_open_in *) inarg;
785 fi.flags = arg->flags;
795 const struct fuse_read_in *arg = (const struct fuse_read_in *) inarg;
799 fi.fh = arg->fh;
803 req->f->op.readdir(req, nodeid, arg->size, arg->offset, &fi);
810 const struct fuse_release_in *arg = (const struct fuse_release_in *) inarg;
814 fi.flags = arg->flags;
815 fi.fh = arg->fh;
826 const struct fuse_fsync_in *arg = (const struct fuse_fsync_in *) inarg;
830 fi.fh = arg->fh;
834 req->f->op.fsyncdir(req, nodeid, arg->fsync_flags & 1, &fi);
857 const struct fuse_setxattr_in *arg = (const struct fuse_setxattr_in *) inarg;
858 const char *name = PARAM(arg);
862 req->f->op.setxattr(req, nodeid, name, value, arg->size, arg->flags);
869 const struct fuse_getxattr_in *arg = (const struct fuse_getxattr_in *) inarg;
872 req->f->op.getxattr(req, nodeid, PARAM(arg), arg->size);
879 const struct fuse_getxattr_in *arg = (const struct fuse_getxattr_in *) inarg;
882 req->f->op.listxattr(req, nodeid, arg->size);
913 const struct fuse_lk_in *arg = (const struct fuse_lk_in *) inarg;
918 fi.fh = arg->fh;
919 fi.lock_owner = arg->owner;
921 convert_fuse_file_lock(&arg->lk, &flock);
931 const struct fuse_lk_in *arg = (const struct fuse_lk_in *) inarg;
936 fi.fh = arg->fh;
937 fi.lock_owner = arg->owner;
939 convert_fuse_file_lock(&arg->lk, &flock);
992 const struct fuse_interrupt_in *arg = (const struct fuse_interrupt_in *) inarg;
997 fprintf(stderr, "INTERRUPT: %llu\n", (unsigned long long) arg->unique);
999 req->u.i.unique = arg->unique;
1032 const struct fuse_bmap_in *arg = (const struct fuse_bmap_in *) inarg;
1035 req->f->op.bmap(req, nodeid, arg->blocksize, arg->block);
1042 const struct fuse_ioctl_in *arg = (const struct fuse_ioctl_in *) inarg;
1043 unsigned int flags = arg->flags;
1044 const void *in_buf = arg->in_size ? PARAM(arg) : NULL;
1054 fi.fh = arg->fh;
1066 req->f->op.ioctl(req, nodeid, arg->cmd,
1067 (void *)(uintptr_t)arg->arg, &fi, flags,
1068 in_buf, arg->in_size, arg->out_size);
1075 const struct fuse_init_in *arg = (const struct fuse_init_in *) inarg;
1082 fprintf(stderr, "INIT: %u.%u\n", arg->major, arg->minor);
1083 if (arg->major > 7 || (arg->major == 7 && arg->minor >= 6)) {
1084 fprintf(stderr, "flags=0x%08x\n", arg->flags);
1085 fprintf(stderr, "max_readahead=0x%08x\n", arg->max_readahead);
1088 f->conn.proto_major = arg->major;
1089 f->conn.proto_minor = arg->minor;
1091 if (arg->major < 7) {
1093 arg->major, arg->minor);
1098 if (arg->major > 7 || (arg->major == 7 && arg->minor >= 6)) {
1100 f->conn.async_read = arg->flags & FUSE_ASYNC_READ;
1101 if (arg->max_readahead < f->conn.max_readahead)
1102 f->conn.max_readahead = arg->max_readahead;
1104 if (arg->flags & FUSE_DONT_MASK)
1106 if (arg->flags & FUSE_POSIX_ACL)
1109 if (arg->flags & FUSE_BIG_WRITES)
1111 if (arg->flags & FUSE_HAS_IOCTL_DIR)
1141 if (arg->major > 7 || (arg->major == 7 && arg->minor >= 18)) {
1153 if ((arg->major < FUSE_KERNEL_MAJOR_FALLBACK)
1154 || ((arg->major == FUSE_KERNEL_MAJOR_FALLBACK)
1155 && (arg->minor < FUSE_KERNEL_MINOR_FALLBACK))) {
1156 outarg.major = arg->major;
1157 outarg.minor = arg->minor;
1185 send_reply_ok(req, &outarg, arg->minor < 5 ? 8 : sizeof(outarg));
1377 static int fuse_ll_opt_proc(void *data, const char *arg, int key,
1392 fprintf(stderr, "fuse: unknown option `%s'\n", arg);