# structs

name: snd_seq_event
include_file: /usr/include/sound/asequencer.h
nasm_code:
; from header /usr/include/sound/asequencer.h
struc snd_seq_event
    .type            resb 1
    .flags           resb 1
    .tag             resb 1
    .queue           resb 1
    .time            resb 8 ; union snd_seq_timestamp
    .source          resb 2 ; struc snd_seq_addr
    .dest            resb 2 ; struc snd_seq_addr
    .data            resb 12 ; union None
endstruc
%define struc_snd_seq_event_size 28


name: snd_seq_event_bounce
include_file: /usr/include/sound/asequencer.h
nasm_code:
; from header /usr/include/sound/asequencer.h
struc snd_seq_event_bounce
    .err             resb 4
    .event           resb 28 ; struc snd_seq_event
endstruc
%define struc_snd_seq_event_bounce_size 32


name: snd_seq_system_info
include_file: /usr/include/sound/asequencer.h
nasm_code:
; from header /usr/include/sound/asequencer.h
struc snd_seq_system_info
    .queues          resb 4
    .clients         resb 4
    .ports           resb 4
    .channels        resb 4
    .cur_clients     resb 4
    .cur_queues      resb 4
    .reserved        resb 24 ; None
endstruc
%define struc_snd_seq_system_info_size 48


name: snd_seq_running_info
include_file: /usr/include/sound/asequencer.h
nasm_code:
; from header /usr/include/sound/asequencer.h
struc snd_seq_running_info
    .client          resb 1
    .big_endian      resb 1
    .cpu_mode        resb 1
    .pad             resb 1
    .reserved        resb 12 ; None
endstruc
%define struc_snd_seq_running_info_size 16


name: snd_seq_client_info
include_file: /usr/include/sound/asequencer.h
nasm_code:
; from header /usr/include/sound/asequencer.h
struc snd_seq_client_info
    .client          resb 4
    .type            resb 4
    .name            resb 64 ; None
    .filter          resb 4
    .multicast_filte resb 8 ; None
    .event_filter    resb 32 ; None
    .num_ports       resb 4
    .event_lost      resb 4
    .card            resb 4
    .pid             resb 4
    .reserved        resb 56 ; None
endstruc
%define struc_snd_seq_client_info_size 188


name: snd_seq_client_pool
include_file: /usr/include/sound/asequencer.h
nasm_code:
; from header /usr/include/sound/asequencer.h
struc snd_seq_client_pool
    .client          resb 4
    .output_pool     resb 4
    .input_pool      resb 4
    .output_room     resb 4
    .output_free     resb 4
    .input_free      resb 4
    .reserved        resb 64 ; None
endstruc
%define struc_snd_seq_client_pool_size 88


name: snd_seq_remove_events
include_file: /usr/include/sound/asequencer.h
nasm_code:
; from header /usr/include/sound/asequencer.h
struc snd_seq_remove_events
    .remove_mode     resb 4
    .time            resb 8 ; union snd_seq_timestamp
    .queue           resb 1
    .dest            resb 2 ; struc snd_seq_addr
    .channel         resb 1
    .type            resb 4
    .tag             resb 1
    .reserved        resb 40 ; None
endstruc
%define struc_snd_seq_remove_events_size 64


name: snd_seq_port_info
include_file: /usr/include/sound/asequencer.h
nasm_code:
; from header /usr/include/sound/asequencer.h
struc snd_seq_port_info
    .addr            resb 2 ; struc snd_seq_addr
    .name            resb 64 ; None
    .capability      resb 4
    .type            resb 4
    .midi_channels   resb 4
    .midi_voices     resb 4
    .synth_voices    resb 4
    .read_use        resb 4
    .write_use       resb 4
    .kernel          resb 8
    .flags           resb 4
    .time_queue      resb 1
    .reserved        resb 59 ; None
endstruc
%define struc_snd_seq_port_info_size 168


