| /* | |
| FUSE-ioctl: ioctl support for FUSE | |
| Copyright (C) 2008 SUSE Linux Products GmbH | |
| Copyright (C) 2008 Tejun Heo <teheo@suse.de> | |
| This program can be distributed under the terms of the GNU GPLv2. | |
| See the file COPYING. | |
| */ | |
| /** @file | |
| * @tableofcontents | |
| * | |
| * Header file to share definitions between the ioctl.c example file | |
| * system and the ioctl_client.c test program. | |
| * | |
| * \include ioctl.h | |
| */ | |
| #include <sys/types.h> | |
| #include <sys/uio.h> | |
| #include <sys/ioctl.h> | |
| enum { | |
| FIOC_GET_SIZE = _IOR('E', 0, size_t), | |
| FIOC_SET_SIZE = _IOW('E', 1, size_t), | |
| /* | |
| * The following two ioctls don't follow usual encoding rules | |
| * and transfer variable amount of data. | |
| */ | |
| FIOC_READ = _IO('E', 2), | |
| FIOC_WRITE = _IO('E', 3), | |
| }; | |
| struct fioc_rw_arg { | |
| off_t offset; | |
| void *buf; | |
| size_t size; | |
| size_t prev_size; /* out param for previous total size */ | |
| size_t new_size; /* out param for new total size */ | |
| }; |