dl-syscalls.h

来自「ucLinux is a very good embeded sytem. Mo」· C头文件 代码 · 共 25 行

H
25
字号
/* We can't use the real errno in ldso, since it has not yet * been dynamicly linked in yet. */extern int _dl_errno;#define __set_errno(X) {(_dl_errno) = (X);}#include "sys/syscall.h"#undef __syscall_return#define __syscall_return(type, res)					\do {									\	/*								\	 * Note: when returning from kernel the return value is in r9	\	 *								\	 * This prevents conflicts between return value and arg1	\	 * when dispatching signal handler, in other words makes	\	 * life easier in the system call epilogue (see entry.S)	\	 */								\	register unsigned long __sr2 __asm__ ("r2") = res;		\	if ((unsigned long)(res) >= (unsigned long)(-125)) {		\		_dl_errno = -(res);					\		__sr2 = -1;						\	}								\	return (type)(__sr2);						\} while (0)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?