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 + -
显示快捷键?