name: snd_seq_queue_info
include_file: /usr/include/sound/asequencer.h
nasm_code:
; from header /usr/include/sound/asequencer.h
struc snd_seq_queue_info
    .queue           resb 4
    .owner           resb 4
    .locked          resb 4
    .name            resb 64 ; None
    .flags           resb 4
    .reserved        resb 60 ; None
endstruc
%define struc_snd_seq_queue_info_size 140


name: snd_seq_queue_status
include_file: /usr/include/sound/asequencer.h
nasm_code:
; from header /usr/include/sound/asequencer.h
struc snd_seq_queue_status
    .queue           resb 4
    .events          resb 4
    .tick            resb 4
    .time            resb 8 ; struc snd_seq_real_time
    .running         resb 4
    .flags           resb 4
    .reserved        resb 64 ; None
endstruc
%define struc_snd_seq_queue_status_size 92


name: snd_seq_queue_tempo
include_file: /usr/include/sound/asequencer.h
nasm_code:
; from header /usr/include/sound/asequencer.h
struc snd_seq_queue_tempo
    .queue           resb 4
    .tempo           resb 4
    .ppq             resb 4
    .skew_value      resb 4
    .skew_base       resb 4
    .reserved        resb 24 ; None
endstruc
%define struc_snd_seq_queue_tempo_size 44


name: snd_seq_queue_timer
include_file: /usr/include/sound/asequencer.h
nasm_code:
; from header /usr/include/sound/asequencer.h
struc snd_seq_queue_timer
    .queue           resb 4
    .type            resb 4
    .u               resb 24 ; union None
    .reserved        resb 64 ; None
endstruc
%define struc_snd_seq_queue_timer_size 96


name: snd_seq_queue_client
include_file: /usr/include/sound/asequencer.h
nasm_code:
; from header /usr/include/sound/asequencer.h
struc snd_seq_queue_client
    .queue           resb 4
    .client          resb 4
    .used            resb 4
    .reserved        resb 64 ; None
endstruc
%define struc_snd_seq_queue_client_size 76


name: snd_seq_port_subscribe
include_file: /usr/include/sound/asequencer.h
nasm_code:
; from header /usr/include/sound/asequencer.h
struc snd_seq_port_subscribe
    .sender          resb 2 ; struc snd_seq_addr
    .dest            resb 2 ; struc snd_seq_addr
    .voices          resb 4
    .flags           resb 4
    .queue           resb 1
    .pad             resb 3 ; None
    .reserved        resb 64 ; None
endstruc
%define struc_snd_seq_port_subscribe_size 80


name: snd_seq_query_subs
include_file: /usr/include/sound/asequencer.h
nasm_code:
; from header /usr/include/sound/asequencer.h
struc snd_seq_query_subs
    .root            resb 2 ; struc snd_seq_addr
    .type            resb 4
    .index           resb 4
    .num_subs        resb 4
    .addr            resb 2 ; struc snd_seq_addr
    .queue           resb 1
    .flags           resb 4
    .reserved        resb 64 ; None
endstruc
%define struc_snd_seq_query_subs_size 88


name: snd_dm_fm_info
include_file: /usr/include/sound/asound_fm.h
nasm_code:
; from header /usr/include/sound/asound_fm.h
struc snd_dm_fm_info
    .fm_mode         resb 1
    .rhythm          resb 1
endstruc
%define struc_snd_dm_fm_info_size 2


name: snd_dm_fm_voice
include_file: /usr/include/sound/asound_fm.h
nasm_code:
; from header /usr/include/sound/asound_fm.h
struc snd_dm_fm_voice
    .op              resb 1
    .voice           resb 1
    .am              resb 1
    .vibrato         resb 1
    .do_sustain      resb 1
    .kbd_scale       resb 1
    .harmonic        resb 1
    .scale_level     resb 1
    .volume          resb 1
    .attack          resb 1
    .decay           resb 1
    .sustain         resb 1
    .release         resb 1
    .feedback        resb 1
    .connection      resb 1
    .left            resb 1
    .right           resb 1
    .waveform        resb 1
endstruc
%define struc_snd_dm_fm_voice_size 18


name: snd_dm_fm_note
include_file: /usr/include/sound/asound_fm.h
nasm_code:
; from header /usr/include/sound/asound_fm.h
struc snd_dm_fm_note
    .voice           resb 1
    .octave          resb 1
    .fnum            resb 4
    .key_on          resb 1
endstruc
%define struc_snd_dm_fm_note_size 12


name: snd_dm_fm_params
include_file: /usr/include/sound/asound_fm.h
nasm_code:
; from header /usr/include/sound/asound_fm.h
struc snd_dm_fm_params
    .am_depth        resb 1
    .vib_depth       resb 1
    .kbd_split       resb 1
    .rhythm          resb 1
    .bass            resb 1
    .snare           resb 1
    .tomtom          resb 1
    .cymbal          resb 1
    .hihat           resb 1
endstruc
%define struc_snd_dm_fm_params_size 9


name: sbi_patch
include_file: /usr/include/sound/asound_fm.h
nasm_code:
; from header /usr/include/sound/asound_fm.h
struc sbi_patch
    .prog            resb 1
    .bank            resb 1
    .key             resb 4 ; None
    .name            resb 25 ; None
    .extension       resb 7 ; None
    .data            resb 32 ; None
endstruc
%define struc_sbi_patch_size 70


name: ntptimeval
include_file: /usr/include/sys/timex.h
nasm_code:
; from header /usr/include/sys/timex.h
struc ntptimeval
    .time            resb 16 ; struc timeval
    .maxerror        resb 8
    .esterror        resb 8
endstruc
%define struc_ntptimeval_size 32


name: timex
include_file: /usr/include/sys/timex.h
nasm_code:
; from header /usr/include/sys/timex.h
struc timex
    .modes           resb 4
    .offset          resb 8
    .freq            resb 8
    .maxerror        resb 8
    .esterror        resb 8
    .status          resb 4
    .constant        resb 8
    .precision       resb 8
    .tolerance       resb 8
    .time            resb 16 ; struc timeval
    .tick            resb 8
    .ppsfreq         resb 8
    .jitter          resb 8
    .shift           resb 4
    .stabil          resb 8
    .jitcnt          resb 8
    .calcnt          resb 8
    .errcnt          resb 8
    .stbcnt          resb 8
    .tai             resb 4
    .__padding       resb 44 ; None
endstruc
%define struc_timex_size 208


name: inotify_event
include_file: /usr/include/sys/inotify.h
nasm_code:
; from header /usr/include/sys/inotify.h
struc inotify_event
    .wd              resb 4
    .mask            resb 4
    .cookie          resb 4
    .len             resb 4
    .name            resb 0 ; None
endstruc
%define struc_inotify_event_size 16


name: sysinfo
include_file: /usr/include/sys/sysinfo.h
nasm_code:
; from header /usr/include/sys/sysinfo.h
struc sysinfo
    .uptime          resb 8
    .loads           resb 24 ; None
    .totalram        resb 8
    .freeram         resb 8
    .sharedram       resb 8
    .bufferram       resb 8
    .totalswap       resb 8
    .freeswap        resb 8
    .procs           resb 2
    .pad             resb 2
    .totalhigh       resb 8
    .freehigh        resb 8
    .mem_unit        resb 4
    .__reserved      resb 256 ; None
endstruc
%define struc_sysinfo_size 368


name: __ptrace_peeksiginfo_args
include_file: /usr/include/sys/ptrace.h
nasm_code:
; from header /usr/include/sys/ptrace.h
struc __ptrace_peeksiginfo_args
    .off             resb 8
    .flags           resb 4
    .nr              resb 4
endstruc
%define struc___ptrace_peeksiginfo_args_size 16


name: __ptrace_seccomp_metadata
include_file: /usr/include/sys/ptrace.h
nasm_code:
; from header /usr/include/sys/ptrace.h
struc __ptrace_seccomp_metadata
    .filter_off      resb 8
    .flags           resb 8
endstruc
%define struc___ptrace_seccomp_metadata_size 16


name: linger
include_file: /usr/include/sys/socket.h
nasm_code:
; from header /usr/include/sys/socket.h
struc linger
    .l_onoff         resb 4
    .l_linger        resb 4
