Plan 9 from Bell Labs’s /usr/web/sources/contrib/rsc/linuxemu/libc/linux/syscall/syscall.h

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


/*
 * 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);

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to [email protected].