Use _IO_FILE_complete, not _IO_file_plus.
[kopensolaris-gnu/glibc.git] / misc / ioctltst.c
1 #include <stdio.h>
2 #include <errno.h>
3 #include <sys/types.h>
4 #include <sys/socket.h>
5 #include <sys/ioctl.h>
6 #include <net/if.h>
7 #include <netinet/in.h>
8
9 /*
10  * open a socket, get the process group information of the socket, and use the
11  * socket to get the network interface configuration list
12  */
13 main(int argc, char *argv[])
14 {
15   int sock;
16   int ioctl_result;
17
18   /* get a socket */
19   sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
20   if (sock < 0)
21     {
22       perror("Cannot create socket");
23       exit(1);
24     }
25
26   /* use ioctl() to get the process group information */
27   {
28     int get_process_group;
29
30     ioctl_result = ioctl(sock, SIOCGPGRP, (char *) &get_process_group);
31
32     if (ioctl_result < 0)
33       {
34         int my_errno = errno;
35
36         fprintf(stderr, "errno %d ", my_errno);
37         perror("ioctl(get process group)");
38       }
39   }
40
41   /* use ioctl() to get the interface configuration list */
42   {
43     static struct ifconf ifc;   /* init to 0 */
44
45     ioctl_result = ioctl(sock, SIOCGIFCONF, (char *) &ifc);
46
47     if (ioctl_result < 0)
48       {
49         int my_errno = errno;
50
51         fprintf(stderr, "errno %d ", my_errno);
52         perror("ioctl(get interface configuration list)");
53       }
54   }
55 }