1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024 |
- /* vi: set sw=4 ts=4: */
- /*
- * Syscalls for uC-Libc
- *
- * Copyright (C) 2000 by Lineo, inc. Written by Erik Andersen
- * <andersen@lineo.com>, <andersee@debian.org>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Library General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
- #include <errno.h>
- #include <features.h>
- #include <sys/types.h>
- #include <sys/syscall.h>
- //#define __NR_exit 1
- #ifdef L__exit
- /* Do not include unistd.h, so gcc doesn't whine about
- * _exit returning. It really doesn't return... */
- #define __NR__exit __NR_exit
- _syscall1(void,_exit,int,status);
- #endif
- //#define __NR_fork 2
- #ifdef L_fork
- #include <unistd.h>
- _syscall0(pid_t,fork);
- #endif
- //#define __NR_read 3
- #ifdef L_read
- #include <unistd.h>
- _syscall3(size_t,read,int,fd,char *,buf,size_t,count);
- #endif
- //#define __NR_write 4
- #ifdef L_write
- #include <unistd.h>
- _syscall3(size_t,write,int,fd,const char *,buf,size_t,count);
- #endif
- //#define __NR_open 5
- #ifdef L___open
- #include <stdarg.h>
- #include <fcntl.h>
- #define __NR___open __NR_open
- _syscall3(int,__open,const char *,fn,int,flags,mode_t,mode);
- int open (const char *file, int oflag, ...)
- {
- int mode=0;
- if (oflag & O_CREAT)
- {
- va_list args;
- va_start(args, oflag);
- mode = va_arg(args, int);
- va_end(args);
- }
- return __open(file, oflag, mode);
- }
- #endif
- //#define __NR_close 6
- #ifdef L_close
- #include <unistd.h>
- _syscall1(int,close,int,fd);
- #endif
- //#define __NR_waitpid 7
- #include <sys/wait.h>
- #ifdef L_waitpid
- _syscall3(pid_t,waitpid,pid_t,pid,int *,status,int,options);
- #endif
- //#define __NR_creat 8
- #ifdef L_creat
- #include <fcntl.h>
- _syscall2(int,creat,const char *,file,mode_t,mode);
- #endif
- //#define __NR_link 9
- #ifdef L_link
- #include <unistd.h>
- _syscall2(int,link,const char *,oldpath,const char *,newpath);
- #endif
- //#define __NR_unlink 10
- #ifdef L_unlink
- #include <unistd.h>
- _syscall1(int,unlink,const char *,pathname);
- #endif
- //#define __NR_execve 11
- #ifdef L_execve
- #include <unistd.h>
- _syscall3(int,execve,const char *,filename, char *const *, argv, char *const *, envp);
- #endif
- //#define __NR_chdir 12
- #ifdef L_chdir
- #include <unistd.h>
- _syscall1(int,chdir,const char *,path);
- #endif
- //#define __NR_time 13
- #ifdef L_time
- #include <time.h>
- _syscall1(time_t,time,time_t *,t);
- #endif
- //#define __NR_mknod 14
- #ifdef L_mknod
- #include <unistd.h>
- _syscall3(int,mknod,const char *,pathname, mode_t, mode, dev_t, dev);
- #endif
- //#define __NR_chmod 15
- #ifdef L_chmod
- #include <sys/stat.h>
- _syscall2(int, chmod,const char *,path, mode_t,mode);
- #endif
- //#define __NR_lchown 16
- #ifdef L_lchown
- #include <unistd.h>
- _syscall3(int,lchown,const char *,path, uid_t,owner, gid_t,group);
- #endif
- //#define __NR_break 17
- //#define __NR_oldstat 18
- //#define __NR_lseek 19
- #ifdef L_lseek
- #include <unistd.h>
- _syscall3(off_t,lseek,int,fildes, off_t,offset, int,whence);
- #endif
- //#define __NR_getpid 20
- #ifdef L_getpid
- #include <unistd.h>
- _syscall0(pid_t,getpid);
- #endif
- //#define __NR_mount 21
- #ifdef L_mount
- #include <sys/mount.h>
- _syscall5(int,mount,const char *,specialfile,const char *,dir,
- const char *,filesystemtype, unsigned long,rwflag,
- const void *,data);
- #endif
- //#define __NR_umount 22
- #ifdef L_umount
- #include <sys/mount.h>
- _syscall1(int,umount,const char *,specialfile);
- #endif
- //#define __NR_setuid 23
- #ifdef L_setuid
- #include <unistd.h>
- _syscall1(int,setuid,uid_t,uid);
- #endif
- //#define __NR_getuid 24
- #ifdef L_getuid
- #include <unistd.h>
- _syscall0(gid_t,getuid);
- #endif
- //#define __NR_stime 25
- #ifdef L_stime
- #include <time.h>
- _syscall1(int,stime,time_t *,t);
- #endif
- //#define __NR_ptrace 26
- //#define __NR_alarm 27
- #ifdef L_alarm
- #include <unistd.h>
- _syscall1(unsigned int,alarm,unsigned int,seconds);
- #endif
- //#define __NR_oldfstat 28
- //#define __NR_pause 29
- #ifdef L_pause
- #include <unistd.h>
- _syscall0(int,pause);
- #endif
- //#define __NR_utime 30
- #ifdef L_utime
- #include <utime.h>
- _syscall2(int,utime,const char *,filename, struct utimbuf *,buf);
- #endif
- //#define __NR_stty 31
- //#define __NR_gtty 32
- //#define __NR_access 33
- #ifdef L_access
- #include <unistd.h>
- _syscall2(int,access,const char *,pathname, int,mode);
- #endif
- //#define __NR_nice 34
- #ifdef L_nice
- #include <unistd.h>
- _syscall1(int,nice,int,inc);
- #endif
- //#define __NR_ftime 35
- //#define __NR_sync 36
- #ifdef L_sync
- #include <unistd.h>
- _syscall0(int,sync);
- #endif
- //#define __NR_kill 37
- #ifdef L_kill
- #include <signal.h>
- _syscall2(int,kill,pid_t,pid,int,sig);
- #endif
- //#define __NR_rename 38
- #ifdef L_rename
- #include <stdio.h>
- _syscall2(int,rename,const char *,oldpath, const char *,newpath);
- #endif
- //#define __NR_mkdir 39
- #ifdef L_mkdir
- #include <sys/stat.h>
- _syscall2(int,mkdir,const char *,pathname, mode_t,mode);
- #endif
- //#define __NR_rmdir 40
- #ifdef L_rmdir
- #include <unistd.h>
- _syscall1(int,rmdir,const char *,pathname);
- #endif
- //#define __NR_dup 41
- #ifdef L_dup
- #include <unistd.h>
- _syscall1(int,dup,int,oldfd);
- #endif
- //#define __NR_pipe 42
- #ifdef L_pipe
- #include <unistd.h>
- _syscall1(int,pipe,int*,filedes);
- #endif
- //#define __NR_times 43
- #ifdef L_times
- #include <sys/times.h>
- _syscall1(clock_t,times,struct tms *,buf);
- #endif
- //#define __NR_prof 44
- //#define __NR_brk 45
- //#define __NR_setgid 46
- #ifdef L_setgid
- #include <unistd.h>
- _syscall1(int,setgid,gid_t,gid);
- #endif
- //#define __NR_getgid 47
- #ifdef L_getgid
- #include <unistd.h>
- _syscall0(gid_t,getgid);
- #endif
- //#define __NR_signal 48
- //#define __NR_geteuid 49
- #ifdef L_geteuid
- #ifdef SYS_geteuid
- #include <unistd.h>
- _syscall0(uid_t,geteuid);
- #else
- uid_t geteuid(void)
- {
- return(getuid());
- }
- #endif
- #endif
- //#define __NR_getegid 50
- #ifdef L_getegid
- #ifdef SYS_getegid
- #include <unistd.h>
- _syscall0(gid_t,getegid);
- #else
- gid_t getegid(void)
- {
- return(getgid());
- }
- #endif
- #endif
- //#define __NR_acct 51
- //#define __NR_umount2 52
- #ifdef L_umount2
- #include <sys/mount.h>
- _syscall2(int,umount2,const char *,special_file,int,flags);
- #endif
- //#define __NR_lock 53
- //#define __NR_ioctl 54
- #ifdef L__ioctl
- #include <stdarg.h>
- #include <sys/ioctl.h>
- #define __NR__ioctl __NR_ioctl
- _syscall3(int,_ioctl,int,fd,int,request,void *,arg);
- int ioctl (int fd, unsigned long int request, ...)
- {
- void * arg;
- va_list list;
- va_start(list, request);
- arg = va_arg(list, void *);
- va_end(list);
- return _ioctl(fd, request, arg);
- }
- #endif
- //#define __NR_fcntl 55
- #ifdef L__fcntl
- #include <stdarg.h>
- #include <fcntl.h>
- #define __NR__fcntl __NR_fcntl
- _syscall3(int,_fcntl,int,fd,int,cmd,long,arg);
- int fcntl(int fd, int command, ...)
- {
- long arg;
- va_list list;
- va_start(list, command);
- arg = va_arg(list, long);
- va_end(list);
- return _fcntl(fd, command, arg);
- }
- #endif
- //#define __NR_mpx 56
- //#define __NR_setpgid 57
- #ifdef L_setpgid
- #include <unistd.h>
- _syscall2(int,setpgid,pid_t,pid,pid_t,pgid);
- #endif
- //#define __NR_ulimit 58
- //#define __NR_oldolduname 59
- //#define __NR_umask 60
- #ifdef L_umask
- #include <sys/stat.h>
- _syscall1(mode_t,umask,mode_t,mask);
- #endif
- //#define __NR_chroot 61
- #ifdef L_chroot
- #include <unistd.h>
- _syscall1(int,chroot,const char *,path);
- #endif
- //#define __NR_ustat 62
- //#define __NR_dup2 63
- #ifdef L_dup2
- #include <unistd.h>
- _syscall2(int,dup2,int,oldfd,int,newfd);
- #endif
- //#define __NR_getppid 64
- #ifdef L_getppid
- #include <unistd.h>
- #ifdef SYS_getppid
- _syscall0(pid_t,getppid);
- #else
- pid_t getppid(void)
- {
- return(getpid());
- }
- #endif
- #endif
- //#define __NR_getpgrp 65
- #ifdef L_getpgrp
- #include <unistd.h>
- _syscall0(pid_t,getpgrp);
- #endif
- //#define __NR_setsid 66
- #ifdef L_setsid
- #include <unistd.h>
- _syscall0(pid_t,setsid);
- #endif
- //#define __NR_sigaction 67
- #ifdef L_sigaction
- #include <signal.h>
- _syscall3(int,sigaction,int,signum, const struct sigaction *,act, struct sigaction *,oldact);
- #endif
- //#define __NR_sgetmask 68
- //#define __NR_ssetmask 69
- //#define __NR_setreuid 70
- #ifdef L_setreuid
- #include <unistd.h>
- _syscall2(int,setreuid,uid_t,ruid,uid_t,euid);
- #endif
- //#define __NR_setregid 71
- #ifdef L_setregid
- #include <unistd.h>
- _syscall2(int,setregid,gid_t,rgid,gid_t,egid);
- #endif
- //#define __NR_sigsuspend 72
- #ifdef L_sigsuspend
- #include <signal.h>
- _syscall1(int,sigsuspend,const sigset_t *,mask);
- #endif
- //#define __NR_sigpending 73
- #ifdef L_sigpending
- #include <signal.h>
- _syscall1(int,sigpending,sigset_t *,set);
- #endif
- //#define __NR_sethostname 74
- #ifdef L_sethostname
- #include <unistd.h>
- _syscall2(int,sethostname,const char *,name, size_t,len);
- #endif
- //#define __NR_setrlimit 75
- #ifdef L_setrlimit
- #include <unistd.h>
- #include <sys/resource.h>
- _syscall2(int,setrlimit,int,resource,const struct rlimit *,rlim);
- #endif
- //#define __NR_getrlimit 76
- #ifdef L_getrlimit
- #include <unistd.h>
- #include <sys/resource.h>
- _syscall2(int,getrlimit,int,resource,struct rlimit *,rlim);
- #endif
- //#define __NR_getrusage 77
- #ifdef L_getrusage
- #include <unistd.h>
- _syscall2(int,getrusage,int,who,struct rusage *,usage);
- #endif
- //#define __NR_gettimeofday 78
- #ifdef L_gettimeofday
- #include <unistd.h>
- _syscall2(int,gettimeofday,struct timeval *,tv, struct timezone *,tz);
- #endif
- //#define __NR_settimeofday 79
- #ifdef L_settimeofday
- #include <unistd.h>
- _syscall2(int,settimeofday,const struct timeval *,tv, const struct timezone *,tz);
- #endif
- //#define __NR_getgroups 80
- #ifdef L_getgroups
- #include <unistd.h>
- _syscall2(int,getgroups,int,size,gid_t *,list);
- #endif
- //#define __NR_setgroups 81
- #ifdef L_setgroups
- #include <unistd.h>
- #include <grp.h>
- _syscall2(int,setgroups,size_t,size,const gid_t *,list);
- #endif
- //#define __NR_select 82
- #ifdef L_select
- #include <unistd.h>
- _syscall5(int,select,int, n, fd_set *,readfds, fd_set *,writefds,
- fd_set *,exceptfds, struct timeval *,timeout);
- #endif
- //#define __NR_symlink 83
- #ifdef L_symlink
- #include <unistd.h>
- _syscall2(int,symlink,const char *,oldpath,const char *,newpath);
- #endif
- //#define __NR_oldlstat 84
- //#define __NR_readlink 85
- #ifdef L_readlink
- #include <unistd.h>
- _syscall3(int,readlink,const char *,path, char *,buf, size_t,bufsiz);
- #endif
- //#define __NR_uselib 86
- #ifdef L_uselib
- #include <unistd.h>
- _syscall1(int,uselib,const char *,library);
- #endif
- //#define __NR_swapon 87
- #ifdef L_swapon
- #include <sys/swap.h>
- _syscall2(int,swapon,const char *,path,int,swapflags);
- #endif
- //#define __NR_reboot 88
- #ifdef L__reboot
- #define __NR__reboot __NR_reboot
- _syscall3(int,_reboot,int,magic,int,magic2,int,flag);
- int reboot (int flag)
- {
- return (_reboot( (int)0xfee1dead, 672274793, flag));
- }
- #endif
- //#define __NR_readdir 89
- //#define __NR_mmap 90
- #ifdef L__mmap
- #define __NR__mmap __NR_mmap
- #include <unistd.h>
- #include <sys/mman.h>
- _syscall1(__ptr_t,_mmap,unsigned long *,buffer);
- __ptr_t mmap(__ptr_t addr, size_t len, int prot,
- int flags, int fd, __off_t offset)
- {
- unsigned long buffer[6];
- buffer[0] = (unsigned long)addr;
- buffer[1] = (unsigned long)len;
- buffer[2] = (unsigned long)prot;
- buffer[3] = (unsigned long)flags;
- buffer[4] = (unsigned long)fd;
- buffer[5] = (unsigned long)offset;
- return (__ptr_t) _mmap(buffer);
- }
- #endif
- //#define __NR_munmap 91
- #ifdef L_munmap
- #include <unistd.h>
- #include <sys/mman.h>
- _syscall2(int,munmap,void *,start,size_t,length);
- #endif
- //#define __NR_truncate 92
- #ifdef L_truncate
- #include <unistd.h>
- _syscall2(int,truncate,const char *,path, off_t,length);
- #endif
- //#define __NR_ftruncate 93
- #ifdef L_ftruncate
- #include <unistd.h>
- _syscall2(int,ftruncate,int,fd,off_t,length);
- #endif
- //#define __NR_fchmod 94
- #ifdef L_fchmod
- #include <sys/stat.h>
- _syscall2(int,fchmod,int,fildes, mode_t,mode);
- #endif
- //#define __NR_fchown 95
- #ifdef L_fchown
- #include <unistd.h>
- _syscall3(int,fchown,int,fd,uid_t,owner, gid_t,group);
- #endif
- //#define __NR_getpriority 96
- #ifdef L_getpriority
- #include <sys/resource.h>
- _syscall2(int,getpriority,int,which, int,who);
- #endif
- //#define __NR_setpriority 97
- #ifdef L_setpriority
- #include <sys/resource.h>
- _syscall3(int,setpriority,int,which, int,who, int,prio);
- #endif
- //#define __NR_profil 98
- //#define __NR_statfs 99
- #ifdef L_statfs
- #include <sys/vfs.h>
- _syscall2(int,statfs,const char *,path, struct statfs *,buf);
- #endif
- //#define __NR_fstatfs 100
- #ifdef L_fstatfs
- #include <sys/vfs.h>
- _syscall2(int,fstatfs,int,fd, struct statfs *,buf);
- #endif
- //#define __NR_ioperm 101
- #ifdef L_ioperm
- #include <sys/io.h>
- syscall3(int,ioperm,unsigned,long,from,unsigned long, num, int, turn_on);
- #endif
- //#define __NR_socketcall 102
- #ifdef L_socketcall
- _syscall2(int,socketcall,int,call,unsigned long *,args);
- #endif
- //#define __NR_syslog 103
- #ifdef L_syslog
- #include <unistd.h>
- #define __NR__syslog __NR_syslog
- _syscall3(int,_syslog,int, type, char *, buf, int, len);
- #endif
- //#define __NR_setitimer 104
- #ifdef L_setitimer
- #include <sys/time.h>
- _syscall3(int,setitimer,enum __itimer_which,which, const struct itimerval *,new, struct itimerval *,old);
- #endif
- //#define __NR_getitimer 105
- #ifdef L_getitimer
- #include <sys/time.h>
- _syscall2(int,getitimer,enum __itimer_which,which, struct itimerval *,value);
- #endif
- //#define __NR_stat 106
- #ifdef L_stat
- #include <sys/stat.h>
- #include <unistd.h>
- _syscall2(int,stat,const char *,file_name, struct stat *,buf);
- #endif
- //#define __NR_lstat 107
- #ifdef L_lstat
- #include <sys/stat.h>
- #include <unistd.h>
- _syscall2(int,lstat,const char *,file_name, struct stat *,buf);
- #endif
- //#define __NR_fstat 108
- #ifdef L_fstat
- #include <sys/stat.h>
- #include <unistd.h>
- _syscall2(int,fstat,int,filedes, struct stat *,buf);
- #endif
- //#define __NR_olduname 109
- //#define __NR_iopl 110
- #ifdef L_iopl
- #include <sys/io.h>
- _syscall1(int,iopl,int,level);
- #endif
- //#define __NR_vhangup 111
- #ifdef L_vhangup
- #include <unistd.h>
- _syscall0(int,vhangup);
- #endif
- //#define __NR_idle 112
- //int idle(void);
- //#define __NR_vm86old 113
- //#define __NR_wait4 114
- #ifdef L_wait4
- #include <sys/wait.h>
- _syscall4(pid_t,wait4,pid_t,pid, int *,status, int,options, struct rusage *,rusage);
- #endif
- //#define __NR_swapoff 115
- #ifdef L_swapoff
- #include <sys/swap.h>
- _syscall1(int,swapoff,const char *,path);
- #endif
- //#define __NR_sysinfo 116
- #ifdef L_sysinfo
- #include <sys/sysinfo.h>
- _sysinfo(int,sysinfo,struct sysinfo *,info);
- #endif
- //#define __NR_ipc 117
- #ifdef L_ipc
- //_syscall6(int,ipc,unsigned int,call, int,first, int,second, int,third, void *,ptr, long, fifth);
- #endif
- //#define __NR_fsync 118
- #ifdef L_fsync
- #include <unistd.h>
- _syscall1(int,fsync,int,fd);
- #endif
- //#define __NR_sigreturn 119
- //int sigreturn(unsigned long __unused);
- //#define __NR_clone 120
- //#define __NR_setdomainname 121
- #ifdef L_setdomainname
- #include <unistd.h>
- _syscall2(int,setdomainname,const char *,name, size_t,len);
- #endif
- //#define __NR_uname 122
- #ifdef L_uname
- #include <sys/utsname.h>
- _syscall1(int,uname,struct utsname *,buf);
- #endif
- //#define __NR_modify_ldt 123
- //#define __NR_adjtimex 124
- #ifdef L_adjtimex
- #include <sys/timex.h>
- _syscall1(int,adjtimex,struct timex *,buf);
- #endif
- //#define __NR_mprotect 125
- #ifdef L_mprotect
- #include <sys/mman.h>
- _syscall3(int,mprotect,const void *,addr, size_t,len, int,prot);
- #endif
- //#define __NR_sigprocmask 126
- #ifdef L_sigprocmask
- #include <signal.h>
- _syscall3(int,sigprocmask,int,how, const sigset_t *,set, sigset_t *,oldset);
- #endif
- //#define __NR_create_module 127
- //#define __NR_init_module 128
- //#define __NR_delete_module 129
- //#define __NR_get_kernel_syms 130
- //#define __NR_quotactl 131
- //#define __NR_getpgid 132
- #ifdef L_getpgid
- _syscall1(pid_t,getpgid,pid_t,pid);
- #endif
- //#define __NR_fchdir 133
- #ifdef L_fchdir
- #include <unistd.h>
- _syscall1(int,fchdir,int,fd);
- #endif
- //#define __NR_bdflush 134
- //#define __NR_sysfs 135
- //#define __NR_personality 136
- //#define __NR_afs_syscall 137
- //#define __NR_setfsuid 138
- #ifdef L_setfsuid
- SYSCALL__ (setfsuid, 1)
- ret
- #endif
- //#define __NR_setfsgid 139
- #ifdef L_setfsgid
- SYSCALL__ (setfsgid, 1)
- ret
- #endif
- //#define __NR__llseek 140
- #ifdef L__llseek
- _syscall5(int,_llseek,int,fd,off_t,hoff,off_t,loff,loff_t*,res,int,whence);
- loff_t llseek (int fd, loff_t offset, int whence)
- {
- int ret;
- loff_t result;
- ret = _llseek (fd, (off_t) (offset >> 32),
- (off_t) (offset & 0xffffffff), &result, whence);
- return ret ? (loff_t) ret : result;
- }
- #endif
- //#define __NR_getdents 141
- #ifdef L_getdents
- SYSCALL__ (getdents, 3)
- ret
- #endif
- //#define __NR__newselect 142
- //#define __NR_flock 143
- #ifdef L_flock
- SYSCALL__ (flock, 2)
- ret
- #endif
- //#define __NR_msync 144
- #ifdef L_msync
- SYSCALL__ (msync, 3)
- ret
- #endif
- //#define __NR_readv 145
- #ifdef L_readv
- #include <sys/uio.h>
- _syscall3(ssize_t,readv,int,filedes, const struct iovec *,vector, int,count);
- #endif
- //#define __NR_writev 146
- #ifdef L_writev
- #include <sys/uio.h>
- _syscall3(ssize_t,writev,int,filedes, const struct iovec *,vector, int,count);
- #endif
- //#define __NR_getsid 147
- #ifdef L_getsid
- SYSCALL__ (getsid, 1)
- ret
- #endif
- //#define __NR_fdatasync 148
- #ifdef L_fdatasync
- SYSCALL__ (fdatasync, 1)
- ret
- #endif
- //#define __NR__sysctl 149
- //#define __NR_mlock 150
- #ifdef L_mlock
- SYSCALL__ (mlock, 2)
- ret
- #endif
- //#define __NR_munlock 151
- #ifdef L_munlock
- SYSCALL__ (munlock, 2)
- ret
- #endif
- //#define __NR_mlockall 152
- #ifdef L_mlockall
- SYSCALL__ (mlockall, 1)
- ret
- #endif
- //#define __NR_munlockall 153
- #ifdef L_munlockall
- SYSCALL__ (munlockall, 0)
- ret
- #endif
- //#define __NR_sched_setparam 154
- #ifdef L_sched_setparam
- SYSCALL__ (sched_setparam, 2)
- ret
- #endif
- //#define __NR_sched_getparam 155
- #ifdef L_sched_getparam
- SYSCALL__ (sched_getparam, 2)
- ret
- #endif
- //#define __NR_sched_setscheduler 156
- #ifdef L_sched_setscheduler
- SYSCALL__ (sched_setscheduler, 3)
- ret
- #endif
- //#define __NR_sched_getscheduler 157
- #ifdef L_sched_getscheduler
- SYSCALL__ (sched_getscheduler, 1)
- ret
- #endif
- //#define __NR_sched_yield 158
- #ifdef L_sched_yield
- SYSCALL__ (sched_yield, 0)
- ret
- #endif
- //#define __NR_sched_get_priority_max 159
- #ifdef L_sched_get_priority_max
- SYSCALL__ (sched_get_priority_max, 1)
- ret
- #endif
- //#define __NR_sched_get_priority_min 160
- #ifdef L_sched_get_priority_min
- SYSCALL__ (sched_get_priority_min, 1)
- ret
- #endif
- //#define __NR_sched_rr_get_interval 161
- #ifdef L_sched_rr_get_interval
- SYSCALL__ (sched_rr_get_interval, 2)
- ret
- #endif
- //#define __NR_nanosleep 162
- #ifdef L_nanosleep
- SYSCALL__ (nanosleep, 2)
- ret
- #endif
- //#define __NR_mremap 163
- #ifdef L_mremap
- #include <unistd.h>
- #include <sys/mman.h>
- _syscall4(__ptr_t,mremap,__ptr_t,old_address,size_t,old_size , size_t,new_size,int,may_move);
- #endif
- //#define __NR_setresuid 164
- //#define __NR_getresuid 165
- //#define __NR_vm86 166
- //#define __NR_query_module 167
- //#define __NR_poll 168
- #ifdef L_poll
- SYSCALL__ (poll, 3)
- ret
- #endif
- //#define __NR_nfsservctl 169
- //#define __NR_setresgid 170
- //#define __NR_getresgid 171
- //#define __NR_prctl 172
- //#define __NR_rt_sigreturn 173
- //#define __NR_rt_sigaction 174
- //#define __NR_rt_sigprocmask 175
- //#define __NR_rt_sigpending 176
- //#define __NR_rt_sigtimedwait 177
- //#define __NR_rt_sigqueueinfo 178
- //#define __NR_rt_sigsuspend 179
- //#define __NR_pread 180
- //#define __NR_pwrite 181
- //#define __NR_chown 182
- #ifdef L_chown
- #include <unistd.h>
- _syscall3(int,chown,const char *,path, uid_t,owner, gid_t,group);
- #endif
- //#define __NR_getcwd 183
- //#define __NR_capget 184
- //#define __NR_capset 185
- //#define __NR_sigaltstack 186
- //#define __NR_sendfile 187
- //#define __NR_getpmsg 188
- //#define __NR_putpmsg 189
- //#define __NR_vfork 190
|