From bcad1a6f22662ff0d04a6ae417adb30550252d97 Mon Sep 17 00:00:00 2001 From: Nikolaus Rath Date: Sun, 9 Oct 2016 19:50:51 -0700 Subject: Renamed ioctl and poll examples The new names should make it more obvious at first glance what each example demonstrates. --- example/ioctl_client.c | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 example/ioctl_client.c (limited to 'example/ioctl_client.c') diff --git a/example/ioctl_client.c b/example/ioctl_client.c new file mode 100644 index 0000000..83ede65 --- /dev/null +++ b/example/ioctl_client.c @@ -0,0 +1,73 @@ +/* + FUSE fioclient: FUSE ioctl example client + Copyright (C) 2008 SUSE Linux Products GmbH + Copyright (C) 2008 Tejun Heo + + This program tests the ioctl.c example file systsem. + + This program can be distributed under the terms of the GNU GPL. + See the file COPYING. +*/ + +/** @file + * @tableofcontents + * + * This program tests the ioctl.c example file systsem. + * + * \section section_compile compiling this example + * + * gcc -Wall ioctl_client.c -o ioctl_client + * + * \section section_source the complete source + * \include ioctl_client.c + */ + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include "ioctl.h" + +const char *usage = +"Usage: fioclient FIOC_FILE [size]\n" +"\n" +"Get size if is omitted, set size otherwise\n" +"\n"; + +int main(int argc, char **argv) +{ + size_t size; + int fd; + + if (argc < 2) { + fprintf(stderr, "%s", usage); + return 1; + } + + fd = open(argv[1], O_RDWR); + if (fd < 0) { + perror("open"); + return 1; + } + + if (argc == 2) { + if (ioctl(fd, FIOC_GET_SIZE, &size)) { + perror("ioctl"); + return 1; + } + printf("%zu\n", size); + } else { + size = strtoul(argv[2], NULL, 0); + if (ioctl(fd, FIOC_SET_SIZE, &size)) { + perror("ioctl"); + return 1; + } + } + return 0; +} -- cgit v1.2.3