/
usr
/
include
/
sys
/
/usr/include/sys
mkdir
upload
Name
Size
Mode
Actions
acct.h
3407
0644
edit
dl
rm
bitypes.h
86
0644
edit
dl
rm
cdefs.h
14000
0644
edit
dl
rm
debugreg.h
3646
0644
edit
dl
rm
dir.h
989
0644
edit
dl
rm
epoll.h
4565
0644
edit
dl
rm
errno.h
19
0644
edit
dl
rm
eventfd.h
1617
0644
edit
dl
rm
fcntl.h
19
0644
edit
dl
rm
file.h
1756
0644
edit
dl
rm
fsuid.h
1255
0644
edit
dl
rm
gmon.h
6109
0644
edit
dl
rm
gmon_out.h
2703
0644
edit
dl
rm
inotify.h
3941
0644
edit
dl
rm
io.h
5110
0644
edit
dl
rm
ioctl.h
1825
0644
edit
dl
rm
ipc.h
1706
0644
edit
dl
rm
kd.h
1185
0644
edit
dl
rm
kdaemon.h
1168
0644
edit
dl
rm
klog.h
1271
0644
edit
dl
rm
mman.h
5642
0644
edit
dl
rm
mount.h
5578
0644
edit
dl
rm
msg.h
2463
0644
edit
dl
rm
mtio.h
11230
0644
edit
dl
rm
param.h
2470
0644
edit
dl
rm
pci.h
984
0644
edit
dl
rm
perm.h
1200
0644
edit
dl
rm
personality.h
2687
0644
edit
dl
rm
poll.h
2554
0644
edit
dl
rm
prctl.h
1126
0644
edit
dl
rm
procfs.h
4971
0644
edit
dl
rm
profil.h
2020
0644
edit
dl
rm
ptrace.h
5397
0644
edit
dl
rm
queue.h
19539
0644
edit
dl
rm
quota.h
7903
0644
edit
dl
rm
raw.h
1243
0644
edit
dl
rm
reboot.h
1565
0644
edit
dl
rm
reg.h
1924
0644
edit
dl
rm
resource.h
3736
0644
edit
dl
rm
select.h
4151
0644
edit
dl
rm
sem.h
2120
0644
edit
dl
rm
sendfile.h
1883
0644
edit
dl
rm
shm.h
1965
0644
edit
dl
rm
signal.h
20
0644
edit
dl
rm
signalfd.h
1771
0644
edit
dl
rm
socket.h
9597
0644
edit
dl
rm
socketvar.h
141
0644
edit
dl
rm
soundcard.h
29
0644
edit
dl
rm
stat.h
16815
0644
edit
dl
rm
statfs.h
2185
0644
edit
dl
rm
statvfs.h
2905
0644
edit
dl
rm
swap.h
1597
0644
edit
dl
rm
syscall.h
1403
0644
edit
dl
rm
sysctl.h
2064
0644
edit
dl
rm
sysinfo.h
1591
0644
edit
dl
rm
syslog.h
7713
0644
edit
dl
rm
sysmacros.h
2468
0644
edit
dl
rm
termios.h
74
0644
edit
dl
rm
time.h
6825
0644
edit
dl
rm
timeb.h
1466
0644
edit
dl
rm
timerfd.h
1932
0644
edit
dl
rm
times.h
1692
0644
edit
dl
rm
timex.h
5631
0644
edit
dl
rm
ttychars.h
2499
0644
edit
dl
rm
ttydefaults.h
3568
0644
edit
dl
rm
types.h
6838
0644
edit
dl
rm
ucontext.h
5455
0644
edit
dl
rm
uio.h
4793
0644
edit
dl
rm
ultrasound.h
30
0644
edit
dl
rm
un.h
1532
0644
edit
dl
rm
unistd.h
20
0644
edit
dl
rm
user.h
4251
0644
edit
dl
rm
ustat.h
1214
0644
edit
dl
rm
utsname.h
2562
0644
edit
dl
rm
vfs.h
161
0644
edit
dl
rm
vlimit.h
1959
0644
edit
dl
rm
vt.h
22
0644
edit
dl
rm
vtimes.h
2542
0644
edit
dl
rm
wait.h
6570
0644
edit
dl
rm
xattr.h
4337
0644
edit
dl
rm
Edit:
/usr/include/sys/debugreg.h
(3646B)
/* Copyright (C) 2001, 2003 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, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ #ifndef _SYS_DEBUGREG_H #define _SYS_DEBUGREG_H 1 #include <bits/wordsize.h> /* 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) #define DR_LEN_8 (0x8) /* 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. */ #if __WORDSIZE == 64 # define DR_CONTROL_RESERVED (0xFFFFFFFF0000FC00UL) /* 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