/
usr
/
include
/
sys
/
/usr/include/sys
mkdir
upload
Name
Size
Mode
Actions
platform/
-
0755
rm
acct.h
3302
0644
edit
dl
rm
auxv.h
1260
0644
edit
dl
rm
bitypes.h
86
0644
edit
dl
rm
cdefs.h
26257
0644
edit
dl
rm
debugreg.h
3576
0644
edit
dl
rm
dir.h
922
0644
edit
dl
rm
elf.h
1024
0644
edit
dl
rm
epoll.h
5076
0644
edit
dl
rm
errno.h
19
0644
edit
dl
rm
eventfd.h
1400
0644
edit
dl
rm
fanotify.h
1292
0644
edit
dl
rm
fcntl.h
19
0644
edit
dl
rm
file.h
1675
0644
edit
dl
rm
fsuid.h
1188
0644
edit
dl
rm
gmon.h
6230
0644
edit
dl
rm
gmon_out.h
2636
0644
edit
dl
rm
inotify.h
3901
0644
edit
dl
rm
io.h
5086
0644
edit
dl
rm
ioctl.h
2027
0644
edit
dl
rm
ipc.h
1462
0644
edit
dl
rm
kd.h
1112
0644
edit
dl
rm
klog.h
1204
0644
edit
dl
rm
mman.h
5552
0644
edit
dl
rm
mount.h
5706
0644
edit
dl
rm
msg.h
2623
0644
edit
dl
rm
mtio.h
11163
0644
edit
dl
rm
param.h
3149
0644
edit
dl
rm
pci.h
923
0644
edit
dl
rm
perm.h
1127
0644
edit
dl
rm
personality.h
2723
0644
edit
dl
rm
poll.h
3025
0644
edit
dl
rm
prctl.h
1795
0644
edit
dl
rm
procfs.h
4338
0644
edit
dl
rm
profil.h
1959
0644
edit
dl
rm
ptrace.h
6126
0644
edit
dl
rm
queue.h
19539
0644
edit
dl
rm
quota.h
5173
0644
edit
dl
rm
random.h
1471
0644
edit
dl
rm
raw.h
1182
0644
edit
dl
rm
reboot.h
1633
0644
edit
dl
rm
reg.h
1827
0644
edit
dl
rm
resource.h
4034
0644
edit
dl
rm
rseq.h
6405
0644
edit
dl
rm
select.h
5039
0644
edit
dl
rm
sem.h
2660
0644
edit
dl
rm
sendfile.h
1806
0644
edit
dl
rm
shm.h
2131
0644
edit
dl
rm
signal.h
20
0644
edit
dl
rm
signalfd.h
1714
0644
edit
dl
rm
single_threaded.h
1182
0644
edit
dl
rm
socket.h
12382
0644
edit
dl
rm
socketvar.h
141
0644
edit
dl
rm
soundcard.h
29
0644
edit
dl
rm
stat.h
13735
0644
edit
dl
rm
statfs.h
2094
0644
edit
dl
rm
statvfs.h
2821
0644
edit
dl
rm
swap.h
1593
0644
edit
dl
rm
syscall.h
1256
0644
edit
dl
rm
sysinfo.h
1518
0644
edit
dl
rm
syslog.h
7786
0644
edit
dl
rm
sysmacros.h
2103
0644
edit
dl
rm
termios.h
74
0644
edit
dl
rm
time.h
9139
0644
edit
dl
rm
timeb.h
1155
0644
edit
dl
rm
timerfd.h
2583
0644
edit
dl
rm
times.h
1597
0644
edit
dl
rm
timex.h
2839
0644
edit
dl
rm
ttychars.h
2499
0644
edit
dl
rm
ttydefaults.h
3568
0644
edit
dl
rm
types.h
5713
0644
edit
dl
rm
ucontext.h
5842
0644
edit
dl
rm
uio.h
6796
0644
edit
dl
rm
un.h
1453
0644
edit
dl
rm
unistd.h
20
0644
edit
dl
rm
user.h
5208
0644
edit
dl
rm
utsname.h
2481
0644
edit
dl
rm
vfs.h
161
0644
edit
dl
rm
vlimit.h
1880
0644
edit
dl
rm
vm86.h
1199
0644
edit
dl
rm
vt.h
22
0644
edit
dl
rm
wait.h
6233
0644
edit
dl
rm
xattr.h
4275
0644
edit
dl
rm
Edit:
/usr/include/sys/debugreg.h
(3576B)
/* Copyright (C) 2001-2021 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see <https://www.gnu.org/licenses/>. */ #ifndef _SYS_DEBUGREG_H #define _SYS_DEBUGREG_H 1 /* Indicate the register numbers for a number of the specific debug registers. Registers 0-3 contain the addresses we wish to trap on */ #define DR_FIRSTADDR 0 /* u_debugreg[DR_FIRSTADDR] */ #define DR_LASTADDR 3 /* u_debugreg[DR_LASTADDR] */ #define DR_STATUS 6 /* u_debugreg[DR_STATUS] */ #define DR_CONTROL 7 /* u_debugreg[DR_CONTROL] */ /* Define a few things for the status register. We can use this to determine which debugging register was responsible for the trap. The other bits are either reserved or not of interest to us. */ #define DR_TRAP0 (0x1) /* db0 */ #define DR_TRAP1 (0x2) /* db1 */ #define DR_TRAP2 (0x4) /* db2 */ #define DR_TRAP3 (0x8) /* db3 */ #define DR_STEP (0x4000) /* single-step */ #define DR_SWITCH (0x8000) /* task switch */ /* Now define a bunch of things for manipulating the control register. The top two bytes of the control register consist of 4 fields of 4 bits - each field corresponds to one of the four debug registers, and indicates what types of access we trap on, and how large the data field is that we are looking at */ #define DR_CONTROL_SHIFT 16 /* Skip this many bits in ctl register */ #define DR_CONTROL_SIZE 4 /* 4 control bits per register */ #define DR_RW_EXECUTE (0x0) /* Settings for the access types to trap on */ #define DR_RW_WRITE (0x1) #define DR_RW_READ (0x3) #define DR_LEN_1 (0x0) /* Settings for data length to trap on */ #define DR_LEN_2 (0x4) #define DR_LEN_4 (0xC) #ifdef __x86_64__ # define DR_LEN_8 (0x8) #endif /* The low byte to the control register determine which registers are enabled. There are 4 fields of two bits. One bit is "local", meaning that the processor will reset the bit after a task switch and the other is global meaning that we have to explicitly reset the bit. With linux, you can use either one, since we explicitly zero the register when we enter kernel mode. */ #define DR_LOCAL_ENABLE_SHIFT 0 /* Extra shift to the local enable bit */ #define DR_GLOBAL_ENABLE_SHIFT 1 /* Extra shift to the global enable bit */ #define DR_ENABLE_SIZE 2 /* 2 enable bits per register */ #define DR_LOCAL_ENABLE_MASK (0x55) /* Set local bits for all 4 regs */ #define DR_GLOBAL_ENABLE_MASK (0xAA) /* Set global bits for all 4 regs */ /* The second byte to the control register has a few special things. */ #ifdef __x86_64__ # define DR_CONTROL_RESERVED (0xFFFFFFFF0000FC00ULL) /* Reserved */ #else # define DR_CONTROL_RESERVED (0x00FC00U) /* Reserved */ #endif #define DR_LOCAL_SLOWDOWN (0x100) /* Local slow the pipeline */ #define DR_GLOBAL_SLOWDOWN (0x200) /* Global slow the pipeline */ #endif /* sys/debugreg.h */
Save
cmd:
run