|  | STRUCT_SPECIAL(termios) | 
|  |  | 
|  | STRUCT(winsize, | 
|  | TYPE_SHORT, TYPE_SHORT, TYPE_SHORT, TYPE_SHORT) | 
|  |  | 
|  | STRUCT(serial_multiport_struct, | 
|  | TYPE_INT, TYPE_INT, TYPE_CHAR, TYPE_CHAR, TYPE_INT, TYPE_CHAR, TYPE_CHAR, | 
|  | TYPE_INT, TYPE_CHAR, TYPE_CHAR, TYPE_INT, TYPE_CHAR, TYPE_CHAR, TYPE_INT, | 
|  | MK_ARRAY(TYPE_INT, 32)) | 
|  |  | 
|  | STRUCT(serial_icounter_struct, | 
|  | TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT, MK_ARRAY(TYPE_INT, 16)) | 
|  |  | 
|  | STRUCT(sockaddr, | 
|  | TYPE_SHORT, MK_ARRAY(TYPE_CHAR, 14)) | 
|  |  | 
|  | STRUCT(rtentry, | 
|  | TYPE_ULONG, MK_STRUCT(STRUCT_sockaddr), MK_STRUCT(STRUCT_sockaddr), MK_STRUCT(STRUCT_sockaddr), | 
|  | TYPE_SHORT, TYPE_SHORT, TYPE_ULONG, TYPE_PTRVOID, TYPE_SHORT, TYPE_PTRVOID, | 
|  | TYPE_ULONG, TYPE_ULONG, TYPE_SHORT) | 
|  |  | 
|  | STRUCT(ifmap, | 
|  | TYPE_ULONG, TYPE_ULONG, TYPE_SHORT, TYPE_CHAR, TYPE_CHAR, TYPE_CHAR, | 
|  | /* Spare 3 bytes */ | 
|  | TYPE_CHAR, TYPE_CHAR, TYPE_CHAR) | 
|  |  | 
|  | /* The *_ifreq_list arrays deal with the fact that struct ifreq has unions */ | 
|  |  | 
|  | STRUCT(sockaddr_ifreq, | 
|  | MK_ARRAY(TYPE_CHAR, IFNAMSIZ), MK_STRUCT(STRUCT_sockaddr)) | 
|  |  | 
|  | STRUCT(short_ifreq, | 
|  | MK_ARRAY(TYPE_CHAR, IFNAMSIZ), TYPE_SHORT) | 
|  |  | 
|  | STRUCT(int_ifreq, | 
|  | MK_ARRAY(TYPE_CHAR, IFNAMSIZ), TYPE_INT) | 
|  |  | 
|  | STRUCT(ifmap_ifreq, | 
|  | MK_ARRAY(TYPE_CHAR, IFNAMSIZ), MK_STRUCT(STRUCT_ifmap)) | 
|  |  | 
|  | STRUCT(char_ifreq, | 
|  | MK_ARRAY(TYPE_CHAR, IFNAMSIZ), | 
|  | MK_ARRAY(TYPE_CHAR, IFNAMSIZ)) | 
|  |  | 
|  | STRUCT(ptr_ifreq, | 
|  | MK_ARRAY(TYPE_CHAR, IFNAMSIZ), TYPE_PTRVOID) | 
|  |  | 
|  | STRUCT(ifconf, | 
|  | TYPE_INT, TYPE_PTRVOID) | 
|  |  | 
|  | STRUCT(arpreq, | 
|  | MK_STRUCT(STRUCT_sockaddr), MK_STRUCT(STRUCT_sockaddr), TYPE_INT, MK_STRUCT(STRUCT_sockaddr), | 
|  | MK_ARRAY(TYPE_CHAR, 16)) | 
|  |  | 
|  | STRUCT(arpreq_old, | 
|  | MK_STRUCT(STRUCT_sockaddr), MK_STRUCT(STRUCT_sockaddr), TYPE_INT, MK_STRUCT(STRUCT_sockaddr)) | 
|  |  | 
|  | STRUCT(cdrom_read_audio, | 
|  | TYPE_CHAR, TYPE_CHAR, TYPE_CHAR, TYPE_CHAR, TYPE_CHAR, TYPE_INT, TYPE_PTRVOID, | 
|  | TYPE_NULL) | 
|  |  | 
|  | STRUCT(hd_geometry, | 
|  | TYPE_CHAR, TYPE_CHAR, TYPE_SHORT, TYPE_ULONG) | 
|  |  | 
|  | STRUCT(dirent, | 
|  | TYPE_LONG, TYPE_LONG, TYPE_SHORT, MK_ARRAY(TYPE_CHAR, 256)) | 
|  |  | 
|  | STRUCT(kbentry, | 
|  | TYPE_CHAR, TYPE_CHAR, TYPE_SHORT) | 
|  |  | 
|  | STRUCT(kbsentry, | 
|  | TYPE_CHAR, MK_ARRAY(TYPE_CHAR, 512)) | 
|  |  | 
|  | STRUCT(audio_buf_info, | 
|  | TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT) | 
|  |  | 
|  | STRUCT(count_info, | 
|  | TYPE_INT, TYPE_INT, TYPE_INT) | 
|  |  | 
|  | STRUCT(mixer_info, | 
|  | MK_ARRAY(TYPE_CHAR, 16), MK_ARRAY(TYPE_CHAR, 32), TYPE_INT, MK_ARRAY(TYPE_INT, 10)) | 
|  |  | 
|  | /* loop device ioctls */ | 
|  | STRUCT(loop_info, | 
|  | TYPE_INT,                 /* lo_number */ | 
|  | TYPE_SHORT,               /* lo_device */ | 
|  | TYPE_ULONG,               /* lo_inode */ | 
|  | TYPE_SHORT,               /* lo_rdevice */ | 
|  | TYPE_INT,                 /* lo_offset */ | 
|  | TYPE_INT,                 /* lo_encrypt_type */ | 
|  | TYPE_INT,                 /* lo_encrypt_key_size */ | 
|  | TYPE_INT,                 /* lo_flags */ | 
|  | MK_ARRAY(TYPE_CHAR, 64),  /* lo_name */ | 
|  | MK_ARRAY(TYPE_CHAR, 32),  /* lo_encrypt_key */ | 
|  | MK_ARRAY(TYPE_ULONG, 2),  /* lo_init */ | 
|  | MK_ARRAY(TYPE_CHAR, 4))   /* reserved */ | 
|  |  | 
|  | STRUCT(loop_info64, | 
|  | TYPE_ULONGLONG,           /* lo_device */ | 
|  | TYPE_ULONGLONG,           /* lo_inode */ | 
|  | TYPE_ULONGLONG,           /* lo_rdevice */ | 
|  | TYPE_ULONGLONG,           /* lo_offset */ | 
|  | TYPE_ULONG,               /* lo_number */ | 
|  | TYPE_ULONG,               /* lo_encrypt_type */ | 
|  | TYPE_ULONG,               /* lo_encrypt_key_size */ | 
|  | TYPE_ULONG,               /* lo_flags */ | 
|  | MK_ARRAY(TYPE_CHAR, 64),  /* lo_name */ | 
|  | MK_ARRAY(TYPE_CHAR, 64),  /* lo_crypt_name */ | 
|  | MK_ARRAY(TYPE_CHAR, 32),  /* lo_encrypt_key */ | 
|  | MK_ARRAY(TYPE_ULONGLONG, 2))  /* lo_init */ | 
|  |  | 
|  | /* mag tape ioctls */ | 
|  | STRUCT(mtop, TYPE_SHORT, TYPE_INT) | 
|  | STRUCT(mtget, TYPE_LONG, TYPE_LONG, TYPE_LONG, TYPE_LONG, TYPE_LONG, | 
|  | TYPE_INT, TYPE_INT) | 
|  | STRUCT(mtpos, TYPE_LONG) | 
|  |  | 
|  | STRUCT(fb_fix_screeninfo, | 
|  | MK_ARRAY(TYPE_CHAR, 16), /* id */ | 
|  | TYPE_ULONG, /* smem_start */ | 
|  | TYPE_INT, /* smem_len */ | 
|  | TYPE_INT, /* type */ | 
|  | TYPE_INT, /* type_aux */ | 
|  | TYPE_INT, /* visual */ | 
|  | TYPE_SHORT, /* xpanstep */ | 
|  | TYPE_SHORT, /* ypanstep */ | 
|  | TYPE_SHORT, /* ywrapstep */ | 
|  | TYPE_INT, /* line_length */ | 
|  | TYPE_ULONG, /* mmio_start */ | 
|  | TYPE_INT, /* mmio_len */ | 
|  | TYPE_INT, /* accel */ | 
|  | MK_ARRAY(TYPE_CHAR, 3)) /* reserved */ | 
|  |  | 
|  | STRUCT(fb_var_screeninfo, | 
|  | TYPE_INT, /* xres */ | 
|  | TYPE_INT, /* yres */ | 
|  | TYPE_INT, /* xres_virtual */ | 
|  | TYPE_INT, /* yres_virtual */ | 
|  | TYPE_INT, /* xoffset */ | 
|  | TYPE_INT, /* yoffset */ | 
|  | TYPE_INT, /* bits_per_pixel */ | 
|  | TYPE_INT, /* grayscale */ | 
|  | MK_ARRAY(TYPE_INT, 3), /* red */ | 
|  | MK_ARRAY(TYPE_INT, 3), /* green */ | 
|  | MK_ARRAY(TYPE_INT, 3), /* blue */ | 
|  | MK_ARRAY(TYPE_INT, 3), /* transp */ | 
|  | TYPE_INT, /* nonstd */ | 
|  | TYPE_INT, /* activate */ | 
|  | TYPE_INT, /* height */ | 
|  | TYPE_INT, /* width */ | 
|  | TYPE_INT, /* accel_flags */ | 
|  | TYPE_INT, /* pixclock */ | 
|  | TYPE_INT, /* left_margin */ | 
|  | TYPE_INT, /* right_margin */ | 
|  | TYPE_INT, /* upper_margin */ | 
|  | TYPE_INT, /* lower_margin */ | 
|  | TYPE_INT, /* hsync_len */ | 
|  | TYPE_INT, /* vsync_len */ | 
|  | TYPE_INT, /* sync */ | 
|  | TYPE_INT, /* vmode */ | 
|  | TYPE_INT, /* rotate */ | 
|  | MK_ARRAY(TYPE_INT, 5)) /* reserved */ | 
|  |  | 
|  | STRUCT(vt_stat, | 
|  | TYPE_SHORT, /* v_active */ | 
|  | TYPE_SHORT, /* v_signal */ | 
|  | TYPE_SHORT) /* v_state */ |