/*
 * System call argument lists.
 *
 * DO NOT EDIT: this file is automatically generated.
 * created from; Mimiker system call name/number "master" file.
 */

#include <sys/time.h>
#include <sys/ucontext.h>
#include <sys/sigtypes.h>
#include <sys/siginfo.h>
#define SCARG(p, x) ((p)->x.arg)
#define SYSCALLARG(x) union { register_t _pad; x arg; }

typedef struct {
  SYSCALLARG(int) number;
} syscall_args_t;

typedef struct {
  SYSCALLARG(int) rval;
} exit_args_t;

typedef struct {
  SYSCALLARG(int) fd;
  SYSCALLARG(void *) buf;
  SYSCALLARG(size_t) nbyte;
} read_args_t;

typedef struct {
  SYSCALLARG(int) fd;
  SYSCALLARG(const void *) buf;
  SYSCALLARG(size_t) nbyte;
} write_args_t;

typedef struct {
  SYSCALLARG(int) fd;
  SYSCALLARG(const char *) path;
  SYSCALLARG(int) flags;
  SYSCALLARG(mode_t) mode;
} openat_args_t;

typedef struct {
  SYSCALLARG(int) fd;
} close_args_t;

typedef struct {
  SYSCALLARG(int) fd;
  SYSCALLARG(off_t) offset;
  SYSCALLARG(int) whence;
} lseek_args_t;

typedef struct {
  SYSCALLARG(int) fd;
  SYSCALLARG(const char *) path;
  SYSCALLARG(int) flag;
} unlinkat_args_t;

typedef struct {
  SYSCALLARG(pid_t) pid;
  SYSCALLARG(int) sig;
} kill_args_t;

typedef struct {
  SYSCALLARG(int) fd;
  SYSCALLARG(struct stat *) sb;
} fstat_args_t;

typedef struct {
  SYSCALLARG(intptr_t) increment;
} sbrk_args_t;

typedef struct {
  SYSCALLARG(void *) addr;
  SYSCALLARG(size_t) len;
  SYSCALLARG(int) prot;
  SYSCALLARG(int) flags;
  SYSCALLARG(int) fd;
  SYSCALLARG(off_t) pos;
} mmap_args_t;

typedef struct {
  SYSCALLARG(const char *) type;
  SYSCALLARG(const char *) path;
} mount_args_t;

typedef struct {
  SYSCALLARG(int) fd;
  SYSCALLARG(void *) buf;
  SYSCALLARG(size_t) len;
} getdents_args_t;

typedef struct {
  SYSCALLARG(int) fd;
} dup_args_t;

typedef struct {
  SYSCALLARG(int) from;
  SYSCALLARG(int) to;
} dup2_args_t;

typedef struct {
  SYSCALLARG(int) signum;
  SYSCALLARG(const struct sigaction *) nsa;
  SYSCALLARG(struct sigaction *) osa;
} sigaction_args_t;

typedef struct {
  SYSCALLARG(ucontext_t *) sigctx_p;
} sigreturn_args_t;

typedef struct {
  SYSCALLARG(pid_t) pid;
  SYSCALLARG(int *) status;
  SYSCALLARG(int) options;
  SYSCALLARG(struct rusage *) rusage;
} wait4_args_t;

typedef struct {
  SYSCALLARG(int) fd;
  SYSCALLARG(const char *) path;
  SYSCALLARG(mode_t) mode;
} mkdirat_args_t;

typedef struct {
  SYSCALLARG(const char *) target;
  SYSCALLARG(int) newdirfd;
  SYSCALLARG(const char *) linkpath;
} symlinkat_args_t;

typedef struct {
  SYSCALLARG(int) fd;
  SYSCALLARG(const char *) path;
  SYSCALLARG(int) mode;
  SYSCALLARG(int) flags;
} faccessat_args_t;

typedef struct {
  SYSCALLARG(int) fd;
  SYSCALLARG(const char *) path;
  SYSCALLARG(struct stat *) sb;
  SYSCALLARG(int) flag;
} fstatat_args_t;

typedef struct {
  SYSCALLARG(int *) fdp;
  SYSCALLARG(int) flags;
} pipe2_args_t;

typedef struct {
  SYSCALLARG(clockid_t) clock_id;
  SYSCALLARG(struct timespec *) tsp;
} clock_gettime_args_t;

