unistd.h
来自「Linux Kernel 2.6.9 for OMAP1710」· C头文件 代码 · 共 657 行 · 第 1/2 页
H
657 行
#define __NR_flistxattr 390#define __NR_removexattr 391#define __NR_lremovexattr 392#define __NR_fremovexattr 393#define __NR_futex 394#define __NR_sched_setaffinity 395 #define __NR_sched_getaffinity 396#define __NR_tuxcall 397#define __NR_io_setup 398#define __NR_io_destroy 399#define __NR_io_getevents 400#define __NR_io_submit 401#define __NR_io_cancel 402#define __NR_exit_group 405#define __NR_lookup_dcookie 406#define __NR_sys_epoll_create 407#define __NR_sys_epoll_ctl 408#define __NR_sys_epoll_wait 409#define __NR_remap_file_pages 410#define __NR_set_tid_address 411#define __NR_restart_syscall 412#define __NR_fadvise64 413#define __NR_timer_create 414#define __NR_timer_settime 415#define __NR_timer_gettime 416#define __NR_timer_getoverrun 417#define __NR_timer_delete 418#define __NR_clock_settime 419#define __NR_clock_gettime 420#define __NR_clock_getres 421#define __NR_clock_nanosleep 422#define __NR_semtimedop 423#define __NR_tgkill 424#define __NR_stat64 425#define __NR_lstat64 426#define __NR_fstat64 427#define __NR_vserver 428#define __NR_mbind 429#define __NR_get_mempolicy 430#define __NR_set_mempolicy 431#define __NR_mq_open 432#define __NR_mq_unlink 433#define __NR_mq_timedsend 434#define __NR_mq_timedreceive 435#define __NR_mq_notify 436#define __NR_mq_getsetattr 437#define __NR_waitid 438#define NR_SYSCALLS 439#if defined(__GNUC__)#define _syscall_return(type) \ return (_sc_err ? errno = _sc_ret, _sc_ret = -1L : 0), (type) _sc_ret#define _syscall_clobbers \ "$1", "$2", "$3", "$4", "$5", "$6", "$7", "$8", \ "$22", "$23", "$24", "$25", "$27", "$28" \#define _syscall0(type, name) \type name(void) \{ \ long _sc_ret, _sc_err; \ { \ register long _sc_0 __asm__("$0"); \ register long _sc_19 __asm__("$19"); \ \ _sc_0 = __NR_##name; \ __asm__("callsys # %0 %1 %2" \ : "=r"(_sc_0), "=r"(_sc_19) \ : "0"(_sc_0) \ : _syscall_clobbers); \ _sc_ret = _sc_0, _sc_err = _sc_19; \ } \ _syscall_return(type); \}#define _syscall1(type,name,type1,arg1) \type name(type1 arg1) \{ \ long _sc_ret, _sc_err; \ { \ register long _sc_0 __asm__("$0"); \ register long _sc_16 __asm__("$16"); \ register long _sc_19 __asm__("$19"); \ \ _sc_0 = __NR_##name; \ _sc_16 = (long) (arg1); \ __asm__("callsys # %0 %1 %2 %3" \ : "=r"(_sc_0), "=r"(_sc_19) \ : "0"(_sc_0), "r"(_sc_16) \ : _syscall_clobbers); \ _sc_ret = _sc_0, _sc_err = _sc_19; \ } \ _syscall_return(type); \}#define _syscall2(type,name,type1,arg1,type2,arg2) \type name(type1 arg1,type2 arg2) \{ \ long _sc_ret, _sc_err; \ { \ register long _sc_0 __asm__("$0"); \ register long _sc_16 __asm__("$16"); \ register long _sc_17 __asm__("$17"); \ register long _sc_19 __asm__("$19"); \ \ _sc_0 = __NR_##name; \ _sc_16 = (long) (arg1); \ _sc_17 = (long) (arg2); \ __asm__("callsys # %0 %1 %2 %3 %4" \ : "=r"(_sc_0), "=r"(_sc_19) \ : "0"(_sc_0), "r"(_sc_16), "r"(_sc_17) \ : _syscall_clobbers); \ _sc_ret = _sc_0, _sc_err = _sc_19; \ } \ _syscall_return(type); \}#define _syscall3(type,name,type1,arg1,type2,arg2,type3,arg3) \type name(type1 arg1,type2 arg2,type3 arg3) \{ \ long _sc_ret, _sc_err; \ { \ register long _sc_0 __asm__("$0"); \ register long _sc_16 __asm__("$16"); \ register long _sc_17 __asm__("$17"); \ register long _sc_18 __asm__("$18"); \ register long _sc_19 __asm__("$19"); \ \ _sc_0 = __NR_##name; \ _sc_16 = (long) (arg1); \ _sc_17 = (long) (arg2); \ _sc_18 = (long) (arg3); \ __asm__("callsys # %0 %1 %2 %3 %4 %5" \ : "=r"(_sc_0), "=r"(_sc_19) \ : "0"(_sc_0), "r"(_sc_16), "r"(_sc_17), \ "r"(_sc_18) \ : _syscall_clobbers); \ _sc_ret = _sc_0, _sc_err = _sc_19; \ } \ _syscall_return(type); \}#define _syscall4(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4) \{ \ long _sc_ret, _sc_err; \ { \ register long _sc_0 __asm__("$0"); \ register long _sc_16 __asm__("$16"); \ register long _sc_17 __asm__("$17"); \ register long _sc_18 __asm__("$18"); \ register long _sc_19 __asm__("$19"); \ \ _sc_0 = __NR_##name; \ _sc_16 = (long) (arg1); \ _sc_17 = (long) (arg2); \ _sc_18 = (long) (arg3); \ _sc_19 = (long) (arg4); \ __asm__("callsys # %0 %1 %2 %3 %4 %5 %6" \ : "=r"(_sc_0), "=r"(_sc_19) \ : "0"(_sc_0), "r"(_sc_16), "r"(_sc_17), \ "r"(_sc_18), "1"(_sc_19) \ : _syscall_clobbers); \ _sc_ret = _sc_0, _sc_err = _sc_19; \ } \ _syscall_return(type); \} #define _syscall5(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \ type5,arg5) \type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5) \{ \ long _sc_ret, _sc_err; \ { \ register long _sc_0 __asm__("$0"); \ register long _sc_16 __asm__("$16"); \ register long _sc_17 __asm__("$17"); \ register long _sc_18 __asm__("$18"); \ register long _sc_19 __asm__("$19"); \ register long _sc_20 __asm__("$20"); \ \ _sc_0 = __NR_##name; \ _sc_16 = (long) (arg1); \ _sc_17 = (long) (arg2); \ _sc_18 = (long) (arg3); \ _sc_19 = (long) (arg4); \ _sc_20 = (long) (arg5); \ __asm__("callsys # %0 %1 %2 %3 %4 %5 %6 %7" \ : "=r"(_sc_0), "=r"(_sc_19) \ : "0"(_sc_0), "r"(_sc_16), "r"(_sc_17), \ "r"(_sc_18), "1"(_sc_19), "r"(_sc_20) \ : _syscall_clobbers); \ _sc_ret = _sc_0, _sc_err = _sc_19; \ } \ _syscall_return(type); \}#define _syscall6(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \ type5,arg5,type6,arg6) \type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5, type6 arg6)\{ \ long _sc_ret, _sc_err; \ { \ register long _sc_0 __asm__("$0"); \ register long _sc_16 __asm__("$16"); \ register long _sc_17 __asm__("$17"); \ register long _sc_18 __asm__("$18"); \ register long _sc_19 __asm__("$19"); \ register long _sc_20 __asm__("$20"); \ register long _sc_21 __asm__("$21"); \ \ _sc_0 = __NR_##name; \ _sc_16 = (long) (arg1); \ _sc_17 = (long) (arg2); \ _sc_18 = (long) (arg3); \ _sc_19 = (long) (arg4); \ _sc_20 = (long) (arg5); \ _sc_21 = (long) (arg6); \ __asm__("callsys # %0 %1 %2 %3 %4 %5 %6 %7 %8" \ : "=r"(_sc_0), "=r"(_sc_19) \ : "0"(_sc_0), "r"(_sc_16), "r"(_sc_17), \ "r"(_sc_18), "1"(_sc_19), "r"(_sc_20), "r"(_sc_21) \ : _syscall_clobbers); \ _sc_ret = _sc_0, _sc_err = _sc_19; \ } \ _syscall_return(type); \}#endif /* __LIBRARY__ && __GNUC__ */#ifdef __KERNEL__#define __ARCH_WANT_IPC_PARSE_VERSION#define __ARCH_WANT_OLD_READDIR#define __ARCH_WANT_STAT64#define __ARCH_WANT_SYS_GETHOSTNAME#define __ARCH_WANT_SYS_SOCKETCALL#define __ARCH_WANT_SYS_FADVISE64#define __ARCH_WANT_SYS_GETPGRP#define __ARCH_WANT_SYS_OLD_GETRLIMIT#define __ARCH_WANT_SYS_OLDUMOUNT#define __ARCH_WANT_SYS_SIGPENDING#endif#ifdef __KERNEL_SYSCALLS__#include <linux/compiler.h>#include <linux/types.h>#include <linux/string.h>#include <linux/signal.h>#include <linux/syscalls.h>#include <asm/ptrace.h>static inline long open(const char * name, int mode, int flags){ return sys_open(name, mode, flags);}static inline long dup(int fd){ return sys_dup(fd);}static inline long close(int fd){ return sys_close(fd);}static inline off_t lseek(int fd, off_t off, int whence){ return sys_lseek(fd, off, whence);}static inline void _exit(int value){ sys_exit(value);}#define exit(x) _exit(x)static inline long write(int fd, const char * buf, size_t nr){ return sys_write(fd, buf, nr);}static inline long read(int fd, char * buf, size_t nr){ return sys_read(fd, buf, nr);}extern int execve(char *, char **, char **);static inline long setsid(void){ return sys_setsid();}static inline pid_t waitpid(int pid, int * wait_stat, int flags){ return sys_wait4(pid, wait_stat, flags, NULL);}asmlinkage int sys_execve(char *ufilename, char **argv, char **envp, unsigned long a3, unsigned long a4, unsigned long a5, struct pt_regs regs);asmlinkage long sys_rt_sigaction(int sig, const struct sigaction __user *act, struct sigaction __user *oact, size_t sigsetsize, void *restorer);#endif /* __KERNEL_SYSCALLS__ *//* "Conditional" syscalls. What we want is __attribute__((weak,alias("sys_ni_syscall"))) but that raises the problem of what type to give the symbol. If we use a prototype, it'll conflict with the definition given in this file and others. If we use __typeof, we discover that not all symbols actually have declarations. If we use no prototype, then we get warnings from -Wstrict-prototypes. Ho hum. */#define cond_syscall(x) asm(".weak\t" #x "\n" #x " = sys_ni_syscall");#endif /* _ALPHA_UNISTD_H */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?