endstruc
%define struc_linger_size 8


name: sockaddr
include_file: /usr/include/sys/socket.h
nasm_code:
; from header /usr/include/sys/socket.h
struc sockaddr
    .sa_family       resb 2
    .sa_data         resb 14 ; None
endstruc
%define struc_sockaddr_size 16


name: sockaddr_storage
include_file: /usr/include/sys/socket.h
nasm_code:
; from header /usr/include/sys/socket.h
struc sockaddr_storage
    .ss_family       resb 2
    .__ss_padding    resb 118 ; None
    .__ss_align      resb 8
endstruc
%define struc_sockaddr_storage_size 128


name: msginfo
include_file: /usr/include/sys/msg.h
nasm_code:
; from header /usr/include/sys/msg.h
struc msginfo
    .msgpool         resb 4
    .msgmap          resb 4
    .msgmax          resb 4
    .msgmnb          resb 4
    .msgmni          resb 4
    .msgssz          resb 4
    .msgtql          resb 4
    .msgseg          resb 2
endstruc
%define struc_msginfo_size 32


name: msgbuf
include_file: /usr/include/sys/msg.h
nasm_code:
; from header /usr/include/sys/msg.h
struc msgbuf
    .mtype           resb 8
    .mtext           resb 1 ; None
endstruc
%define struc_msgbuf_size 16


name: acct
include_file: /usr/include/sys/acct.h
nasm_code:
; from header /usr/include/sys/acct.h
struc acct
    .ac_flag         resb 1
    .ac_uid          resb 2
    .ac_gid          resb 2
    .ac_tty          resb 2
    .ac_btime        resb 4
    .ac_utime        resb 2
    .ac_stime        resb 2
    .ac_etime        resb 2
    .ac_mem          resb 2
    .ac_io           resb 2
    .ac_rw           resb 2
    .ac_minflt       resb 2
    .ac_majflt       resb 2
    .ac_swaps        resb 2
    .ac_exitcode     resb 4
    .ac_comm         resb 17 ; None
    .ac_pad          resb 10 ; None
endstruc
%define struc_acct_size 64


name: acct_v3
include_file: /usr/include/sys/acct.h
nasm_code:
; from header /usr/include/sys/acct.h
struc acct_v3
    .ac_flag         resb 1
    .ac_version      resb 1
    .ac_tty          resb 2
    .ac_exitcode     resb 4
    .ac_uid          resb 4
    .ac_gid          resb 4
    .ac_pid          resb 4
    .ac_ppid         resb 4
    .ac_btime        resb 4
    .ac_etime        resb 4
    .ac_utime        resb 2
    .ac_stime        resb 2
    .ac_mem          resb 2
    .ac_io           resb 2
    .ac_rw           resb 2
    .ac_minflt       resb 2
    .ac_majflt       resb 2
    .ac_swaps        resb 2
    .ac_comm         resb 16 ; None
endstruc
%define struc_acct_v3_size 64


name: seminfo
include_file: /usr/include/sys/sem.h
nasm_code:
; from header /usr/include/sys/sem.h
struc seminfo
    .semmap          resb 4
    .semmni          resb 4
    .semmns          resb 4
    .semmnu          resb 4
    .semmsl          resb 4
    .semopm          resb 4
    .semume          resb 4
    .semusz          resb 4
    .semvmx          resb 4
    .semaem          resb 4
endstruc
%define struc_seminfo_size 40


name: sembuf
include_file: /usr/include/sys/sem.h
nasm_code:
; from header /usr/include/sys/sem.h
struc sembuf
    .sem_num         resb 2
    .sem_op          resb 2
    .sem_flg         resb 2
endstruc
%define struc_sembuf_size 6


