📄 syscalls.c
字号:
//#define __NR_reboot 88#ifdef L__reboot#define __NR__reboot __NR_reboot#ifdef __STR_NR_reboot#define __STR_NR__reboot __STR_NR_reboot#endifextern int _reboot(int magic, int magic2, int flag);_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#ifdef __STR_NR_mmap#define __STR_NR__mmap __STR_NR_mmap#endif#include <unistd.h>#include <sys/mman.h>#if __UCLIBC_OLD_STYLE_MMAP__extern __ptr_t _mmap(unsigned long *buffer);_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);}#else /* !__UCLIBC_OLD_STYLE_MMAP__ */_syscall6(__ptr_t, mmap, __ptr_t, addr, size_t, len, int, prot, int, flags, int, fd, __off_t, offset);#endif /* __UCLIBC_OLD_STYLE_MMAP__ */#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, __priority_which_t, which, id_t, who);#endif//#define __NR_setpriority 97#ifdef L_setpriority#include <sys/resource.h>_syscall3(int, setpriority, __priority_which_t, which, id_t, 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># if defined __UCLIBC_HAS_MMU__ && defined __NR_ioperm _syscall3(int, ioperm, unsigned long, from, unsigned long, num, int, turn_on);# else int ioperm(unsigned long from, unsigned long num, int turn_on) { __set_errno(ENOSYS); return -1; }# endif#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#ifdef __STR_NR_syslog#define __STR_NR__syslog __STR_NR_syslog#endifextern int _syslog(int type, char *buf, int len);_syscall3(int, _syslog, int, type, char *, buf, int, len);int klogctl(int type, char *buf, int len){ return (_syslog(type, buf, len));}#endif//#define __NR_setitimer 104#ifdef L_setitimer#include <sys/time.h>_syscall3(int, setitimer, __itimer_which_t, which, const struct itimerval *, new, struct itimerval *, old);#endif//#define __NR_getitimer 105#ifdef L_getitimer#include <sys/time.h>_syscall2(int, getitimer, __itimer_which_t, which, struct itimerval *, value);#endif//#define __NR_stat 106#ifdef L___stat#include <unistd.h>#include "statfix.h"#define __NR___stat __NR_stat#ifdef __STR_NR_stat#define __STR_NR___stat __STR_NR_stat#endifextern int __stat(const char *file_name, struct kernel_stat *buf);_syscall2(int, __stat, const char *, file_name, struct kernel_stat *, buf);int __xstat(int version, const char * file_name, struct libc_stat * cstat){ struct kernel_stat kstat; int result = __stat(file_name, &kstat); if (result == 0) { statfix(cstat, &kstat); } return result;}int stat(const char *file_name, struct libc_stat *buf){ return(__xstat(0, file_name, buf));}#endif//#define __NR_lstat 107#ifdef L___lstat#include <unistd.h>#include "statfix.h"#define __NR___lstat __NR_lstat#ifdef __STR_NR_lstat#define __STR_NR___lstat __STR_NR_lstat#endifextern int __lstat(const char *file_name, struct kernel_stat *buf);_syscall2(int, __lstat, const char *, file_name, struct kernel_stat *, buf);int __lxstat(int version, const char * file_name, struct libc_stat * cstat){ struct kernel_stat kstat; int result = __lstat(file_name, &kstat); if (result == 0) { statfix(cstat, &kstat); } return result;}int lstat(const char *file_name, struct libc_stat *buf){ return(__lxstat(0, file_name, buf));}#endif//#define __NR_fstat 108#ifdef L___fstat#include <unistd.h>#include "statfix.h"#define __NR___fstat __NR_fstat#ifdef __STR_NR_fstat#define __STR_NR___fstat __STR_NR_fstat#endifextern int __fstat(int filedes, struct kernel_stat *buf);_syscall2(int, __fstat, int, filedes, struct kernel_stat *, buf);int __fxstat(int version, int fd, struct libc_stat * cstat){ struct kernel_stat kstat; int result = __fstat(fd, &kstat); if (result == 0) { statfix(cstat, &kstat); } return result;}int fstat(int filedes, struct libc_stat *buf){ return(__fxstat(0, filedes, buf));}#endif//#define __NR_olduname 109//#define __NR_iopl 110#ifdef L_iopl#include <sys/io.h># if defined __UCLIBC_HAS_MMU__ && defined __NR_iopl _syscall1(int, iopl, int, level);# else int iopl(int level) { __set_errno(ENOSYS); return -1; }# endif#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_syscall4(int, wait4, pid_t, pid, int *, status, int, opts, void *, 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>_syscall1(int, sysinfo, struct sysinfo *, info);#endif//#define __NR_ipc 117#ifdef L___ipc#define __NR___ipc __NR_ipc#ifdef __STR_NR_ipc#define __STR_NR___ipc __STR_NR_ipc#endif_syscall5(int, __ipc, unsigned int, call, int, first, int, second, int, third, void *, ptr);#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//See architecture specific implementation...//#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, void *, addr, size_t, len, int, prot);#endif//#define __NR_sigprocmask 126#ifdef L_sigprocmask#include <signal.h>#undef sigprocmask_syscall3(int, sigprocmask, int, how, const sigset_t *, set, sigset_t *, oldset);#endif//#define __NR_create_module 127//See sysdeps/linux/commom/create_module.c//#define __NR_init_module 128#ifdef L_init_module/* This may have 5 arguments (for old 2.0 kernels) or 2 arguments * (for 2.2 and 2.4 kernels). Use the greatest common denominator, * and let the kernel cope with whatever it gets. It's good at that. */_syscall5(int, init_module, void *, first, void *, second, void *, third, void *, fourth, void *, fifth);#endif//#define __NR_delete_module 129#ifdef L_delete_module# ifdef __NR_delete_module _syscall1(int, delete_module, const char *, name);# else int delete_module(const char * name) { __set_errno(ENOSYS); return -1; }# endif#endif//#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#ifdef L_bdflush#include <sys/kdaemon.h>_syscall2(int, bdflush, int, __func, long int, __data);#endif//#define __NR_sysfs 135//#define __NR_personality 136//#define __NR_afs_syscall 137//#define __NR_setfsuid 138//#define __NR_setfsgid 139//#define __NR__llseek 140#ifdef L__llseekextern int _llseek(int fd, off_t hoff, off_t loff, loff_t *res, int whence);_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#include <unistd.h>#include <dirent.h>_syscall3(int, getdents, int, fd, char *, dirp, size_t, count);#endif//#define __NR__newselect 142#ifdef L__newselect#include <unistd.h>extern int _newselect(int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);_syscall5(int, _newselect, int, n, fd_set *, readfds, fd_set *, writefds, fd_set *, exceptfds, struct timeval *, timeout);int select(int n, fd_set * readfds, fd_set * writefds, fd_set * exceptfds, struct timeval *timeout){ return (_newselect(n, readfds, writefds, exceptfds, timeout));}#endif//#define __NR_flock 143#ifdef L_flock#include <sys/file.h>_syscall2(int,flock,int,fd, int,operation);#endif//#define __NR_msync 144//#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#include <unistd.h>_syscall1(pid_t, getsid, pid_t, pid);#endif//#define __NR_fdatasync 148//#define __NR__sysctl 149//#define __NR_mlock 150#ifdef L_mlock#include <sys/mman.h># if defined __UCLIBC_HAS_MMU__ && defined __NR_mlock _syscall2(int, mlock, const void *, addr, size_t, len);# endif #endif //#define __NR_munlock 151#ifdef L_munlock#include <sys/mman.h># if defined __UCLIBC_HAS_MMU__ && defined __NR_munlock _syscall2(int, munlock, const void *, addr, size_t, len);# endif #endif //#define __NR_mlockall 152#ifdef L_mlockall#include <sys/mman.h># if defined __UCLIBC_HAS_MMU__ && defined __NR_mlockall _syscall1(int, mlockall, int, flags);# endif #endif //#define __NR_munlockall 153#ifdef L_munlockall#include <sys/mman.h># if defined __UCLIBC_HAS_MMU__ && defined L_munlockall _syscall0(int, munlockall);# endif #endif //#define __NR_sched_setparam 154//#define __NR_sched_getparam 155//#define __NR_sched_setscheduler 156//#define __NR_sched_getscheduler 157//#define __NR_sched_yield 158//#define __NR_sched_get_priority_max 159//#define __NR_sched_get_priority_min 160//#define __NR_sched_rr_get_interval 161//#define __NR_nanosleep 162#ifdef L_nanosleep#include <time.h>_syscall2(int, nanosleep, const struct timespec *, req, struct timespec *, rem);#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#ifdef L_query_module# ifdef __NR_query_module _syscall5(int, query_module, const char *, name, int, which, void *, buf, size_t, bufsize, size_t*, ret);# else int query_module(const char * name, int which, void * buf, size_t bufsize, size_t* ret) { __set_errno(ENOSYS); return -1; }# endif #endif //#define __NR_poll 168#if defined(L_poll) && defined(__NR_poll) /* uClinux 2.0 doesn't have poll */#include <sys/poll.h>_syscall3(int, poll, struct pollfd *, fds, unsigned long int, nfds, int, timeout);#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// See unistd/getcwd.c -- we don't use this syscall, even when it is available...//#define __NR_capget 184#ifdef L_capget# ifdef __NR_capget _syscall2(int, capget, void*, header, void*, data);# else int capget(void* header, void* data) { __set_errno(ENOSYS); return -1; }# endif#endif//#define __NR_capset 185#ifdef L_capset# ifdef __NR_capset _syscall2(int, capset, void*, header, const void*, data);# else int capset(void* header, const void* data) { __set_errno(ENOSYS); return -1; }# endif#endif//#define __NR_sigaltstack 186//#define __NR_sendfile 187//#define __NR_getpmsg 188//#define __NR_putpmsg 189//#define __NR_vfork 190//See sysdeps/linux/<arch>vfork.[cS] for architecture specific implementation...
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -