xref: /qemu/linux-user/syscall_types.h (revision ab9056ff)
1 STRUCT_SPECIAL(termios)
2 
3 STRUCT(winsize,
4        TYPE_SHORT, TYPE_SHORT, TYPE_SHORT, TYPE_SHORT)
5 
6 STRUCT(serial_multiport_struct,
7        TYPE_INT, TYPE_INT, TYPE_CHAR, TYPE_CHAR, TYPE_INT, TYPE_CHAR, TYPE_CHAR,
8        TYPE_INT, TYPE_CHAR, TYPE_CHAR, TYPE_INT, TYPE_CHAR, TYPE_CHAR, TYPE_INT,
9        MK_ARRAY(TYPE_INT, 32))
10 
11 STRUCT(serial_icounter_struct,
12        TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT, MK_ARRAY(TYPE_INT, 16))
13 
14 STRUCT(sockaddr,
15        TYPE_SHORT, MK_ARRAY(TYPE_CHAR, 14))
16 
17 STRUCT(rtentry,
18        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,
20        TYPE_ULONG, TYPE_ULONG, TYPE_SHORT)
21 
22 STRUCT(ifmap,
23        TYPE_ULONG, TYPE_ULONG, TYPE_SHORT, TYPE_CHAR, TYPE_CHAR, TYPE_CHAR,
24        /* 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 
29 STRUCT(sockaddr_ifreq,
30        MK_ARRAY(TYPE_CHAR, IFNAMSIZ), MK_STRUCT(STRUCT_sockaddr))
31 
32 STRUCT(short_ifreq,
33        MK_ARRAY(TYPE_CHAR, IFNAMSIZ), TYPE_SHORT)
34 
35 STRUCT(int_ifreq,
36        MK_ARRAY(TYPE_CHAR, IFNAMSIZ), TYPE_INT)
37 
38 STRUCT(ifmap_ifreq,
39        MK_ARRAY(TYPE_CHAR, IFNAMSIZ), MK_STRUCT(STRUCT_ifmap))
40 
41 STRUCT(char_ifreq,
42        MK_ARRAY(TYPE_CHAR, IFNAMSIZ),
43        MK_ARRAY(TYPE_CHAR, IFNAMSIZ))
44 
45 STRUCT(ptr_ifreq,
46        MK_ARRAY(TYPE_CHAR, IFNAMSIZ), TYPE_PTRVOID)
47 
48 STRUCT(ifconf,
49        TYPE_INT, TYPE_PTRVOID)
50 
51 STRUCT(arpreq,
52        MK_STRUCT(STRUCT_sockaddr), MK_STRUCT(STRUCT_sockaddr), TYPE_INT, MK_STRUCT(STRUCT_sockaddr),
53        MK_ARRAY(TYPE_CHAR, 16))
54 
55 STRUCT(arpreq_old,
56        MK_STRUCT(STRUCT_sockaddr), MK_STRUCT(STRUCT_sockaddr), TYPE_INT, MK_STRUCT(STRUCT_sockaddr))
57 
58 STRUCT(cdrom_read_audio,
59        TYPE_CHAR, TYPE_CHAR, TYPE_CHAR, TYPE_CHAR, TYPE_CHAR, TYPE_INT, TYPE_PTRVOID,
60        TYPE_NULL)
61 
62 STRUCT(hd_geometry,
63        TYPE_CHAR, TYPE_CHAR, TYPE_SHORT, TYPE_ULONG)
64 
65 STRUCT(dirent,
66        TYPE_LONG, TYPE_LONG, TYPE_SHORT, MK_ARRAY(TYPE_CHAR, 256))
67 
68 STRUCT(kbentry,
69        TYPE_CHAR, TYPE_CHAR, TYPE_SHORT)
70 
71 STRUCT(kbsentry,
72        TYPE_CHAR, MK_ARRAY(TYPE_CHAR, 512))
73 
74 STRUCT(audio_buf_info,
75        TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT)
76 
77 STRUCT(count_info,
78        TYPE_INT, TYPE_INT, TYPE_INT)
79 
80 STRUCT(buffmem_desc,
81        TYPE_PTRVOID, TYPE_INT)
82 
83 STRUCT(mixer_info,
84        MK_ARRAY(TYPE_CHAR, 16), MK_ARRAY(TYPE_CHAR, 32), TYPE_INT, MK_ARRAY(TYPE_INT, 10))
85 
86 /* loop device ioctls */
87 STRUCT(loop_info,
88        TYPE_INT,                 /* lo_number */
89        TYPE_OLDDEVT,             /* lo_device */
90        TYPE_ULONG,               /* lo_inode */
91        TYPE_OLDDEVT,             /* lo_rdevice */
92        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 
101 STRUCT(loop_info64,
102        TYPE_ULONGLONG,           /* lo_device */
103        TYPE_ULONGLONG,           /* lo_inode */
104        TYPE_ULONGLONG,           /* lo_rdevice */
105        TYPE_ULONGLONG,           /* lo_offset */
106        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 */
111        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 */
115 
116 /* mag tape ioctls */
117 STRUCT(mtop, TYPE_SHORT, TYPE_INT)
118 STRUCT(mtget, TYPE_LONG, TYPE_LONG, TYPE_LONG, TYPE_LONG, TYPE_LONG,
119        TYPE_INT, TYPE_INT)
120 STRUCT(mtpos, TYPE_LONG)
121 
122 STRUCT(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 
138 STRUCT(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 
168 STRUCT(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 
176 STRUCT(fb_con2fbmap,
177        TYPE_INT, /* console     */
178        TYPE_INT) /* framebuffer */
179 
180 
181 STRUCT(vt_stat,
182        TYPE_SHORT, /* v_active */
183        TYPE_SHORT, /* v_signal */
184        TYPE_SHORT) /* v_state */
185 
186 STRUCT(vt_mode,
187        TYPE_CHAR,  /* mode   */
188        TYPE_CHAR,  /* waitv  */
189        TYPE_SHORT, /* relsig */
190        TYPE_SHORT, /* acqsig */
191        TYPE_SHORT) /* frsig  */
192 
193 STRUCT(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 
207 STRUCT(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 
214 STRUCT(dm_target_deps,
215        TYPE_INT, /* count */
216        TYPE_INT) /* padding */
217 
218 STRUCT(dm_name_list,
219        TYPE_ULONGLONG, /* dev */
220        TYPE_INT) /* next */
221 
222 STRUCT(dm_target_versions,
223        TYPE_INT, /* next */
224        MK_ARRAY(TYPE_INT, 3)) /* version*/
225 
226 STRUCT(dm_target_msg,
227        TYPE_ULONGLONG) /* sector */
228 
229 STRUCT(file_clone_range,
230        TYPE_LONGLONG, /* src_fd */
231        TYPE_ULONGLONG, /* src_offset */
232        TYPE_ULONGLONG, /* src_length */
233        TYPE_ULONGLONG) /* dest_offset */
234 
235 STRUCT(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 
243 STRUCT(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 */
250 
251 STRUCT(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 
258 STRUCT(blkpg_ioctl_arg,
259        TYPE_INT, /* op */
260        TYPE_INT, /* flags */
261        TYPE_INT, /* datalen */
262        TYPE_PTRVOID) /* data */
263 
264 #if defined(CONFIG_USBFS)
265 /* usb device ioctls */
266 STRUCT(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 
275 STRUCT(usbdevfs_bulktransfer,
276         TYPE_INT, /* ep */
277         TYPE_INT, /* len */
278         TYPE_INT, /* timeout */
279         TYPE_PTRVOID) /* data */
280 
281 STRUCT(usbdevfs_setinterface,
282         TYPE_INT, /* interface */
283         TYPE_INT) /* altsetting */
284 
285 STRUCT(usbdevfs_disconnectsignal,
286         TYPE_INT, /* signr */
287         TYPE_PTRVOID) /* context */
288 
289 STRUCT(usbdevfs_getdriver,
290         TYPE_INT, /* interface */
291         MK_ARRAY(TYPE_CHAR, USBDEVFS_MAXDRIVERNAME + 1)) /* driver */
292 
293 STRUCT(usbdevfs_connectinfo,
294         TYPE_INT, /* devnum */
295         TYPE_CHAR) /* slow */
296 
297 STRUCT(usbdevfs_iso_packet_desc,
298         TYPE_INT, /* length */
299         TYPE_INT, /* actual_length */
300         TYPE_INT) /* status */
301 
302 STRUCT(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 
317 STRUCT(usbdevfs_ioctl,
318         TYPE_INT, /* ifno */
319         TYPE_INT, /* ioctl_code */
320         TYPE_PTRVOID) /* data */
321 
322 STRUCT(usbdevfs_hub_portinfo,
323         TYPE_CHAR, /* nports */
324         MK_ARRAY(TYPE_CHAR, 127)) /* port */
325 
326 STRUCT(usbdevfs_disconnect_claim,
327         TYPE_INT, /* interface */
328         TYPE_INT, /* flags */
329         MK_ARRAY(TYPE_CHAR, USBDEVFS_MAXDRIVERNAME + 1)) /* driver */
330 #endif /* CONFIG_USBFS */
331