name: signalfd_siginfo
include_file: /usr/include/sys/signalfd.h
nasm_code:
; from header /usr/include/sys/signalfd.h
struc signalfd_siginfo
    .ssi_signo       resb 4
    .ssi_errno       resb 4
    .ssi_code        resb 4
    .ssi_pid         resb 4
    .ssi_uid         resb 4
    .ssi_fd          resb 4
    .ssi_tid         resb 4
    .ssi_band        resb 4
    .ssi_overrun     resb 4
    .ssi_trapno      resb 4
    .ssi_status      resb 4
    .ssi_int         resb 4
    .ssi_ptr         resb 8
    .ssi_utime       resb 8
    .ssi_stime       resb 8
    .ssi_addr        resb 8
    .ssi_addr_lsb    resb 2
    .__pad2          resb 2
    .ssi_syscall     resb 4
    .ssi_call_addr   resb 8
    .ssi_arch        resb 4
    .__pad           resb 28 ; None
endstruc
%define struc_signalfd_siginfo_size 128


name: tms
include_file: /usr/include/sys/times.h
nasm_code:
; from header /usr/include/sys/times.h
struc tms
    .tms_utime       resb 8
    .tms_stime       resb 8
    .tms_cutime      resb 8
    .tms_cstime      resb 8
endstruc
%define struc_tms_size 32


name: __fsid_t
include_file: /usr/include/sys/statfs.h
nasm_code:
; from header /usr/include/sys/statfs.h
struc __fsid_t
    .__val           resb 8 ; None
endstruc
%define struc___fsid_t_size 8


name: sockaddr_un
include_file: /usr/include/sys/un.h
nasm_code:
; from header /usr/include/sys/un.h
struc sockaddr_un
    .sun_family      resb 2
    .sun_path        resb 108 ; None
endstruc
%define struc_sockaddr_un_size 110


name: timeb
include_file: /usr/include/sys/timeb.h
nasm_code:
; from header /usr/include/sys/timeb.h
struc timeb
    .time            resb 8
    .millitm         resb 2
    .timezone        resb 2
    .dstflag         resb 2
endstruc
%define struc_timeb_size 16


name: dqblk
include_file: /usr/include/sys/quota.h
nasm_code:
; from header /usr/include/sys/quota.h
struc dqblk
    .dqb_bhardlimit  resb 8
    .dqb_bsoftlimit  resb 8
    .dqb_curspace    resb 8
    .dqb_ihardlimit  resb 8
    .dqb_isoftlimit  resb 8
    .dqb_curinodes   resb 8
    .dqb_btime       resb 8
    .dqb_itime       resb 8
    .dqb_valid       resb 4
endstruc
%define struc_dqblk_size 72


name: dqinfo
include_file: /usr/include/sys/quota.h
nasm_code:
; from header /usr/include/sys/quota.h
struc dqinfo
    .dqi_bgrace      resb 8
    .dqi_igrace      resb 8
    .dqi_flags       resb 4
    .dqi_valid       resb 4
endstruc
%define struc_dqinfo_size 24


name: itimerval
include_file: /usr/include/sys/time.h
nasm_code:
; from header /usr/include/sys/time.h
struc itimerval
    .it_interval     resb 16 ; struc timeval
    .it_value        resb 16 ; struc timeval
endstruc
%define struc_itimerval_size 32


name: timezone
include_file: /usr/include/sys/time.h
nasm_code:
; from header /usr/include/sys/time.h
struc timezone
    .tz_minuteswest  resb 4
    .tz_dsttime      resb 4
endstruc
%define struc_timezone_size 8


name: utsname
include_file: /usr/include/sys/utsname.h
nasm_code:
; from header /usr/include/sys/utsname.h
struc utsname
    .sysname         resb 65 ; None
    .nodename        resb 65 ; None
    .release         resb 65 ; None
    .version         resb 65 ; None
    .machine         resb 65 ; None
    .__domainname    resb 65 ; None
endstruc
%define struc_utsname_size 390


name: prctl_mm_map
include_file: /usr/include/sys/prctl.h
nasm_code:
; from header /usr/include/sys/prctl.h
struc prctl_mm_map
    .start_code      resb 8
    .end_code        resb 8
    .start_data      resb 8
    .end_data        resb 8
    .start_brk       resb 8
    .brk             resb 8
    .start_stack     resb 8
    .arg_start       resb 8
    .arg_end         resb 8
    .env_start       resb 8
    .env_end         resb 8
    .auxv            resb 8
    .auxv_size       resb 4
    .exe_fd          resb 4
