xref: /netbsd-src/share/examples/pud/intro/doioctl.c (revision 84b16ca6b7f678c31676bd015edfac27835faa81)
1*84b16ca6Sjmcneill /*	$NetBSD: doioctl.c,v 1.2 2021/07/06 09:30:07 jmcneill Exp $	*/
2a4b032e2Spooka 
3a4b032e2Spooka #include <sys/types.h>
4a4b032e2Spooka #include <sys/ioctl.h>
5a4b032e2Spooka 
6*84b16ca6Sjmcneill #include <err.h>
7a4b032e2Spooka #include <fcntl.h>
8a4b032e2Spooka #include <stdio.h>
9*84b16ca6Sjmcneill #include <stdlib.h>
10a4b032e2Spooka 
11a4b032e2Spooka #include "common.h"
12a4b032e2Spooka 
13a4b032e2Spooka int
main(int argc,char * argv[])14a4b032e2Spooka main(int argc, char *argv[])
15a4b032e2Spooka {
16a4b032e2Spooka 	int fd, i;
17a4b032e2Spooka 
18a4b032e2Spooka 	if (argc != 3 && argc != 4)
19a4b032e2Spooka 		errx(1, "args");
20a4b032e2Spooka 
21a4b032e2Spooka 	fd = open(argv[1], O_RDWR);
22a4b032e2Spooka 	if (fd == -1)
23a4b032e2Spooka 		err(1, "open");
24a4b032e2Spooka 
25a4b032e2Spooka 	i = atoi(argv[2]);
26a4b032e2Spooka 
27a4b032e2Spooka 	if (argc == 3)
28a4b032e2Spooka 		if (ioctl(fd, INTROTOGGLE, &i) == -1)
29a4b032e2Spooka 			err(1, "ioctl");
30a4b032e2Spooka 	else
31a4b032e2Spooka 		if (ioctl(fd, INTROTOGGLE_R, &i) == -1)
32a4b032e2Spooka 			err(1, "ioctl");
33a4b032e2Spooka 
34a4b032e2Spooka 	printf("i is now %d\n", i);
35a4b032e2Spooka }
36