⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 syscalls.c

📁 它通过提供glibc兼容使得应用程序移植到较小的c 库时相当得容易. 它能够应用到带虚拟存储的Linux和uClinux上.在大多数带MMU部件的平台上为使它更加紧凑,它也能够编译成共享库.uClib
💻 C
📖 第 1 页 / 共 4 页
字号:
	return(__syscall_sched_setscheduler(pid, policy, p));}#endif#endif//#define __NR_sched_getscheduler       157#ifdef __NR_sched_getscheduler#ifdef L___syscall_sched_getscheduler#include <sched.h>#define __NR___syscall_sched_getscheduler __NR_sched_getschedulerstatic inline_syscall1(int, __syscall_sched_getscheduler, __kernel_pid_t, pid);int sched_getscheduler(pid_t pid){	return(__syscall_sched_getscheduler(pid));}#endif#endif//#define __NR_sched_yield              158#ifdef __NR_sched_yield#ifdef L_sched_yield#include <sched.h>_syscall0(int, sched_yield);#endif#endif//#define __NR_sched_get_priority_max   159#ifdef __NR_sched_get_priority_max#ifdef L_sched_get_priority_max#include <sched.h>_syscall1(int, sched_get_priority_max, int, policy);#endif#endif//#define __NR_sched_get_priority_min   160#ifdef __NR_sched_get_priority_min#ifdef L_sched_get_priority_min#include <sched.h>_syscall1(int, sched_get_priority_min, int, policy);#endif#endif//#define __NR_sched_rr_get_interval    161#ifdef __NR_sched_rr_get_interval#ifdef L___syscall_sched_rr_get_interval#include <sched.h>#define __NR___syscall_sched_rr_get_interval __NR_sched_rr_get_intervalstatic inline_syscall2(int, __syscall_sched_rr_get_interval, __kernel_pid_t, pid, struct timespec *, tp);int sched_rr_get_interval(pid_t pid, struct timespec * tp){	return(__syscall_sched_rr_get_interval(pid, tp));}#endif#endif//#define __NR_nanosleep                162#ifdef L___libc_nanosleep#include <time.h>#define __NR___libc_nanosleep __NR_nanosleep_syscall2(int, __libc_nanosleep, const struct timespec *, req, struct timespec *, rem);weak_alias(__libc_nanosleep, nanosleep)#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#ifdef __NR_setresuid#ifdef L___syscall_setresuid#define __NR___syscall_setresuid __NR_setresuidstatic inline_syscall3(int, __syscall_setresuid, __kernel_uid_t, rgid, __kernel_uid_t, egid, __kernel_uid_t, sgid);int setresuid(uid_t ruid, uid_t euid, uid_t suid){	return(__syscall_setresuid(ruid, euid, suid));}#endif#endif//#define __NR_getresuid                165#ifdef __NR_getresuid#ifdef L___syscall_getresuid#define __NR___syscall_getresuid __NR_getresuidstatic inline_syscall3(int, __syscall_getresuid, __kernel_uid_t *, ruid, __kernel_uid_t *, euid, __kernel_uid_t *, suid);int getresuid (uid_t *ruid, uid_t *euid, uid_t *suid){	int result;	__kernel_uid_t k_ruid, k_euid, k_suid;	result = __syscall_getresuid(&k_ruid, &k_euid, &k_suid);	if (result == 0) {		*ruid = (uid_t) k_ruid;		*euid = (uid_t) k_euid;		*suid = (uid_t) k_suid;	}	return result;}#endif#endif//#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//nfsservctl	EXTRA	nfsservctl	i:ipp	nfsservctl//#define __NR_setresgid                170#ifdef __NR_setresgid#ifdef L___syscall_setresgid#define __NR___syscall_setresgid __NR_setresgidstatic inline_syscall3(int, __syscall_setresgid, __kernel_gid_t, rgid, __kernel_gid_t, egid, __kernel_gid_t, sgid);int setresgid(gid_t rgid, gid_t egid, gid_t sgid){	return(__syscall_setresgid(rgid, egid, sgid));}#endif#endif//#define __NR_getresgid                171#ifdef __NR_getresgid#ifdef L___syscall_getresgid#define __NR___syscall_getresgid __NR_getresgidstatic inline_syscall3(int, __syscall_getresgid, __kernel_gid_t *, egid, __kernel_gid_t *, rgid, __kernel_gid_t *, sgid);int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid){	int result;	__kernel_gid_t k_rgid, k_egid, k_sgid;	result = __syscall_getresgid(&k_rgid, &k_egid, &k_sgid);	if (result == 0) { 		*rgid = (gid_t) k_rgid;		*egid = (gid_t) k_egid;		*sgid = (gid_t) k_sgid;	}	return result;}#endif#endif//#define __NR_prctl                    172//#define __NR_rt_sigreturn             173//#define __NR_rt_sigaction             174#ifdef __NR_rt_sigaction#define __NR___syscall_rt_sigaction __NR_rt_sigaction#ifdef L___syscall_rt_sigaction#include <signal.h>#undef sigaction_syscall4(int, __syscall_rt_sigaction, int, signum, const struct sigaction *, act, 		struct sigaction *, oldact, size_t, size); #endif#endif//#define __NR_rt_sigprocmask           175#ifdef __NR_rt_sigprocmask#define __NR___rt_sigprocmask __NR_rt_sigprocmask#ifdef L___rt_sigprocmask#include <signal.h>#undef sigprocmask_syscall4(int, __rt_sigprocmask, int, how, const sigset_t *, set, 		sigset_t *, oldset, size_t, size);int sigprocmask(int how, const sigset_t *set, sigset_t *oldset) {	  return __rt_sigprocmask(how, set, oldset, _NSIG/8);}#endif#endif//#define __NR_rt_sigpending            176#ifdef __NR_rt_sigpending#define __NR___rt_sigpending __NR_rt_sigpending#ifdef L___rt_sigpending#include <signal.h>#undef sigpending_syscall2(int, __rt_sigpending, sigset_t *, set, size_t, size);int sigpending(sigset_t *set) {	return __rt_sigpending(set, _NSIG/8);}#endif#endif//#define __NR_rt_sigtimedwait          177#ifdef L___rt_sigtimedwait#include <signal.h>#define __need_NULL#include <stddef.h>#ifdef __NR_rt_sigtimedwait#define __NR___rt_sigtimedwait __NR_rt_sigtimedwait_syscall4(int, __rt_sigtimedwait, const sigset_t *, set, siginfo_t *, info, 		const struct timespec *, timeout, size_t, setsize);int sigwaitinfo(const sigset_t *set, siginfo_t *info){	return __rt_sigtimedwait (set, info, NULL, _NSIG/8);}int sigtimedwait (const sigset_t *set, siginfo_t *info, const struct timespec *timeout){	return __rt_sigtimedwait (set, info, timeout, _NSIG/8);}#elseint sigwaitinfo(const sigset_t *set, siginfo_t *info){	if (set==NULL)		__set_errno (EINVAL);	else		__set_errno (ENOSYS);	return -1;}int sigtimedwait (const sigset_t *set, siginfo_t *info, const struct timespec *timeout){	if (set==NULL)		__set_errno (EINVAL);	else		__set_errno (ENOSYS);	return -1;}#endif#endif//#define __NR_rt_sigqueueinfo          178//#define __NR_rt_sigsuspend            179#ifdef __NR_rt_sigsuspend#define __NR___rt_sigsuspend __NR_rt_sigsuspend#ifdef L___rt_sigsuspend#include <signal.h>#undef _sigsuspend_syscall2(int, __rt_sigsuspend, const sigset_t *, mask, size_t, size);int sigsuspend (const sigset_t *mask){	return __rt_sigsuspend(mask, _NSIG/8);}#endif#endif//#define __NR_pread                    180// See pread_write.c//#define __NR_pwrite                   181// See pread_write.c//#define __NR_chown                    182#ifdef L___syscall_chown#include <unistd.h>#define __NR___syscall_chown __NR_chownstatic inline_syscall3(int, __syscall_chown, const char *, path, __kernel_uid_t, owner, __kernel_gid_t, group);int chown(const char * path, uid_t owner, gid_t group){	return(__syscall_chown(path, owner, group));}#endif//#define __NR_getcwd                   183// See getcwd.c in this directory//#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#ifdef __NR_sigaltstack#ifdef L_sigaltstack#include <signal.h>_syscall2(int, sigaltstack, const struct sigaltstack *, ss, struct sigaltstack *, oss);#endif#endif//#define __NR_sendfile                 187#ifdef __NR_sendfile#ifdef L_sendfile#include <unistd.h>#include <sys/sendfile.h>_syscall4(ssize_t,sendfile, int, out_fd, int, in_fd, __off_t *, offset, size_t, count);#endif#endif//#define __NR_getpmsg                  188//#define __NR_putpmsg                  189//#define __NR_vfork                    190//See sysdeps/linux/<arch>vfork.[cS] for architecture specific implementation...//#define __NR_ugetrlimit		191	/* SuS compliant getrlimit */#ifdef L___ugetrlimit#ifdef __NR_ugetrlimit#define __NR___ugetrlimit __NR_ugetrlimit#include <unistd.h>#include <sys/resource.h>_syscall2(int, __ugetrlimit, enum __rlimit_resource, resource, struct rlimit *, rlim);int getrlimit (__rlimit_resource_t resource, struct rlimit *rlimits){	return(__ugetrlimit(resource, rlimits));}#endif /* __NR_ugetrlimit */#endif//#define __NR_mmap2		192//#define __NR_truncate64         193//See libc/sysdeps/linux/common/truncate64.c//#define __NR_ftruncate64        194//See libc/sysdeps/linux/common/ftruncate64.c//#define __NR_stat64             195#ifdef L___syscall_stat64#if defined __NR_stat64 && defined __UCLIBC_HAS_LFS__#define __NR___syscall_stat64 __NR_stat64#include <unistd.h>#include <sys/stat.h>#include <bits/kernel_stat.h>#include "xstatconv.h"_syscall2(int, __syscall_stat64, const char *, file_name, struct kernel_stat64 *, buf);int stat64(const char * file_name, struct stat64 * buf){	int result;	struct kernel_stat64 kbuf;	result = __syscall_stat64(file_name, &kbuf);	if (result == 0) {		__xstat64_conv(&kbuf, buf);	}	return result;}#endif /* __UCLIBC_HAS_LFS__ */#endif//#define __NR_lstat64            196#ifdef L___syscall_lstat64#if defined __NR_lstat64 && defined __UCLIBC_HAS_LFS__#define __NR___syscall_lstat64 __NR_lstat64#include <unistd.h>#include <sys/stat.h>#include <bits/kernel_stat.h>#include "xstatconv.h"_syscall2(int, __syscall_lstat64, const char *, file_name, struct kernel_stat64 *, buf);int lstat64(const char * file_name, struct stat64 * buf){	int result;	struct kernel_stat64 kbuf;	result = __syscall_lstat64(file_name, &kbuf);	if (result == 0) {		__xstat64_conv(&kbuf, buf);	}	return result;}#endif /* __UCLIBC_HAS_LFS__ */#endif//#define __NR_fstat64            197#ifdef L___syscall_fstat64#if defined __NR_fstat64 && defined __UCLIBC_HAS_LFS__#define __NR___syscall_fstat64 __NR_fstat64#include <unistd.h>#include <sys/stat.h>#include <bits/kernel_stat.h>#include "xstatconv.h"_syscall2(int, __syscall_fstat64, int, filedes, struct kernel_stat64 *, buf);int fstat64(int fd, struct stat64 * buf){	int result;	struct kernel_stat64 kbuf;	result = __syscall_fstat64(fd, &kbuf);	if (result == 0) {		__xstat64_conv(&kbuf, buf);	}	return result;}#endif /* __UCLIBC_HAS_LFS__ */#endif//#define __NR_lchown32		198//#define __NR_getuid32		199//#define __NR_getgid32		200//#define __NR_geteuid32		201//#define __NR_getegid32		202//#define __NR_setreuid32		203//#define __NR_setregid32		204//#define __NR_getgroups32	205//#define __NR_setgroups32	206//#define __NR_fchown32		207//#define __NR_setresuid32	208//#define __NR_getresuid32	209//#define __NR_setresgid32	210//#define __NR_getresgid32	211//#define __NR_chown32		212//#define __NR_setuid32		213//#define __NR_setgid32		214//#define __NR_setfsuid32		215//#define __NR_setfsgid32		216//#define __NR_pivot_root		217#ifdef __NR_pivot_root#ifdef L_pivot_root_syscall2(int, pivot_root, const char *, new_root, const char *, put_old);#endif#endif//#define __NR_mincore		218//#define __NR_madvise		219//#define __NR_madvise1		219	/* delete when C lib stub is removed *///#define __NR_getdents64		220// See getdents64.c//#define __NR_fcntl64		221#ifdef L__fcntl64#ifdef __UCLIBC_HAS_LFS__#include <stdarg.h>#include <fcntl.h>#ifdef __NR_fcntl64#define __NR__fcntl64 __NR_fcntl64extern int _fcntl64(int fd, int cmd, long arg);_syscall3(int, _fcntl64, int, fd, int, cmd, long, arg);int fcntl64(int fd, int command, ...){	long arg;	va_list list;	va_start(list, command);	arg = va_arg(list, long);	va_end(list);	return _fcntl64(fd, command, arg);}#elseextern int _fcntl(int fd, int cmd, long arg);int fcntl64(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#endif#endif//#define __NR_security		223	/* syscall for security modules *///#define __NR_gettid		224//#define __NR_readahead		225

⌨️ 快捷键说明

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