endstruc
%define struc_prctl_mm_map_size 104


name: elf_siginfo
include_file: /usr/include/sys/procfs.h
nasm_code:
; from header /usr/include/sys/procfs.h
struc elf_siginfo
    .si_signo        resb 4
    .si_code         resb 4
    .si_errno        resb 4
endstruc
%define struc_elf_siginfo_size 12


name: elf_prstatus
include_file: /usr/include/sys/procfs.h
nasm_code:
; from header /usr/include/sys/procfs.h
struc elf_prstatus
    .pr_info         resb 12 ; struc elf_siginfo
    .pr_cursig       resb 2
    .pr_sigpend      resb 8
    .pr_sighold      resb 8
    .pr_pid          resb 4
    .pr_ppid         resb 4
    .pr_pgrp         resb 4
    .pr_sid          resb 4
    .pr_utime        resb 16 ; struc timeval
    .pr_stime        resb 16 ; struc timeval
    .pr_cutime       resb 16 ; struc timeval
    .pr_cstime       resb 16 ; struc timeval
    .pr_reg          resb 216 ; elf_gregset_t
    .pr_fpvalid      resb 4
endstruc
%define struc_elf_prstatus_size 336


name: elf_prpsinfo
include_file: /usr/include/sys/procfs.h
nasm_code:
; from header /usr/include/sys/procfs.h
struc elf_prpsinfo
    .pr_state        resb 1
    .pr_sname        resb 1
    .pr_zomb         resb 1
    .pr_nice         resb 1
    .pr_flag         resb 8
    .pr_uid          resb 4
    .pr_gid          resb 4
    .pr_pid          resb 4
    .pr_ppid         resb 4
    .pr_pgrp         resb 4
    .pr_sid          resb 4
    .pr_fname        resb 16 ; None
    .pr_psargs       resb 80 ; None
endstruc
%define struc_elf_prpsinfo_size 136


name: winsize
include_file: /usr/include/sys/ioctl.h
nasm_code:
; from header /usr/include/sys/ioctl.h
struc winsize
    .ws_row          resb 2
    .ws_col          resb 2
    .ws_xpixel       resb 2
    .ws_ypixel       resb 2
endstruc
%define struc_winsize_size 8


name: mtop
include_file: /usr/include/sys/mtio.h
nasm_code:
; from header /usr/include/sys/mtio.h
struc mtop
    .mt_op           resb 2
    .mt_count        resb 4
endstruc
%define struc_mtop_size 8


name: mtget
include_file: /usr/include/sys/mtio.h
nasm_code:
; from header /usr/include/sys/mtio.h
struc mtget
    .mt_type         resb 8
    .mt_resid        resb 8
    .mt_dsreg        resb 8
    .mt_gstat        resb 8
    .mt_erreg        resb 8
    .mt_fileno       resb 4
    .mt_blkno        resb 4
endstruc
%define struc_mtget_size 48


name: mt_tape_info
include_file: /usr/include/sys/mtio.h
nasm_code:
; from header /usr/include/sys/mtio.h
struc mt_tape_info
    .t_type          resb 8
    .t_name          resb 8
endstruc
%define struc_mt_tape_info_size 16


name: mtpos
include_file: /usr/include/sys/mtio.h
nasm_code:
; from header /usr/include/sys/mtio.h
struc mtpos
    .mt_blkno        resb 8
endstruc
%define struc_mtpos_size 8


name: mtconfiginfo
include_file: /usr/include/sys/mtio.h
nasm_code:
; from header /usr/include/sys/mtio.h
struc mtconfiginfo
    .mt_type         resb 8
    .ifc_type        resb 8
    .irqnr           resb 2
    .dmanr           resb 2
    .port            resb 2
    .debug           resb 8
    .have_dens       resb 4
    .have_bsf        resb 4
    .have_fsr        resb 4
    .have_bsr        resb 4
    .have_eod        resb 4
    .have_seek       resb 4
    .have_tell       resb 4
    .have_ras1       resb 4
    .have_ras2       resb 4
    .have_ras3       resb 4
    .have_qfa        resb 4
    .pad1            resb 4
    .reserved        resb 10 ; None