typedef struct {
  SYSCALLARG(clockid_t) clock_id;
  SYSCALLARG(int) flags;
  SYSCALLARG(const struct timespec *) rqtp;
  SYSCALLARG(struct timespec *) rmtp;
} clock_nanosleep_args_t;

typedef struct {
  SYSCALLARG(const char *) path;
  SYSCALLARG(char *const *) argp;
  SYSCALLARG(char *const *) envp;
} execve_args_t;

typedef struct {
  SYSCALLARG(pid_t) pid;
  SYSCALLARG(pid_t) pgid;
} setpgid_args_t;

typedef struct {
  SYSCALLARG(pid_t) pid;
} getpgid_args_t;

typedef struct {
  SYSCALLARG(mode_t) newmask;
} umask_args_t;

typedef struct {
  SYSCALLARG(void *) addr;
  SYSCALLARG(size_t) len;
} munmap_args_t;

typedef struct {
  SYSCALLARG(void *) addr;
  SYSCALLARG(size_t) len;
  SYSCALLARG(int) prot;
} mprotect_args_t;

typedef struct {
  SYSCALLARG(const char *) path;
} chdir_args_t;

typedef struct {
  SYSCALLARG(char *) buf;
  SYSCALLARG(size_t) len;
} getcwd_args_t;

typedef struct {
  SYSCALLARG(const stack_t *) ss;
  SYSCALLARG(stack_t *) old_ss;
} sigaltstack_args_t;

typedef struct {
  SYSCALLARG(int) how;
  SYSCALLARG(const sigset_t *) set;
  SYSCALLARG(sigset_t *) oset;
} sigprocmask_args_t;

typedef struct {
  SYSCALLARG(const ucontext_t *) ucp;
} setcontext_args_t;

typedef struct {
  SYSCALLARG(int) fd;
  SYSCALLARG(u_long) cmd;
  SYSCALLARG(void *) data;
} ioctl_args_t;

typedef struct {
  SYSCALLARG(uid_t *) ruid;
  SYSCALLARG(uid_t *) euid;
  SYSCALLARG(uid_t *) suid;
} getresuid_args_t;

typedef struct {
  SYSCALLARG(gid_t *) rgid;
  SYSCALLARG(gid_t *) egid;
  SYSCALLARG(gid_t *) sgid;
} getresgid_args_t;

typedef struct {
  SYSCALLARG(uid_t) ruid;
  SYSCALLARG(uid_t) euid;
  SYSCALLARG(uid_t) suid;
} setresuid_args_t;

typedef struct {
  SYSCALLARG(gid_t) rgid;
  SYSCALLARG(gid_t) egid;
  SYSCALLARG(gid_t) sgid;
} setresgid_args_t;

typedef struct {
  SYSCALLARG(int) fd;
  SYSCALLARG(int) cmd;
  SYSCALLARG(void *) arg;
} fcntl_args_t;

typedef struct {
  SYSCALLARG(const char *) path;
  SYSCALLARG(off_t) length;
} truncate_args_t;

typedef struct {
  SYSCALLARG(int) fd;
  SYSCALLARG(off_t) length;
} ftruncate_args_t;

typedef struct {
  SYSCALLARG(int) fd;
  SYSCALLARG(const char *) path;
  SYSCALLARG(char *) buf;
  SYSCALLARG(size_t) bufsiz;
} readlinkat_args_t;

typedef struct {
  SYSCALLARG(int) fd;
} fchdir_args_t;

typedef struct {
  SYSCALLARG(int) fd1;
  SYSCALLARG(const char *) name1;
  SYSCALLARG(int) fd2;
  SYSCALLARG(const char *) name2;
  SYSCALLARG(int) flags;
} linkat_args_t;

typedef struct {
  SYSCALLARG(int) fd;
  SYSCALLARG(mode_t) mode;
} fchmod_args_t;

typedef struct {
  SYSCALLARG(int) fd;
  SYSCALLARG(const char *) path;
  SYSCALLARG(mode_t) mode;
  SYSCALLARG(int) flag;
} fchmodat_args_t;

typedef struct {
  SYSCALLARG(sigset_t *) sigmask;
} sigsuspend_args_t;

typedef struct {
  SYSCALLARG(const char *) path;
  SYSCALLARG(struct statvfs *) buf;
} statvfs_args_t;

