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