/*
* Linux system calls, and the structures needed to call them.
*/
typedef struct Timeval Timeval;
struct Timeval {
long sec;
long usec;
};
enum {
ITIMER_REAL = 0
};
typedef struct Itimerval Itimerval;
struct Itimerval {
Timeval interval;
Timeval value;
};
typedef struct Stat Stat;
struct Stat {
ushort dev;
ushort __pad1;
ulong ino;
ushort mode;
ushort nlink;
ushort uid;
ushort gid;
ushort rdev;
ushort __pad2;
ulong size;
ulong blksize;
ulong blocks;
ulong atime;
ulong __unused1;
ulong mtime;
ulong __unused2;
ulong ctime;
ulong __unused3;
ulong __unused4;
ulong __unused5;
};
typedef struct Utime Utime;
struct Utime {
long atime;
long mtime;
};
/*
* Until proven otherwise, they all take 5 ulongs and return a ulong.
*/
ulong linuxsetup(ulong, ulong, ulong, ulong, ulong);
void linuxexit(int);
long linuxfork(void);
long linuxread(int, void*, long);
long linuxwrite(int, void*, long);
enum {
O_RDONLY = 0,
O_WRONLY = 1,
O_RDWR = 2,
O_CREAT = 0100,
O_EXCL = 0200,
O_TRUNC = 01000,
O_APPEND = 02000,
O_DIRECTORY = 0200000,
};
int linuxopen(char*, int, ...);
int linuxclose(int);
int linuxwaitpid(long, int*, int);
int linuxcreat(char*, int);
int linuxlink(char*, char*);
int linuxunlink(char*);
int linuxexecve(char *, char **, char**);
int linuxchdir(char*);
long linuxtime(long*);
int linuxmknod(char*, int, int);
int linuxchmod(char*, int);
ulong linuxlchown(ulong, ulong, ulong, ulong, ulong);
ulong linuxsyscall_17(ulong, ulong, ulong, ulong, ulong);
ulong linuxstat(ulong, ulong, ulong, ulong, ulong);
long linuxlseek(int, long, int); /* vlong? */
long linuxgetpid(void);
ulong linuxmount(ulong, ulong, ulong, ulong, ulong);
ulong linuxumount(ulong, ulong, ulong, ulong, ulong);
ulong linuxsetuid(ulong, ulong, ulong, ulong, ulong);
ulong linuxgetuid(ulong, ulong, ulong, ulong, ulong);
ulong linuxstime(ulong, ulong, ulong, ulong, ulong);
ulong linuxptrace(ulong, ulong, ulong, ulong, ulong);
ulong linuxalarm(ulong, ulong, ulong, ulong, ulong);
ulong linuxfstat(ulong, ulong, ulong, ulong, ulong);
ulong linuxpause(ulong, ulong, ulong, ulong, ulong);
int linuxutime(char*, Utime*);
ulong linuxsyscall_31(ulong, ulong, ulong, ulong, ulong);
ulong linuxsyscall_32(ulong, ulong, ulong, ulong, ulong);
ulong linuxaccess(ulong, ulong, ulong, ulong, ulong);
ulong linuxnice(ulong, ulong, ulong, ulong, ulong);
ulong linuxsyscall_35(ulong, ulong, ulong, ulong, ulong);
ulong linuxsync(void);
ulong linuxkill(ulong, ulong, ulong, ulong, ulong);
ulong linuxrename(ulong, ulong, ulong, ulong, ulong);
ulong linuxmkdir(ulong, ulong, ulong, ulong, ulong);
int linuxrmdir(char*);
ulong linuxdup(ulong, ulong, ulong, ulong, ulong);
ulong linuxpipe(ulong, ulong, ulong, ulong, ulong);
ulong linuxtimes(ulong, ulong, ulong, ulong, ulong);
ulong linuxsyscall_44(ulong, ulong, ulong, ulong, ulong);
long linuxbrk(void*);
ulong linuxsetgid(ulong, ulong, ulong, ulong, ulong);
ulong linuxgetgid(ulong, ulong, ulong, ulong, ulong);
ulong linuxsignal(ulong, ulong, ulong, ulong, ulong);
ulong linuxgeteuid(ulong, ulong, ulong, ulong, ulong);
ulong linuxgetegid(ulong, ulong, ulong, ulong, ulong);
ulong linuxacct(ulong, ulong, ulong, ulong, ulong);
ulong linuxsyscall_52(ulong, ulong, ulong, ulong, ulong);
ulong linuxsyscall_53(ulong, ulong, ulong, ulong, ulong);
ulong linuxioctl(ulong, ulong, ulong, ulong, ulong);
ulong linuxfcntl(ulong, ulong, ulong, ulong, ulong);
ulong linuxsyscall_56(ulong, ulong, ulong, ulong, ulong);
ulong linuxsetpgid(ulong, ulong, ulong, ulong, ulong);
ulong linuxsyscall_58(ulong, ulong, ulong, ulong, ulong);
ulong linuxolduname(ulong, ulong, ulong, ulong, ulong);
ulong linuxumask(ulong, ulong, ulong, ulong, ulong);
ulong linuxchroot(ulong, ulong, ulong, ulong, ulong);
ulong linuxustat(ulong, ulong, ulong, ulong, ulong);
int linuxdup2(int, int);
long linuxgetppid(void);
ulong linuxgetpgrp(ulong, ulong, ulong, ulong, ulong);
ulong linuxsetsid(ulong, ulong, ulong, ulong, ulong);
ulong linuxsigaction(ulong, ulong, ulong, ulong, ulong);
ulong linuxsgetmask(ulong, ulong, ulong, ulong, ulong);
ulong linuxssetmask(ulong, ulong, ulong, ulong, ulong);
ulong linuxsetreuid(ulong, ulong, ulong, ulong, ulong);
ulong linuxsetregid(ulong, ulong, ulong, ulong, ulong);
ulong linuxsigsuspend(ulong, ulong, ulong, ulong, ulong);
ulong linuxsigpending(ulong, ulong, ulong, ulong, ulong);
ulong linuxsethostname(ulong, ulong, ulong, ulong, ulong);
ulong linuxsetrlimit(ulong, ulong, ulong, ulong, ulong);
ulong linuxgetrlimit(ulong, ulong, ulong, ulong, ulong);
ulong linuxgetrusage(ulong, ulong, ulong, ulong, ulong);
int linuxgettimeofday(Timeval*, void*);
ulong linuxsettimeofday(ulong, ulong, ulong, ulong, ulong);
ulong linuxgetgroups(ulong, ulong, ulong, ulong, ulong);
ulong linuxsetgroups(ulong, ulong, ulong, ulong, ulong);
ulong linuxold_select(ulong, ulong, ulong, ulong, ulong);
ulong linuxsymlink(ulong, ulong, ulong, ulong, ulong);
ulong linuxlstat(ulong, ulong, ulong, ulong, ulong);
ulong linuxreadlink(ulong, ulong, ulong, ulong, ulong);
ulong linuxuselib(ulong, ulong, ulong, ulong, ulong);
ulong linuxswapon(ulong, ulong, ulong, ulong, ulong);
ulong linuxreboot(ulong, ulong, ulong, ulong, ulong);
ulong linuxold_readdir(ulong, ulong, ulong, ulong, ulong);
ulong linuxold_mmap(ulong, ulong, ulong, ulong, ulong);
ulong linuxmunmap(ulong, ulong, ulong, ulong, ulong);
ulong linuxtruncate(ulong, ulong, ulong, ulong, ulong);
ulong linuxftruncate(ulong, ulong, ulong, ulong, ulong);
ulong linuxfchmod(ulong, ulong, ulong, ulong, ulong);
ulong linuxfchown(ulong, ulong, ulong, ulong, ulong);
ulong linuxgetpriority(ulong, ulong, ulong, ulong, ulong);
ulong linuxsetpriority(ulong, ulong, ulong, ulong, ulong);
ulong linuxsyscall_98(ulong, ulong, ulong, ulong, ulong);
ulong linuxstatfs(ulong, ulong, ulong, ulong, ulong);
ulong linuxfstatfs(ulong, ulong, ulong, ulong, ulong);
ulong linuxioperm(ulong, ulong, ulong, ulong, ulong);
enum {
PF_UNIX = 1,
SOCK_STREAM = 1,
SOCK_SEQPACKET = 5
};
enum {
SOCKOP_SOCKETPAIR = 8
};
ulong linuxsocketcall(int, ulong*);
ulong linuxsyslog(ulong, ulong, ulong, ulong, ulong);
int linuxsetitimer(int, Itimerval*, Itimerval*);
ulong linuxgetitimer(ulong, ulong, ulong, ulong, ulong);
int linuxnewstat(char*, Stat*);
int linuxnewlstat(char*, Stat*);
int linuxnewfstat(int, Stat*);
ulong linuxuname(ulong, ulong, ulong, ulong, ulong);
ulong linuxiopl(ulong, ulong, ulong, ulong, ulong);
ulong linuxvhangup(ulong, ulong, ulong, ulong, ulong);
ulong linuxidle(ulong, ulong, ulong, ulong, ulong);
ulong linuxvm86old(ulong, ulong, ulong, ulong, ulong);
ulong linuxwait4(ulong, ulong, ulong, ulong, ulong);
ulong linuxswapoff(ulong, ulong, ulong, ulong, ulong);
ulong linuxsysinfo(ulong, ulong, ulong, ulong, ulong);
ulong linuxipc(ulong, ulong, ulong, ulong, ulong);
ulong linuxfsync(ulong, ulong, ulong, ulong, ulong);
ulong linuxsigreturn(ulong, ulong, ulong, ulong, ulong);
ulong linuxclone(ulong, ulong, ulong, ulong, ulong);
ulong linuxsetdomainname(ulong, ulong, ulong, ulong, ulong);
ulong linuxnewuname(ulong, ulong, ulong, ulong, ulong);
ulong linuxmodify_ldt(ulong, ulong, ulong, ulong, ulong);
ulong linuxadjtimex(ulong, ulong, ulong, ulong, ulong);
ulong linuxmprotect(ulong, ulong, ulong, ulong, ulong);
ulong linuxsigprocmask(ulong, ulong, ulong, ulong, ulong);
ulong linuxcreate_module(ulong, ulong, ulong, ulong, ulong);
ulong linuxinit_module(ulong, ulong, ulong, ulong, ulong);
ulong linuxdelete_module(ulong, ulong, ulong, ulong, ulong);
ulong linuxget_kernel_syms(ulong, ulong, ulong, ulong, ulong);
ulong linuxquotactl(ulong, ulong, ulong, ulong, ulong);
ulong linuxgetpgid(ulong, ulong, ulong, ulong, ulong);
ulong linuxfchdir(ulong, ulong, ulong, ulong, ulong);
ulong linuxbdflush(ulong, ulong, ulong, ulong, ulong);
ulong linuxsysfs(ulong, ulong, ulong, ulong, ulong);
int linuxpersonality(ulong);
ulong linuxsyscall_137(ulong, ulong, ulong, ulong, ulong);
ulong linuxsetfsuid(ulong, ulong, ulong, ulong, ulong);
ulong linuxsetfsgid(ulong, ulong, ulong, ulong, ulong);
ulong linuxllseek(ulong, ulong, ulong, ulong, ulong);
ulong linuxgetdents(ulong, ulong, ulong, ulong, ulong);
int linuxselect(int, void*, void*, void*, Timeval*);
ulong linuxflock(ulong, ulong, ulong, ulong, ulong);
ulong linuxmsync(ulong, ulong, ulong, ulong, ulong);
ulong linuxreadv(ulong, ulong, ulong, ulong, ulong);
ulong linuxwritev(ulong, ulong, ulong, ulong, ulong);
ulong linuxgetsid(ulong, ulong, ulong, ulong, ulong);
ulong linuxfdatasync(ulong, ulong, ulong, ulong, ulong);
ulong linuxsysctl(ulong, ulong, ulong, ulong, ulong);
ulong linuxmlock(ulong, ulong, ulong, ulong, ulong);
ulong linuxmunlock(ulong, ulong, ulong, ulong, ulong);
ulong linuxmlockall(ulong, ulong, ulong, ulong, ulong);
ulong linuxmunlockall(ulong, ulong, ulong, ulong, ulong);
ulong linuxsched_setparam(ulong, ulong, ulong, ulong, ulong);
ulong linuxsched_getparam(ulong, ulong, ulong, ulong, ulong);
ulong linuxsched_setscheduler(ulong, ulong, ulong, ulong, ulong);
ulong linuxsched_getscheduler(ulong, ulong, ulong, ulong, ulong);
ulong linuxsched_yield(ulong, ulong, ulong, ulong, ulong);
ulong linuxsched_get_priority_max(ulong, ulong, ulong, ulong, ulong);
ulong linuxsched_get_priority_min(ulong, ulong, ulong, ulong, ulong);
ulong linuxsched_rr_get_interval(ulong, ulong, ulong, ulong, ulong);
ulong linuxnanosleep(ulong, ulong, ulong, ulong, ulong);
ulong linuxmremap(ulong, ulong, ulong, ulong, ulong);
ulong linuxsetresuid(ulong, ulong, ulong, ulong, ulong);
ulong linuxgetresuid(ulong, ulong, ulong, ulong, ulong);
ulong linuxvm86(ulong, ulong, ulong, ulong, ulong);
ulong linuxquery_module(ulong, ulong, ulong, ulong, ulong);
ulong linuxpoll(ulong, ulong, ulong, ulong, ulong);
ulong linuxnfsservctl(ulong, ulong, ulong, ulong, ulong);
ulong linuxsetresgid(ulong, ulong, ulong, ulong, ulong);
ulong linuxgetresgid(ulong, ulong, ulong, ulong, ulong);
ulong linuxprctl(ulong, ulong, ulong, ulong, ulong);
ulong linuxrt_sigreturn(ulong, ulong, ulong, ulong, ulong);
ulong linuxrt_sigaction(ulong, ulong, ulong, ulong, ulong);
ulong linuxrt_sigprocmask(ulong, ulong, ulong, ulong, ulong);
ulong linuxrt_sigpending(ulong, ulong, ulong, ulong, ulong);
ulong linuxrt_sigtimedwait(ulong, ulong, ulong, ulong, ulong);
ulong linuxrt_sigqueueinfo(ulong, ulong, ulong, ulong, ulong);
ulong linuxrt_sigsuspend(ulong, ulong, ulong, ulong, ulong);
ulong linuxpread(ulong, ulong, ulong, ulong, ulong);
ulong linuxpwrite(ulong, ulong, ulong, ulong, ulong);
ulong linuxchown(ulong, ulong, ulong, ulong, ulong);
long linuxgetcwd(char*, long);
|