typedef struct {
  SYSCALLARG(int) fd;
  SYSCALLARG(struct statvfs *) buf;
} fstatvfs_args_t;

typedef struct {
  SYSCALLARG(int) ngroups;
  SYSCALLARG(gid_t *) gidset;
} getgroups_args_t;

typedef struct {
  SYSCALLARG(int) ngroups;
  SYSCALLARG(const gid_t *) gidset;
} setgroups_args_t;

typedef struct {
  SYSCALLARG(pid_t) pid;
} getsid_args_t;

typedef struct {
  SYSCALLARG(int) which;
  SYSCALLARG(id_t) who;
} getpriority_args_t;

typedef struct {
  SYSCALLARG(int) which;
  SYSCALLARG(id_t) who;
  SYSCALLARG(int) prio;
} setpriority_args_t;

typedef struct {
  SYSCALLARG(uid_t) uid;
} setuid_args_t;

typedef struct {
  SYSCALLARG(uid_t) euid;
} seteuid_args_t;

typedef struct {
  SYSCALLARG(uid_t) ruid;
  SYSCALLARG(uid_t) euid;
} setreuid_args_t;

typedef struct {
  SYSCALLARG(gid_t) gid;
} setgid_args_t;

typedef struct {
  SYSCALLARG(gid_t) egid;
} setegid_args_t;

typedef struct {
  SYSCALLARG(gid_t) rgid;
  SYSCALLARG(gid_t) egid;
} setregid_args_t;

typedef struct {
  SYSCALLARG(int) fd;
  SYSCALLARG(uid_t) uid;
  SYSCALLARG(gid_t) gid;
} fchown_args_t;

typedef struct {
  SYSCALLARG(int) fd;
  SYSCALLARG(const char *) path;
  SYSCALLARG(uid_t) uid;
  SYSCALLARG(gid_t) gid;
  SYSCALLARG(int) flag;
} fchownat_args_t;

typedef struct {
  SYSCALLARG(char *) namebuf;
  SYSCALLARG(size_t) buflen;
} getlogin_args_t;

typedef struct {
  SYSCALLARG(char *) name;
} setlogin_args_t;

typedef struct {
  SYSCALLARG(int) flags;
} posix_openpt_args_t;

typedef struct {
  SYSCALLARG(int) fd;
  SYSCALLARG(const struct timespec *) times;
} futimens_args_t;

typedef struct {
  SYSCALLARG(int) fd;
  SYSCALLARG(const char *) path;
  SYSCALLARG(const struct timespec *) times;
  SYSCALLARG(int) flag;
} utimensat_args_t;

typedef struct {
  SYSCALLARG(int) fd;
  SYSCALLARG(const struct iovec *) iov;
  SYSCALLARG(int) iovcnt;
} readv_args_t;

typedef struct {
  SYSCALLARG(int) fd;
  SYSCALLARG(const struct iovec *) iov;
  SYSCALLARG(int) iovcnt;
} writev_args_t;

typedef struct {
  SYSCALLARG(sigset_t *) set;
} sigpending_args_t;

typedef struct {
  SYSCALLARG(int) which;
  SYSCALLARG(struct itimerval *) val;
} getitimer_args_t;

typedef struct {
  SYSCALLARG(int) which;
  SYSCALLARG(struct itimerval *) val;
  SYSCALLARG(struct itimerval *) oval;
} setitimer_args_t;

typedef struct {
  SYSCALLARG(int) fd;
} fsync_args_t;

typedef struct {
  SYSCALLARG(int) flags;
} kqueue1_args_t;

typedef struct {
  SYSCALLARG(int) kq;
  SYSCALLARG(const struct kevent *) changelist;
  SYSCALLARG(size_t) nchanges;
  SYSCALLARG(struct kevent *) eventlist;
  SYSCALLARG(size_t) nevents;
  SYSCALLARG(const struct timespec *) timeout;
} kevent_args_t;

typedef struct {
  SYSCALLARG(const sigset_t *) set;
  SYSCALLARG(siginfo_t *) info;
  SYSCALLARG(struct timespec *) timeout;
} sigtimedwait_args_t;

typedef struct {
  SYSCALLARG(clockid_t) clock_id;
  SYSCALLARG(const struct timespec *) tp;
} clock_settime_args_t;

typedef struct {
  SYSCALLARG(const char *) path;
  SYSCALLARG(int) name;
} pathconf_args_t;
