X7ROOT File Manager
Current Path:
/usr/include/sys
usr
/
include
/
sys
/
ðŸ“
..
📄
acct.h
(3.22 KB)
📄
auxv.h
(1.23 KB)
📄
bitypes.h
(86 B)
📄
capability.h
(7.06 KB)
📄
cdefs.h
(20.2 KB)
📄
debugreg.h
(3.49 KB)
📄
dir.h
(921 B)
📄
elf.h
(1023 B)
📄
epoll.h
(4.31 KB)
📄
errno.h
(19 B)
📄
eventfd.h
(1.37 KB)
📄
fanotify.h
(1.26 KB)
📄
fcntl.h
(19 B)
📄
file.h
(1.63 KB)
📄
fsuid.h
(1.16 KB)
📄
gmon.h
(6.08 KB)
📄
gmon_out.h
(2.57 KB)
📄
inotify.h
(3.75 KB)
📄
io.h
(4.97 KB)
📄
ioctl.h
(1.7 KB)
📄
ipc.h
(1.43 KB)
📄
kd.h
(1.08 KB)
📄
klog.h
(1.17 KB)
📄
mman.h
(5.42 KB)
📄
mount.h
(5.48 KB)
📄
msg.h
(2.31 KB)
📄
mtio.h
(10.9 KB)
📄
param.h
(3.07 KB)
📄
pci.h
(922 B)
📄
perm.h
(1.1 KB)
📄
personality.h
(2.66 KB)
📄
poll.h
(2.49 KB)
📄
prctl.h
(1.03 KB)
📄
procfs.h
(4.87 KB)
📄
profil.h
(1.91 KB)
📄
psx_syscall.h
(2.77 KB)
📄
ptrace.h
(5.85 KB)
📄
queue.h
(19.08 KB)
📄
quota.h
(5.05 KB)
📄
random.h
(1.41 KB)
📄
raw.h
(1.15 KB)
📄
reboot.h
(1.59 KB)
📄
reg.h
(1.78 KB)
📄
resource.h
(3.56 KB)
📄
sdt-config.h
(276 B)
📄
sdt.h
(21.64 KB)
📄
select.h
(4.04 KB)
📄
sem.h
(1.99 KB)
📄
sendfile.h
(1.76 KB)
📄
shm.h
(1.83 KB)
📄
signal.h
(20 B)
📄
signalfd.h
(1.56 KB)
📄
socket.h
(9.96 KB)
📄
socketvar.h
(141 B)
📄
soundcard.h
(29 B)
📄
stat.h
(15.86 KB)
📄
statfs.h
(2.04 KB)
📄
statvfs.h
(2.75 KB)
📄
swap.h
(1.55 KB)
📄
syscall.h
(1.3 KB)
📄
sysctl.h
(1.96 KB)
📄
sysinfo.h
(1.48 KB)
📄
syslog.h
(7.52 KB)
📄
sysmacros.h
(2.05 KB)
📄
termios.h
(74 B)
📄
time.h
(6.5 KB)
📄
timeb.h
(1.34 KB)
📄
timerfd.h
(1.83 KB)
📄
times.h
(1.56 KB)
📄
timex.h
(2.15 KB)
📄
ttychars.h
(2.44 KB)
📄
ttydefaults.h
(3.48 KB)
📄
types.h
(5.58 KB)
📄
ucontext.h
(5.7 KB)
📄
uio.h
(6.13 KB)
📄
un.h
(1.42 KB)
📄
unistd.h
(20 B)
📄
user.h
(5.08 KB)
📄
utsname.h
(2.42 KB)
📄
vfs.h
(161 B)
📄
vlimit.h
(1.83 KB)
📄
vm86.h
(1.17 KB)
📄
vt.h
(22 B)
📄
vtimes.h
(2.4 KB)
📄
wait.h
(5.47 KB)
📄
xattr.h
(4.17 KB)
Editing: psx_syscall.h
/* * Copyright (c) 2019 Andrew G. Morgan <morgan@kernel.org> * * This header, and the -lpsx library, provide a number of things to * support POSIX semantics for syscalls associated with the pthread * library. Linking this code is tricky and is done as follows: * * ld ... -lpsx -lpthread --wrap=pthread_create * or, gcc ... -lpsx -lpthread -Wl,-wrap,pthread_create * * glibc provides a subset of this functionality natively through the * nptl:setxid mechanism and could implement psx_syscall() directly * using that style of functionality but, as of 2019-11-30, the setxid * mechanism is limited to 9 specific set*() syscalls that do not * support the syscall6 API (needed for prctl functions and the ambient * capabilities set for example). */ #ifndef _SYS_PSX_SYSCALL_H #define _SYS_PSX_SYSCALL_H #ifdef __cplusplus extern "C" { #endif #include <pthread.h> /* * psx_syscall performs the specified syscall on all psx registered * threads. The mechanism by which this occurs is much less efficient * than a standard system call on Linux, so it should only be used * when POSIX semantics are required to change process relevant * security state. * * Glibc has native support for POSIX semantics on setgroups() and the * 8 set*[gu]id() functions. So, there is no need to use psx_syscall() * for these calls. This call exists for all the other system calls * that need to maintain parity on all pthreads of a program. * * Some macrology is used to allow the caller to provide only as many * arguments as needed, thus psx_syscall() cannot be used as a * function pointer. For those situations, we define psx_syscall3() * and psx_syscall6(). */ #define psx_syscall(syscall_nr, ...) \ __psx_syscall(syscall_nr, __VA_ARGS__, (long int) 6, (long int) 5, \ (long int) 4, (long int) 3, (long int) 2, \ (long int) 1, (long int) 0) long int __psx_syscall(long int syscall_nr, ...); long int psx_syscall3(long int syscall_nr, long int arg1, long int arg2, long int arg3); long int psx_syscall6(long int syscall_nr, long int arg1, long int arg2, long int arg3, long int arg4, long int arg5, long int arg6); /* * This function should be used by systems to obtain pointers to the * two syscall functions provided by the PSX library. A linkage trick * is to define this function as weak in a library that can optionally * use libpsx and then, should the caller link -lpsx, that library can * implicitly use these POSIX semantics syscalls. See libcap for an * example of this useage. */ void psx_load_syscalls(long int (**syscall_fn)(long int, long int, long int, long int), long int (**syscall6_fn)(long int, long int, long int, long int, long int, long int, long int)); #ifdef __cplusplus } #endif #endif /* _SYS_PSX_SYSCALL_H */
Upload File
Create Folder