Formerly unix/ioctls-tmpl.c.~7~
[kopensolaris-gnu/glibc.git] / sysdeps / unix / ioctls-tmpl.c
1 /* On SVR4, this #define is necessary to make <sys/ioctl.h> define
2    many of the ioctls.  */
3 #define BSD_COMP
4
5 #include <sys/types.h>
6 #include <sys/param.h>
7
8 /* On SunOS 4.1, <sys/ioctl.h> and <sys/termios.h> define some symbols
9    with different values, but <sys/termios.h> defines some ioctl symbols
10    not in <sys/ioctl.h>, so we need it.  Our <sys/ioctl.h> should define
11    them with the values from Sun's <sys/ioctl.h>, not <sys/termios.h>.
12    So we include <sys/termios.h> and let <sys/ioctl.h> redefine things.
13    This produces some spurious warnings.  */
14
15 #ifdef HAVE_sys_termios_h
16 #include <sys/termios.h>
17 #endif
18
19 /* This causes <sys/ioctl.h> to define some necessary data structure.  */
20 #ifdef sony_news
21 #define KANJI
22 #endif
23
24 #include <sys/ioctl.h>
25
26 #ifdef  SIOCGIFCONF
27 #include <sys/socket.h>
28 #include <sys/time.h>
29 #include <net/if.h>
30 #include <net/route.h>
31 #if     defined(SIOCGARP) && !defined(ARPOP_REQUEST)
32 #include <net/if_arp.h>
33 #endif
34 #ifdef  SIOCGNIT
35 #ifdef HAVE_net_nit_h
36 #include <net/nit.h>
37 #else
38 #undef SIOCGNIT
39 #undef SIOCSNIT
40 #endif
41 #endif
42
43 /* These exist on Sequents.  */
44 #ifdef SMIOSTATS
45 #include <sec/sec.h>
46 #include <sec/sm.h>
47 #endif
48 #ifdef SMIOGETREBOOT0
49 #include <i386/cfg.h>
50 #endif
51 #ifdef ZIOCBCMD
52 #include <zdc/zdc.h>
53 #endif
54
55 /* These exist under Ultrix, but I figured there may be others.  */
56 #ifdef DIOCGETPT
57 #include <ufs/fs.h>             /* for DIOC* */
58 #endif
59 #ifdef DEVGETGEOM
60 #include <sys/devio.h>
61 #endif
62
63 #ifdef ultrix
64 /* Ultrix has a conditional include that brings these in; we have to force
65    their inclusion when we actually compile them.  */
66 #undef TCGETA
67 #undef TCSETA
68 #undef TCSETAW
69 #undef TCSETAF
70 #undef TCGETP
71 #undef TCSANOW
72 #undef TCSADRAIN
73 #undef TCSAFLUSH
74 #ifdef ELSETPID
75 #include <sys/un.h> /* get sockaddr_un for elcsd.h */
76 #include <elcsd.h>
77 #endif
78 #ifdef DKIOCDOP
79 #include <sys/dkio.h>
80 #endif
81 /* Couldn't find the header where the structures used by these are
82    defined; it looks like an unbundled LAT package or something.  */
83 #undef LIOCSOL
84 #undef LIOCRES
85 #undef LIOCCMD
86 #undef LIOCINI
87 #undef LIOCTTYI
88 #undef LIOCCONN
89 /* struct mtop hasn't been in sys/mtio.h since 4.1 */
90 #undef MTIOCTOP
91 #undef MTIOCGET
92 #endif
93
94 #if defined(__osf__) && defined(__alpha__)
95 #include <sys/ioctl_compat.h>   /* To get TIOCGETP, etc.  */
96 #include <alpha/pt.h>           /* for DIOC* */
97 #include <sys/mtio.h>           /* for MTIOC* */
98 /* The binlog_getstatus structure doesn't seem to be defined.  */
99 #undef BINLOG_GETSTATUS
100 /* Can't find `struct ifdata' anywhere.  */
101 #undef SIOCMANREQ
102 #undef SIOCGETEVENTS
103 /* OSF/1 smells an awful lot like Ultrix.  */
104 #undef TCGETA
105 #undef TCSETA
106 #undef TCSETAF
107 #undef TCSETAW
108 /* This macro looks screwed in sys/devio.h.  */
109 #undef DEV_DISKPART
110 /* This is in sys/dkio.h, but we don't need it.  */
111 #undef DKIOCACC
112 #undef DKIOCDOP
113 #undef DKIOCEXCL
114 #undef DKIOCGET
115 #undef DKIOCHDR
116 #endif
117
118 #define DEFINE(name, value) \
119   printf("#define %s 0x%.8x\n", (name), (value))
120
121 int
122 main()
123 {
124   REQUESTS
125
126   exit(0);
127   return 0;
128 }