endstruc
%define struc_mtconfiginfo_size 48


name: statvfs
include_file: /usr/include/sys/statvfs.h
nasm_code:
; from header /usr/include/sys/statvfs.h
struc statvfs
    .f_bsize         resb 8
    .f_frsize        resb 8
    .f_blocks        resb 8
    .f_bfree         resb 8
    .f_bavail        resb 8
    .f_files         resb 8
    .f_ffree         resb 8
    .f_favail        resb 8
    .f_fsid          resb 8
    .f_flag          resb 8
    .f_namemax       resb 8
    .__reserved      resb 24 ; None
endstruc
%define struc_statvfs_size 112


name: rlimit
include_file: /usr/include/sys/resource.h
nasm_code:
; from header /usr/include/sys/resource.h
struc rlimit
    .rlim_cur        resb 8
    .rlim_max        resb 8
endstruc
%define struc_rlimit_size 16


name: rusage
include_file: /usr/include/sys/resource.h
nasm_code:
; from header /usr/include/sys/resource.h
struc rusage
    .ru_utime        resb 16 ; struc timeval
    .ru_stime        resb 16 ; struc timeval
    .ru_maxrss       resb 8
    .ru_ixrss        resb 8
    .ru_idrss        resb 8
    .ru_isrss        resb 8
    .ru_minflt       resb 8
    .ru_majflt       resb 8
    .ru_nswap        resb 8
    .ru_inblock      resb 8
    .ru_oublock      resb 8
    .ru_msgsnd       resb 8
    .ru_msgrcv       resb 8
    .ru_nsignals     resb 8
    .ru_nvcsw        resb 8
    .ru_nivcsw       resb 8
    .__reserved      resb 128 ; None
endstruc
%define struc_rusage_size 272


name: fanotify_event_metadata
include_file: /usr/include/sys/fanotify.h
nasm_code:
; from header /usr/include/sys/fanotify.h
struc fanotify_event_metadata
    .event_len       resb 4
    .vers            resb 1
    .reserved        resb 1
    .metadata_len    resb 2
    .mask            resb 8
    .fd              resb 4
    .pid             resb 4
endstruc
%define struc_fanotify_event_metadata_size 24


name: fanotify_event_info_header
include_file: /usr/include/sys/fanotify.h
nasm_code:
; from header /usr/include/sys/fanotify.h
struc fanotify_event_info_header
    .info_type       resb 1
    .pad             resb 1
    .len             resb 2
endstruc
%define struc_fanotify_event_info_header_size 4


name: fanotify_event_info_fid
include_file: /usr/include/sys/fanotify.h
nasm_code:
; from header /usr/include/sys/fanotify.h
struc fanotify_event_info_fid
    .hdr             resb 4 ; struc fanotify_event_info_header
    .fsid            resb 8 ; fsid_t
    .handle          resb 0 ; None
endstruc
%define struc_fanotify_event_info_fid_size 12


name: fanotify_response
include_file: /usr/include/sys/fanotify.h
nasm_code:
; from header /usr/include/sys/fanotify.h
struc fanotify_response
    .fd              resb 4
    .response        resb 4
endstruc
%define struc_fanotify_response_size 8


name: epoll_event
include_file: /usr/include/sys/epoll.h
nasm_code:
; from header /usr/include/sys/epoll.h
struc epoll_event
    .events          resb 4
    .data            resb 8 ; epoll_data_t
endstruc
%define struc_epoll_event_size 12


name: mntent
include_file: /usr/include/mntent.h
nasm_code:
; from header /usr/include/mntent.h
struc mntent
    .mnt_fsname      resb 8
    .mnt_dir         resb 8
    .mnt_type        resb 8
    .mnt_opts        resb 8
    .mnt_freq        resb 4
    .mnt_passno      resb 4
endstruc
%define struc_mntent_size 40


