qemu/linux-user/syscall_types.h
<<
>>
Prefs
   1STRUCT_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,
   8       TYPE_INT, TYPE_CHAR, TYPE_CHAR, TYPE_INT, TYPE_CHAR, TYPE_CHAR, TYPE_INT,
   9       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(timeval,
  18       MK_ARRAY(TYPE_LONG, 2))
  19
  20STRUCT(timespec,
  21       MK_ARRAY(TYPE_LONG, 2))
  22
  23STRUCT(rtentry,
  24       TYPE_ULONG, MK_STRUCT(STRUCT_sockaddr), MK_STRUCT(STRUCT_sockaddr), MK_STRUCT(STRUCT_sockaddr),
  25       TYPE_SHORT, TYPE_SHORT, TYPE_ULONG, TYPE_PTRVOID, TYPE_SHORT, TYPE_PTRVOID,
  26       TYPE_ULONG, TYPE_ULONG, TYPE_SHORT)
  27
  28STRUCT(ifmap,
  29       TYPE_ULONG, TYPE_ULONG, TYPE_SHORT, TYPE_CHAR, TYPE_CHAR, TYPE_CHAR,
  30       /* Spare 3 bytes */
  31       TYPE_CHAR, TYPE_CHAR, TYPE_CHAR)
  32
  33/* The *_ifreq_list arrays deal with the fact that struct ifreq has unions */
  34
  35STRUCT(sockaddr_ifreq,
  36       MK_ARRAY(TYPE_CHAR, IFNAMSIZ), MK_STRUCT(STRUCT_sockaddr))
  37
  38STRUCT(short_ifreq,
  39       MK_ARRAY(TYPE_CHAR, IFNAMSIZ), TYPE_SHORT)
  40
  41STRUCT(int_ifreq,
  42       MK_ARRAY(TYPE_CHAR, IFNAMSIZ), TYPE_INT)
  43
  44STRUCT(ifmap_ifreq,
  45       MK_ARRAY(TYPE_CHAR, IFNAMSIZ), MK_STRUCT(STRUCT_ifmap))
  46
  47STRUCT(char_ifreq,
  48       MK_ARRAY(TYPE_CHAR, IFNAMSIZ),
  49       MK_ARRAY(TYPE_CHAR, IFNAMSIZ))
  50
  51STRUCT(ptr_ifreq,
  52       MK_ARRAY(TYPE_CHAR, IFNAMSIZ), TYPE_PTRVOID)
  53
  54STRUCT(ifconf,
  55       TYPE_INT, TYPE_PTRVOID)
  56
  57STRUCT(arpreq,
  58       MK_STRUCT(STRUCT_sockaddr), MK_STRUCT(STRUCT_sockaddr), TYPE_INT, MK_STRUCT(STRUCT_sockaddr),
  59       MK_ARRAY(TYPE_CHAR, 16))
  60
  61STRUCT(arpreq_old,
  62       MK_STRUCT(STRUCT_sockaddr), MK_STRUCT(STRUCT_sockaddr), TYPE_INT, MK_STRUCT(STRUCT_sockaddr))
  63
  64STRUCT(cdrom_read_audio,
  65       TYPE_CHAR, TYPE_CHAR, TYPE_CHAR, TYPE_CHAR, TYPE_CHAR, TYPE_INT, TYPE_PTRVOID,
  66       TYPE_NULL)
  67
  68STRUCT(hd_geometry,
  69       TYPE_CHAR, TYPE_CHAR, TYPE_SHORT, TYPE_ULONG)
  70
  71STRUCT(dirent,
  72       TYPE_LONG, TYPE_LONG, TYPE_SHORT, MK_ARRAY(TYPE_CHAR, 256))
  73
  74STRUCT(kbentry,
  75       TYPE_CHAR, TYPE_CHAR, TYPE_SHORT)
  76
  77STRUCT(kbsentry,
  78       TYPE_CHAR, MK_ARRAY(TYPE_CHAR, 512))
  79
  80STRUCT(audio_buf_info,
  81       TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT)
  82
  83STRUCT(count_info,
  84       TYPE_INT, TYPE_INT, TYPE_INT)
  85
  86STRUCT(buffmem_desc,
  87       TYPE_PTRVOID, TYPE_INT)
  88
  89STRUCT(mixer_info,
  90       MK_ARRAY(TYPE_CHAR, 16), MK_ARRAY(TYPE_CHAR, 32), TYPE_INT, MK_ARRAY(TYPE_INT, 10))
  91
  92/* loop device ioctls */
  93STRUCT(loop_info,
  94       TYPE_INT,                 /* lo_number */
  95       TYPE_OLDDEVT,             /* lo_device */
  96       TYPE_ULONG,               /* lo_inode */
  97       TYPE_OLDDEVT,             /* lo_rdevice */
  98       TYPE_INT,                 /* lo_offset */
  99       TYPE_INT,                 /* lo_encrypt_type */
 100       TYPE_INT,                 /* lo_encrypt_key_size */
 101       TYPE_INT,                 /* lo_flags */
 102       MK_ARRAY(TYPE_CHAR, 64),  /* lo_name */
 103       MK_ARRAY(TYPE_CHAR, 32),  /* lo_encrypt_key */
 104       MK_ARRAY(TYPE_ULONG, 2),  /* lo_init */
 105       MK_ARRAY(TYPE_CHAR, 4))   /* reserved */
 106
 107STRUCT(loop_info64,
 108       TYPE_ULONGLONG,           /* lo_device */
 109       TYPE_ULONGLONG,           /* lo_inode */
 110       TYPE_ULONGLONG,           /* lo_rdevice */
 111       TYPE_ULONGLONG,           /* lo_offset */
 112       TYPE_ULONGLONG,           /* lo_sizelimit */
 113       TYPE_INT,                 /* lo_number */
 114       TYPE_INT,                 /* lo_encrypt_type */
 115       TYPE_INT,                 /* lo_encrypt_key_size */
 116       TYPE_INT,                 /* lo_flags */
 117       MK_ARRAY(TYPE_CHAR, 64),  /* lo_name */
 118       MK_ARRAY(TYPE_CHAR, 64),  /* lo_crypt_name */
 119       MK_ARRAY(TYPE_CHAR, 32),  /* lo_encrypt_key */
 120       MK_ARRAY(TYPE_ULONGLONG, 2))  /* lo_init */
 121
 122/* mag tape ioctls */
 123STRUCT(mtop, TYPE_SHORT, TYPE_INT)
 124STRUCT(mtget, TYPE_LONG, TYPE_LONG, TYPE_LONG, TYPE_LONG, TYPE_LONG,
 125       TYPE_INT, TYPE_INT)
 126STRUCT(mtpos, TYPE_LONG)
 127
 128STRUCT(fb_fix_screeninfo,
 129       MK_ARRAY(TYPE_CHAR, 16), /* id */
 130       TYPE_ULONG, /* smem_start */
 131       TYPE_INT, /* smem_len */
 132       TYPE_INT, /* type */
 133       TYPE_INT, /* type_aux */
 134       TYPE_INT, /* visual */
 135       TYPE_SHORT, /* xpanstep */
 136       TYPE_SHORT, /* ypanstep */
 137       TYPE_SHORT, /* ywrapstep */
 138       TYPE_INT, /* line_length */
 139       TYPE_ULONG, /* mmio_start */
 140       TYPE_INT, /* mmio_len */
 141       TYPE_INT, /* accel */
 142       MK_ARRAY(TYPE_CHAR, 3)) /* reserved */
 143
 144STRUCT(fb_var_screeninfo,
 145       TYPE_INT, /* xres */
 146       TYPE_INT, /* yres */
 147       TYPE_INT, /* xres_virtual */
 148       TYPE_INT, /* yres_virtual */
 149       TYPE_INT, /* xoffset */
 150       TYPE_INT, /* yoffset */
 151       TYPE_INT, /* bits_per_pixel */
 152       TYPE_INT, /* grayscale */
 153       MK_ARRAY(TYPE_INT, 3), /* red */
 154       MK_ARRAY(TYPE_INT, 3), /* green */
 155       MK_ARRAY(TYPE_INT, 3), /* blue */
 156       MK_ARRAY(TYPE_INT, 3), /* transp */
 157       TYPE_INT, /* nonstd */
 158       TYPE_INT, /* activate */
 159       TYPE_INT, /* height */
 160       TYPE_INT, /* width */
 161       TYPE_INT, /* accel_flags */
 162       TYPE_INT, /* pixclock */
 163       TYPE_INT, /* left_margin */
 164       TYPE_INT, /* right_margin */
 165       TYPE_INT, /* upper_margin */
 166       TYPE_INT, /* lower_margin */
 167       TYPE_INT, /* hsync_len */
 168       TYPE_INT, /* vsync_len */
 169       TYPE_INT, /* sync */
 170       TYPE_INT, /* vmode */
 171       TYPE_INT, /* rotate */
 172       MK_ARRAY(TYPE_INT, 5)) /* reserved */
 173
 174STRUCT(fb_cmap,
 175       TYPE_INT, /* start  */
 176       TYPE_INT, /* len    */
 177       TYPE_PTRVOID, /* red    */
 178       TYPE_PTRVOID, /* green  */
 179       TYPE_PTRVOID, /* blue   */
 180       TYPE_PTRVOID) /* transp */
 181
 182STRUCT(fb_con2fbmap,
 183       TYPE_INT, /* console     */
 184       TYPE_INT) /* framebuffer */
 185
 186
 187STRUCT(vt_stat,
 188       TYPE_SHORT, /* v_active */
 189       TYPE_SHORT, /* v_signal */
 190       TYPE_SHORT) /* v_state */
 191
 192STRUCT(vt_mode,
 193       TYPE_CHAR,  /* mode   */
 194       TYPE_CHAR,  /* waitv  */
 195       TYPE_SHORT, /* relsig */
 196       TYPE_SHORT, /* acqsig */
 197       TYPE_SHORT) /* frsig  */
 198
 199STRUCT(dm_ioctl,
 200       MK_ARRAY(TYPE_INT, 3), /* version */
 201       TYPE_INT, /* data_size */
 202       TYPE_INT, /* data_start */
 203       TYPE_INT, /* target_count*/
 204       TYPE_INT, /* open_count */
 205       TYPE_INT, /* flags */
 206       TYPE_INT, /* event_nr */
 207       TYPE_INT, /* padding */
 208       TYPE_ULONGLONG, /* dev */
 209       MK_ARRAY(TYPE_CHAR, 128), /* name */
 210       MK_ARRAY(TYPE_CHAR, 129), /* uuid */
 211       MK_ARRAY(TYPE_CHAR, 7)) /* data */
 212
 213STRUCT(dm_target_spec,
 214       TYPE_ULONGLONG, /* sector_start */
 215       TYPE_ULONGLONG, /* length */
 216       TYPE_INT, /* status */
 217       TYPE_INT, /* next */
 218       MK_ARRAY(TYPE_CHAR, 16)) /* target_type */
 219
 220STRUCT(dm_target_deps,
 221       TYPE_INT, /* count */
 222       TYPE_INT) /* padding */
 223
 224STRUCT(dm_name_list,
 225       TYPE_ULONGLONG, /* dev */
 226       TYPE_INT) /* next */
 227
 228STRUCT(dm_target_versions,
 229       TYPE_INT, /* next */
 230       MK_ARRAY(TYPE_INT, 3)) /* version*/
 231
 232STRUCT(dm_target_msg,
 233       TYPE_ULONGLONG) /* sector */
 234
 235STRUCT(file_clone_range,
 236       TYPE_LONGLONG, /* src_fd */
 237       TYPE_ULONGLONG, /* src_offset */
 238       TYPE_ULONGLONG, /* src_length */
 239       TYPE_ULONGLONG) /* dest_offset */
 240
 241STRUCT(fiemap_extent,
 242       TYPE_ULONGLONG, /* fe_logical */
 243       TYPE_ULONGLONG, /* fe_physical */
 244       TYPE_ULONGLONG, /* fe_length */
 245       MK_ARRAY(TYPE_ULONGLONG, 2), /* fe_reserved64[2] */
 246       TYPE_INT, /* fe_flags */
 247       MK_ARRAY(TYPE_INT, 3)) /* fe_reserved[3] */
 248
 249STRUCT(fiemap,
 250       TYPE_ULONGLONG, /* fm_start */
 251       TYPE_ULONGLONG, /* fm_length */
 252       TYPE_INT, /* fm_flags */
 253       TYPE_INT, /* fm_mapped_extents */
 254       TYPE_INT, /* fm_extent_count */
 255       TYPE_INT) /* fm_reserved */
 256
 257STRUCT(blkpg_partition,
 258       TYPE_LONGLONG, /* start */
 259       TYPE_LONGLONG, /* length */
 260       TYPE_INT, /* pno */
 261       MK_ARRAY(TYPE_CHAR, BLKPG_DEVNAMELTH), /* devname */
 262       MK_ARRAY(TYPE_CHAR, BLKPG_VOLNAMELTH)) /* volname */
 263
 264STRUCT(blkpg_ioctl_arg,
 265       TYPE_INT, /* op */
 266       TYPE_INT, /* flags */
 267       TYPE_INT, /* datalen */
 268       TYPE_PTRVOID) /* data */
 269
 270#if defined(CONFIG_USBFS)
 271/* usb device ioctls */
 272STRUCT(usbdevfs_ctrltransfer,
 273        TYPE_CHAR, /* bRequestType */
 274        TYPE_CHAR, /* bRequest */
 275        TYPE_SHORT, /* wValue */
 276        TYPE_SHORT, /* wIndex */
 277        TYPE_SHORT, /* wLength */
 278        TYPE_INT, /* timeout */
 279        TYPE_PTRVOID) /* data */
 280
 281STRUCT(usbdevfs_bulktransfer,
 282        TYPE_INT, /* ep */
 283        TYPE_INT, /* len */
 284        TYPE_INT, /* timeout */
 285        TYPE_PTRVOID) /* data */
 286
 287STRUCT(usbdevfs_setinterface,
 288        TYPE_INT, /* interface */
 289        TYPE_INT) /* altsetting */
 290
 291STRUCT(usbdevfs_disconnectsignal,
 292        TYPE_INT, /* signr */
 293        TYPE_PTRVOID) /* context */
 294
 295STRUCT(usbdevfs_getdriver,
 296        TYPE_INT, /* interface */
 297        MK_ARRAY(TYPE_CHAR, USBDEVFS_MAXDRIVERNAME + 1)) /* driver */
 298
 299STRUCT(usbdevfs_connectinfo,
 300        TYPE_INT, /* devnum */
 301        TYPE_CHAR) /* slow */
 302
 303STRUCT(usbdevfs_iso_packet_desc,
 304        TYPE_INT, /* length */
 305        TYPE_INT, /* actual_length */
 306        TYPE_INT) /* status */
 307
 308STRUCT(usbdevfs_urb,
 309        TYPE_CHAR, /* type */
 310        TYPE_CHAR, /* endpoint */
 311        TYPE_INT, /* status */
 312        TYPE_INT, /* flags */
 313        TYPE_PTRVOID, /* buffer */
 314        TYPE_INT, /* buffer_length */
 315        TYPE_INT, /* actual_length */
 316        TYPE_INT, /* start_frame */
 317        TYPE_INT, /* union number_of_packets stream_id */
 318        TYPE_INT, /* error_count */
 319        TYPE_INT, /* signr */
 320        TYPE_PTRVOID, /* usercontext */
 321        MK_ARRAY(MK_STRUCT(STRUCT_usbdevfs_iso_packet_desc), 0)) /* desc */
 322
 323STRUCT(usbdevfs_ioctl,
 324        TYPE_INT, /* ifno */
 325        TYPE_INT, /* ioctl_code */
 326        TYPE_PTRVOID) /* data */
 327
 328STRUCT(usbdevfs_hub_portinfo,
 329        TYPE_CHAR, /* nports */
 330        MK_ARRAY(TYPE_CHAR, 127)) /* port */
 331
 332STRUCT(usbdevfs_disconnect_claim,
 333        TYPE_INT, /* interface */
 334        TYPE_INT, /* flags */
 335        MK_ARRAY(TYPE_CHAR, USBDEVFS_MAXDRIVERNAME + 1)) /* driver */
 336#endif /* CONFIG_USBFS */
 337