blob: 4e3698382629696cefed7216c53cd3f0e0bd7f9d [file] [log] [blame]
bellard31e31b82003-02-18 22:55:36 +00001STRUCT_SPECIAL(termios)
2
3STRUCT(winsize,
4 TYPE_SHORT, TYPE_SHORT, TYPE_SHORT, TYPE_SHORT)
5
6STRUCT(serial_multiport_struct,
7 TYPE_INT, TYPE_INT, TYPE_CHAR, TYPE_CHAR, TYPE_INT, TYPE_CHAR, TYPE_CHAR,
ths5fafdf22007-09-16 21:08:06 +00008 TYPE_INT, TYPE_CHAR, TYPE_CHAR, TYPE_INT, TYPE_CHAR, TYPE_CHAR, TYPE_INT,
bellard31e31b82003-02-18 22:55:36 +00009 MK_ARRAY(TYPE_INT, 32))
10
11STRUCT(serial_icounter_struct,
12 TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT, MK_ARRAY(TYPE_INT, 16))
13
14STRUCT(sockaddr,
15 TYPE_SHORT, MK_ARRAY(TYPE_CHAR, 14))
16
17STRUCT(rtentry,
ths5fafdf22007-09-16 21:08:06 +000018 TYPE_ULONG, MK_STRUCT(STRUCT_sockaddr), MK_STRUCT(STRUCT_sockaddr), MK_STRUCT(STRUCT_sockaddr),
19 TYPE_SHORT, TYPE_SHORT, TYPE_ULONG, TYPE_PTRVOID, TYPE_SHORT, TYPE_PTRVOID,
bellard31e31b82003-02-18 22:55:36 +000020 TYPE_ULONG, TYPE_ULONG, TYPE_SHORT)
21
22STRUCT(ifmap,
ths5fafdf22007-09-16 21:08:06 +000023 TYPE_ULONG, TYPE_ULONG, TYPE_SHORT, TYPE_CHAR, TYPE_CHAR, TYPE_CHAR,
bellard31e31b82003-02-18 22:55:36 +000024 /* Spare 3 bytes */
25 TYPE_CHAR, TYPE_CHAR, TYPE_CHAR)
26
27/* The *_ifreq_list arrays deal with the fact that struct ifreq has unions */
28
29STRUCT(sockaddr_ifreq,
30 MK_ARRAY(TYPE_CHAR, IFNAMSIZ), MK_STRUCT(STRUCT_sockaddr))
ths3b46e622007-09-17 08:09:54 +000031
bellard31e31b82003-02-18 22:55:36 +000032STRUCT(short_ifreq,
33 MK_ARRAY(TYPE_CHAR, IFNAMSIZ), TYPE_SHORT)
34
35STRUCT(int_ifreq,
36 MK_ARRAY(TYPE_CHAR, IFNAMSIZ), TYPE_INT)
37
38STRUCT(ifmap_ifreq,
39 MK_ARRAY(TYPE_CHAR, IFNAMSIZ), MK_STRUCT(STRUCT_ifmap))
40
41STRUCT(char_ifreq,
42 MK_ARRAY(TYPE_CHAR, IFNAMSIZ),
43 MK_ARRAY(TYPE_CHAR, IFNAMSIZ))
44
45STRUCT(ptr_ifreq,
46 MK_ARRAY(TYPE_CHAR, IFNAMSIZ), TYPE_PTRVOID)
47
48STRUCT(ifconf,
49 TYPE_INT, TYPE_PTRVOID)
50
51STRUCT(arpreq,
ths5fafdf22007-09-16 21:08:06 +000052 MK_STRUCT(STRUCT_sockaddr), MK_STRUCT(STRUCT_sockaddr), TYPE_INT, MK_STRUCT(STRUCT_sockaddr),
bellard31e31b82003-02-18 22:55:36 +000053 MK_ARRAY(TYPE_CHAR, 16))
54
55STRUCT(arpreq_old,
56 MK_STRUCT(STRUCT_sockaddr), MK_STRUCT(STRUCT_sockaddr), TYPE_INT, MK_STRUCT(STRUCT_sockaddr))
57
58STRUCT(cdrom_read_audio,
59 TYPE_CHAR, TYPE_CHAR, TYPE_CHAR, TYPE_CHAR, TYPE_CHAR, TYPE_INT, TYPE_PTRVOID,
60 TYPE_NULL)
61
62STRUCT(hd_geometry,
63 TYPE_CHAR, TYPE_CHAR, TYPE_SHORT, TYPE_ULONG)
bellard1a9353d2003-03-16 20:28:50 +000064
65STRUCT(dirent,
66 TYPE_LONG, TYPE_LONG, TYPE_SHORT, MK_ARRAY(TYPE_CHAR, 256))
bellard0221cfc2003-05-10 12:38:16 +000067
68STRUCT(kbentry,
69 TYPE_CHAR, TYPE_CHAR, TYPE_SHORT)
bellard2521d692003-06-15 19:58:13 +000070
pbrook53a59602006-03-25 19:31:22 +000071STRUCT(kbsentry,
72 TYPE_CHAR, MK_ARRAY(TYPE_CHAR, 512))
73
bellard2521d692003-06-15 19:58:13 +000074STRUCT(audio_buf_info,
75 TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT)
76
77STRUCT(count_info,
78 TYPE_INT, TYPE_INT, TYPE_INT)
79
Peter Maydell5f723072012-07-23 08:06:15 +000080STRUCT(buffmem_desc,
81 TYPE_PTRVOID, TYPE_INT)
82
bellard2521d692003-06-15 19:58:13 +000083STRUCT(mixer_info,
84 MK_ARRAY(TYPE_CHAR, 16), MK_ARRAY(TYPE_CHAR, 32), TYPE_INT, MK_ARRAY(TYPE_INT, 10))
balrogb8005912008-04-26 14:44:49 +000085
86/* loop device ioctls */
87STRUCT(loop_info,
88 TYPE_INT, /* lo_number */
Alexander Graf6083abd2012-01-31 19:44:41 +010089 TYPE_OLDDEVT, /* lo_device */
balrogb8005912008-04-26 14:44:49 +000090 TYPE_ULONG, /* lo_inode */
Alexander Graf6083abd2012-01-31 19:44:41 +010091 TYPE_OLDDEVT, /* lo_rdevice */
balrogb8005912008-04-26 14:44:49 +000092 TYPE_INT, /* lo_offset */
93 TYPE_INT, /* lo_encrypt_type */
94 TYPE_INT, /* lo_encrypt_key_size */
95 TYPE_INT, /* lo_flags */
96 MK_ARRAY(TYPE_CHAR, 64), /* lo_name */
97 MK_ARRAY(TYPE_CHAR, 32), /* lo_encrypt_key */
98 MK_ARRAY(TYPE_ULONG, 2), /* lo_init */
99 MK_ARRAY(TYPE_CHAR, 4)) /* reserved */
100
101STRUCT(loop_info64,
102 TYPE_ULONGLONG, /* lo_device */
103 TYPE_ULONGLONG, /* lo_inode */
104 TYPE_ULONGLONG, /* lo_rdevice */
105 TYPE_ULONGLONG, /* lo_offset */
Peter Maydellf2c2fb52016-07-05 16:36:29 +0100106 TYPE_ULONGLONG, /* lo_sizelimit */
107 TYPE_INT, /* lo_number */
108 TYPE_INT, /* lo_encrypt_type */
109 TYPE_INT, /* lo_encrypt_key_size */
110 TYPE_INT, /* lo_flags */
balrogb8005912008-04-26 14:44:49 +0000111 MK_ARRAY(TYPE_CHAR, 64), /* lo_name */
112 MK_ARRAY(TYPE_CHAR, 64), /* lo_crypt_name */
113 MK_ARRAY(TYPE_CHAR, 32), /* lo_encrypt_key */
114 MK_ARRAY(TYPE_ULONGLONG, 2)) /* lo_init */
balrog8fbd6b52008-09-20 03:03:09 +0000115
116/* mag tape ioctls */
117STRUCT(mtop, TYPE_SHORT, TYPE_INT)
118STRUCT(mtget, TYPE_LONG, TYPE_LONG, TYPE_LONG, TYPE_LONG, TYPE_LONG,
119 TYPE_INT, TYPE_INT)
120STRUCT(mtpos, TYPE_LONG)
Ulrich Hechtf7680a52009-10-16 17:00:44 +0200121
122STRUCT(fb_fix_screeninfo,
123 MK_ARRAY(TYPE_CHAR, 16), /* id */
124 TYPE_ULONG, /* smem_start */
125 TYPE_INT, /* smem_len */
126 TYPE_INT, /* type */
127 TYPE_INT, /* type_aux */
128 TYPE_INT, /* visual */
129 TYPE_SHORT, /* xpanstep */
130 TYPE_SHORT, /* ypanstep */
131 TYPE_SHORT, /* ywrapstep */
132 TYPE_INT, /* line_length */
133 TYPE_ULONG, /* mmio_start */
134 TYPE_INT, /* mmio_len */
135 TYPE_INT, /* accel */
136 MK_ARRAY(TYPE_CHAR, 3)) /* reserved */
137
138STRUCT(fb_var_screeninfo,
139 TYPE_INT, /* xres */
140 TYPE_INT, /* yres */
141 TYPE_INT, /* xres_virtual */
142 TYPE_INT, /* yres_virtual */
143 TYPE_INT, /* xoffset */
144 TYPE_INT, /* yoffset */
145 TYPE_INT, /* bits_per_pixel */
146 TYPE_INT, /* grayscale */
147 MK_ARRAY(TYPE_INT, 3), /* red */
148 MK_ARRAY(TYPE_INT, 3), /* green */
149 MK_ARRAY(TYPE_INT, 3), /* blue */
150 MK_ARRAY(TYPE_INT, 3), /* transp */
151 TYPE_INT, /* nonstd */
152 TYPE_INT, /* activate */
153 TYPE_INT, /* height */
154 TYPE_INT, /* width */
155 TYPE_INT, /* accel_flags */
156 TYPE_INT, /* pixclock */
157 TYPE_INT, /* left_margin */
158 TYPE_INT, /* right_margin */
159 TYPE_INT, /* upper_margin */
160 TYPE_INT, /* lower_margin */
161 TYPE_INT, /* hsync_len */
162 TYPE_INT, /* vsync_len */
163 TYPE_INT, /* sync */
164 TYPE_INT, /* vmode */
165 TYPE_INT, /* rotate */
166 MK_ARRAY(TYPE_INT, 5)) /* reserved */
167
Cédric VINCENT12b81b72011-06-29 15:09:11 +0200168STRUCT(fb_cmap,
169 TYPE_INT, /* start */
170 TYPE_INT, /* len */
171 TYPE_PTRVOID, /* red */
172 TYPE_PTRVOID, /* green */
173 TYPE_PTRVOID, /* blue */
174 TYPE_PTRVOID) /* transp */
175
176STRUCT(fb_con2fbmap,
177 TYPE_INT, /* console */
178 TYPE_INT) /* framebuffer */
179
180
Ulrich Hechtf7680a52009-10-16 17:00:44 +0200181STRUCT(vt_stat,
182 TYPE_SHORT, /* v_active */
183 TYPE_SHORT, /* v_signal */
184 TYPE_SHORT) /* v_state */
Peter Maydell285da2b2011-01-06 15:04:18 +0000185
Cédric VINCENT774750c2011-06-29 15:09:10 +0200186STRUCT(vt_mode,
187 TYPE_CHAR, /* mode */
188 TYPE_CHAR, /* waitv */
189 TYPE_SHORT, /* relsig */
190 TYPE_SHORT, /* acqsig */
191 TYPE_SHORT) /* frsig */
192
Alexander Graf56e904e2012-01-31 18:42:06 +0100193STRUCT(dm_ioctl,
194 MK_ARRAY(TYPE_INT, 3), /* version */
195 TYPE_INT, /* data_size */
196 TYPE_INT, /* data_start */
197 TYPE_INT, /* target_count*/
198 TYPE_INT, /* open_count */
199 TYPE_INT, /* flags */
200 TYPE_INT, /* event_nr */
201 TYPE_INT, /* padding */
202 TYPE_ULONGLONG, /* dev */
203 MK_ARRAY(TYPE_CHAR, 128), /* name */
204 MK_ARRAY(TYPE_CHAR, 129), /* uuid */
205 MK_ARRAY(TYPE_CHAR, 7)) /* data */
206
207STRUCT(dm_target_spec,
208 TYPE_ULONGLONG, /* sector_start */
209 TYPE_ULONGLONG, /* length */
210 TYPE_INT, /* status */
211 TYPE_INT, /* next */
212 MK_ARRAY(TYPE_CHAR, 16)) /* target_type */
213
214STRUCT(dm_target_deps,
215 TYPE_INT, /* count */
216 TYPE_INT) /* padding */
217
218STRUCT(dm_name_list,
219 TYPE_ULONGLONG, /* dev */
220 TYPE_INT) /* next */
221
222STRUCT(dm_target_versions,
223 TYPE_INT, /* next */
224 MK_ARRAY(TYPE_INT, 3)) /* version*/
225
226STRUCT(dm_target_msg,
227 TYPE_ULONGLONG) /* sector */
228
Helge Deller21992cb2017-02-11 23:26:02 +0100229STRUCT(file_clone_range,
230 TYPE_LONGLONG, /* src_fd */
231 TYPE_ULONGLONG, /* src_offset */
232 TYPE_ULONGLONG, /* src_length */
233 TYPE_ULONGLONG) /* dest_offset */
234
Peter Maydell285da2b2011-01-06 15:04:18 +0000235STRUCT(fiemap_extent,
236 TYPE_ULONGLONG, /* fe_logical */
237 TYPE_ULONGLONG, /* fe_physical */
238 TYPE_ULONGLONG, /* fe_length */
239 MK_ARRAY(TYPE_ULONGLONG, 2), /* fe_reserved64[2] */
240 TYPE_INT, /* fe_flags */
241 MK_ARRAY(TYPE_INT, 3)) /* fe_reserved[3] */
242
243STRUCT(fiemap,
244 TYPE_ULONGLONG, /* fm_start */
245 TYPE_ULONGLONG, /* fm_length */
246 TYPE_INT, /* fm_flags */
247 TYPE_INT, /* fm_mapped_extents */
248 TYPE_INT, /* fm_extent_count */
249 TYPE_INT) /* fm_reserved */
Andreas Färberfff8c532014-01-18 07:38:30 +0100250
251STRUCT(blkpg_partition,
252 TYPE_LONGLONG, /* start */
253 TYPE_LONGLONG, /* length */
254 TYPE_INT, /* pno */
255 MK_ARRAY(TYPE_CHAR, BLKPG_DEVNAMELTH), /* devname */
256 MK_ARRAY(TYPE_CHAR, BLKPG_VOLNAMELTH)) /* volname */
257
258STRUCT(blkpg_ioctl_arg,
259 TYPE_INT, /* op */
260 TYPE_INT, /* flags */
261 TYPE_INT, /* datalen */
Alexander Grafa59b5e32014-08-22 13:15:50 +0200262 TYPE_PTRVOID) /* data */
Cortland Tölva6c753a62018-10-08 09:35:20 -0700263
264#if defined(CONFIG_USBFS)
265/* usb device ioctls */
266STRUCT(usbdevfs_ctrltransfer,
267 TYPE_CHAR, /* bRequestType */
268 TYPE_CHAR, /* bRequest */
269 TYPE_SHORT, /* wValue */
270 TYPE_SHORT, /* wIndex */
271 TYPE_SHORT, /* wLength */
272 TYPE_INT, /* timeout */
273 TYPE_PTRVOID) /* data */
274
275STRUCT(usbdevfs_bulktransfer,
276 TYPE_INT, /* ep */
277 TYPE_INT, /* len */
278 TYPE_INT, /* timeout */
279 TYPE_PTRVOID) /* data */
280
281STRUCT(usbdevfs_setinterface,
282 TYPE_INT, /* interface */
283 TYPE_INT) /* altsetting */
284
285STRUCT(usbdevfs_disconnectsignal,
286 TYPE_INT, /* signr */
287 TYPE_PTRVOID) /* context */
288
289STRUCT(usbdevfs_getdriver,
290 TYPE_INT, /* interface */
291 MK_ARRAY(TYPE_CHAR, USBDEVFS_MAXDRIVERNAME + 1)) /* driver */
292
293STRUCT(usbdevfs_connectinfo,
294 TYPE_INT, /* devnum */
295 TYPE_CHAR) /* slow */
296
Cortland Tölvaa1333672018-10-08 09:35:21 -0700297STRUCT(usbdevfs_iso_packet_desc,
298 TYPE_INT, /* length */
299 TYPE_INT, /* actual_length */
300 TYPE_INT) /* status */
301
302STRUCT(usbdevfs_urb,
303 TYPE_CHAR, /* type */
304 TYPE_CHAR, /* endpoint */
305 TYPE_INT, /* status */
306 TYPE_INT, /* flags */
307 TYPE_PTRVOID, /* buffer */
308 TYPE_INT, /* buffer_length */
309 TYPE_INT, /* actual_length */
310 TYPE_INT, /* start_frame */
311 TYPE_INT, /* union number_of_packets stream_id */
312 TYPE_INT, /* error_count */
313 TYPE_INT, /* signr */
314 TYPE_PTRVOID, /* usercontext */
315 MK_ARRAY(MK_STRUCT(STRUCT_usbdevfs_iso_packet_desc), 0)) /* desc */
316
Cortland Tölva6c753a62018-10-08 09:35:20 -0700317STRUCT(usbdevfs_ioctl,
318 TYPE_INT, /* ifno */
319 TYPE_INT, /* ioctl_code */
320 TYPE_PTRVOID) /* data */
321
322STRUCT(usbdevfs_hub_portinfo,
323 TYPE_CHAR, /* nports */
324 MK_ARRAY(TYPE_CHAR, 127)) /* port */
325
326STRUCT(usbdevfs_disconnect_claim,
327 TYPE_INT, /* interface */
328 TYPE_INT, /* flags */
329 MK_ARRAY(TYPE_CHAR, USBDEVFS_MAXDRIVERNAME + 1)) /* driver */
330#endif /* CONFIG_USBFS */