003 File Manager
Current Path:
/usr/local/lib/perl5/site_perl/mach/5.32/sys
usr
/
local
/
lib
/
perl5
/
site_perl
/
mach
/
5.32
/
sys
/
📁
..
📄
_atomic64e.ph
(1.7 KB)
📄
_atomic_subword.ph
(5.32 KB)
📄
_bitset.ph
(834 B)
📄
_blockcount.ph
(809 B)
📄
_bus_dma.ph
(324 B)
📄
_callout.ph
(199 B)
📄
_cpuset.ph
(487 B)
📄
_cscan_atomic.ph
(29.03 KB)
📄
_cscan_bus.ph
(13.04 KB)
📄
_domainset.ph
(547 B)
📄
_eventhandler.ph
(738 B)
📄
_ffcounter.ph
(180 B)
📄
_iovec.ph
(316 B)
📄
_lock.ph
(1.19 KB)
📄
_lockmgr.ph
(276 B)
📄
_mutex.ph
(200 B)
📄
_null.ph
(651 B)
📄
_pctrie.ph
(171 B)
📄
_pthreadtypes.ph
(317 B)
📄
_rangeset.ph
(204 B)
📄
_rmlock.ph
(485 B)
📄
_rwlock.ph
(203 B)
📄
_semaphore.ph
(285 B)
📄
_seqc.ph
(165 B)
📄
_sigset.ph
(858 B)
📄
_smr.ph
(908 B)
📄
_sockaddr_storage.ph
(665 B)
📄
_stack.ph
(230 B)
📄
_stdarg.ph
(1.09 KB)
📄
_stdint.ph
(1.62 KB)
📄
_sx.ph
(159 B)
📄
_task.ph
(578 B)
📄
_termios.ph
(7.26 KB)
📄
_timespec.ph
(325 B)
📄
_timeval.ph
(456 B)
📄
_types.ph
(944 B)
📄
_ucontext.ph
(177 B)
📄
_uio.ph
(548 B)
📄
_umtx.ph
(265 B)
📄
_unrhdr.ph
(193 B)
📄
_winsize.ph
(174 B)
📄
aac_ioctl.ph
(7.36 KB)
📄
abi_compat.ph
(1.81 KB)
📄
acct.ph
(859 B)
📄
acl.ph
(6.91 KB)
📄
agpio.ph
(5.3 KB)
📄
aio.ph
(2.17 KB)
📄
alq.ph
(648 B)
📄
apm.ph
(87 B)
📄
arb.ph
(35.53 KB)
📄
assym.ph
(1.5 KB)
📄
ata.ph
(50.51 KB)
📄
atomic_common.ph
(3.28 KB)
📄
auxv.ph
(220 B)
📄
backlight.ph
(903 B)
📄
bio.ph
(2.23 KB)
📄
bitset.ph
(9.24 KB)
📄
bitstring.ph
(1.61 KB)
📄
blist.ph
(552 B)
📄
blockcount.ph
(1.6 KB)
📄
boot.ph
(247 B)
📄
buf.ph
(11.05 KB)
📄
buf_ring.ph
(1.55 KB)
📄
bufobj.ph
(2.18 KB)
📄
bus.ph
(24.54 KB)
📄
bus_dma.ph
(4.55 KB)
📄
bus_dma_internal.ph
(186 B)
📄
busdma_bufalloc.ph
(262 B)
📄
callout.ph
(5.06 KB)
📄
caprights.ph
(534 B)
📄
capsicum.ph
(12.44 KB)
📄
cdefs.ph
(33.03 KB)
📄
cdio.ph
(5.68 KB)
📄
cdrio.ph
(3.6 KB)
📄
cfictl.ph
(741 B)
📄
chio.ph
(6.57 KB)
📄
ck.ph
(503 B)
📄
clock.ph
(990 B)
📄
cnv.ph
(540 B)
📄
compressor.ph
(349 B)
📄
condvar.ph
(1.85 KB)
📄
conf.ph
(4.53 KB)
📄
cons.ph
(1.59 KB)
📄
consio.ph
(17.3 KB)
📄
copyright.ph
(608 B)
📄
counter.ph
(1.61 KB)
📄
coverage.ph
(745 B)
📄
cpu.ph
(2.36 KB)
📄
cpuctl.ph
(1.04 KB)
📄
cpuset.ph
(4.91 KB)
📄
csan.ph
(349 B)
📄
ctf.ph
(8.35 KB)
📄
ctf_api.ph
(1.04 KB)
📄
ctype.ph
(1.51 KB)
📄
devctl.ph
(168 B)
📄
devicestat.ph
(4.25 KB)
📄
devmap.ph
(352 B)
📄
dirent.ph
(1.88 KB)
📄
disk.ph
(2.75 KB)
📄
disk_zone.ph
(4.48 KB)
📄
disklabel.ph
(1.75 KB)
📄
diskmbr.ph
(329 B)
📄
dkstat.ph
(199 B)
📄
dnv.ph
(427 B)
📄
domain.ph
(1.16 KB)
📄
domainset.ph
(5.58 KB)
📄
dtrace.ph
(52.95 KB)
📄
dtrace_bsd.ph
(177 B)
📄
dvdio.ph
(2.61 KB)
📄
efi.ph
(3.33 KB)
📄
efiio.ph
(821 B)
📄
elf.ph
(273 B)
📄
elf32.ph
(1.41 KB)
📄
elf64.ph
(1.91 KB)
📄
elf_common.ph
(85.24 KB)
📄
elf_generic.ph
(2.06 KB)
📄
endian.ph
(5.87 KB)
📄
epoch.ph
(2.43 KB)
📄
errno.ph
(6.93 KB)
📄
eui64.ph
(323 B)
📄
event.ph
(7.54 KB)
📄
eventfd.ph
(458 B)
📄
eventhandler.ph
(4.88 KB)
📄
eventvar.ph
(858 B)
📄
exec.ph
(1.19 KB)
📄
extattr.ph
(1.12 KB)
📄
fail.ph
(5.77 KB)
📄
fbio.ph
(17.58 KB)
📄
fcntl.ph
(9.1 KB)
📄
fdcio.ph
(5.37 KB)
📄
file.ph
(6.54 KB)
📄
filedesc.ph
(6.85 KB)
📄
filio.ph
(1.99 KB)
📄
firmware.ph
(332 B)
📄
fnv_hash.ph
(1.52 KB)
📄
font.ph
(930 B)
📄
gmon.ph
(2.57 KB)
📄
gpio.ph
(3.4 KB)
📄
gpt.ph
(300 B)
📄
gsb_crc32.ph
(744 B)
📄
gtaskqueue.ph
(1.85 KB)
📄
hash.ph
(440 B)
📄
hhook.ph
(1.42 KB)
📄
iconv.ph
(4.33 KB)
📄
imgact.ph
(476 B)
📄
imgact_aout.ph
(4.63 KB)
📄
imgact_binmisc.ph
(1.75 KB)
📄
imgact_elf.ph
(1.45 KB)
📄
interrupt.ph
(1.45 KB)
📄
intr.ph
(1.61 KB)
📄
ioccom.ph
(2.62 KB)
📄
ioctl.ph
(387 B)
📄
ioctl_compat.ph
(5.35 KB)
📄
iov.ph
(1.34 KB)
📄
iov_schema.ph
(358 B)
📄
ipc.ph
(2.21 KB)
📄
ipmi.ph
(6.15 KB)
📄
jail.ph
(7.65 KB)
📄
joystick.ph
(819 B)
📄
kbio.ph
(8.69 KB)
📄
kcov.ph
(1.19 KB)
📄
kdb.ph
(2.3 KB)
📄
kenv.ph
(578 B)
📄
kern_prefetch.ph
(385 B)
📄
kernel.ph
(13.29 KB)
📄
kerneldump.ph
(3.28 KB)
📄
khelp.ph
(325 B)
📄
kobj.ph
(3.16 KB)
📄
kpilite.ph
(860 B)
📄
ksem.ph
(432 B)
📄
kthread.ph
(199 B)
📄
ktls.ph
(1.67 KB)
📄
ktr.ph
(12.26 KB)
📄
ktr_class.ph
(2.53 KB)
📄
ktrace.ph
(4.95 KB)
📄
libkern.ph
(3.61 KB)
📄
limits.ph
(2.99 KB)
📄
link_aout.ph
(4.54 KB)
📄
link_elf.ph
(971 B)
📄
linker.ph
(3.66 KB)
📄
linker_set.ph
(2.81 KB)
📄
lock.ph
(10.56 KB)
📄
lock_profile.ph
(1.31 KB)
📄
lockf.ph
(307 B)
📄
lockmgr.ph
(6.64 KB)
📄
lockstat.ph
(4.38 KB)
📄
loginclass.ph
(180 B)
📄
mac.ph
(740 B)
📄
malloc.ph
(3.64 KB)
📄
mbuf.ph
(33.44 KB)
📄
mchain.ph
(494 B)
📄
md4.ph
(213 B)
📄
md5.ph
(497 B)
📄
mdioctl.ph
(1.7 KB)
📄
memdesc.ph
(2.53 KB)
📄
memrange.ph
(1.99 KB)
📄
mman.ph
(9.09 KB)
📄
module.ph
(4.84 KB)
📄
module_khelp.ph
(1.18 KB)
📄
mount.ph
(22.18 KB)
📄
mouse.ph
(15.1 KB)
📄
mpt_ioctl.ph
(1.95 KB)
📄
mqueue.ph
(202 B)
📄
msg.ph
(1.24 KB)
📄
msgbuf.ph
(993 B)
📄
mtio.ph
(8.56 KB)
📄
mutex.ph
(17.47 KB)
📄
namei.ph
(7.81 KB)
📄
nlist_aout.ph
(1.88 KB)
📄
nv.ph
(2.02 KB)
📄
nvpair.ph
(4.36 KB)
📄
osd.ph
(3.22 KB)
📄
param.ph
(9.24 KB)
📄
pciio.ph
(2.92 KB)
📄
pcpu.ph
(6.97 KB)
📄
pctrie.ph
(2.74 KB)
📄
physmem.ph
(886 B)
📄
pidctrl.ph
(435 B)
📄
pipe.ph
(2.25 KB)
📄
pmc.ph
(22.72 KB)
📄
pmckern.ph
(6.13 KB)
📄
pmclog.ph
(3.2 KB)
📄
poll.ph
(1.58 KB)
📄
posix4.ph
(1.2 KB)
📄
power.ph
(986 B)
📄
priority.ph
(3.44 KB)
📄
priv.ph
(19.61 KB)
📄
prng.ph
(328 B)
📄
proc.ph
(30.83 KB)
📄
procctl.ph
(4.3 KB)
📄
procdesc.ph
(1.48 KB)
📄
procfs.ph
(535 B)
📄
protosw.ph
(4.83 KB)
📄
ptio.ph
(395 B)
📄
ptrace.ph
(4.63 KB)
📄
qmath.ph
(19.54 KB)
📄
queue.ph
(30.6 KB)
📄
racct.ph
(6.48 KB)
📄
random.ph
(4.47 KB)
📄
rangelock.ph
(1.45 KB)
📄
rangeset.ph
(234 B)
📄
rctl.ph
(4.19 KB)
📄
reboot.ph
(1.86 KB)
📄
refcount.ph
(4.03 KB)
📄
regression.ph
(218 B)
📄
resource.ph
(3.04 KB)
📄
resourcevar.ph
(1.14 KB)
📄
rman.ph
(1.89 KB)
📄
rmlock.ph
(4.18 KB)
📄
rtprio.ph
(1.44 KB)
📄
runq.ph
(296 B)
📄
rwlock.ph
(10.78 KB)
📄
sbuf.ph
(1.55 KB)
📄
sched.ph
(3.04 KB)
📄
sdt.ph
(21.91 KB)
📄
select.ph
(2.28 KB)
📄
selinfo.ph
(371 B)
📄
sem.ph
(1.97 KB)
📄
sema.ph
(919 B)
📄
seqc.ph
(2.19 KB)
📄
serial.ph
(2.12 KB)
📄
sf_buf.ph
(2.32 KB)
📄
sglist.ph
(715 B)
📄
shm.ph
(1.8 KB)
📄
sigio.ph
(323 B)
📄
signal.ph
(12.78 KB)
📄
signalvar.ph
(9.63 KB)
📄
sleepqueue.ph
(975 B)
📄
slicer.ph
(1000 B)
📄
smp.ph
(3.05 KB)
📄
smr.ph
(1.49 KB)
📄
smr_types.ph
(2.14 KB)
📄
snoop.ph
(625 B)
📄
sockbuf.ph
(4.14 KB)
📄
socket.ph
(20.01 KB)
📄
socketvar.ph
(7.29 KB)
📄
sockio.ph
(8.23 KB)
📄
sockopt.ph
(375 B)
📄
soundcard.ph
(66.67 KB)
📄
specialfd.ph
(257 B)
📄
spigenio.ph
(1.06 KB)
📄
stack.ph
(845 B)
📄
stat.ph
(9.2 KB)
📄
stats.ph
(30.3 KB)
📄
statvfs.ph
(485 B)
📄
stdatomic.ph
(15.26 KB)
📄
stddef.ph
(518 B)
📄
stdint.ph
(915 B)
📄
sx.ph
(10.75 KB)
📄
syscall.ph
(28.09 KB)
📄
syscallsubr.ph
(521 B)
📄
sysctl.ph
(46.96 KB)
📄
sysent.ph
(6.09 KB)
📄
syslimits.ph
(1.32 KB)
📄
syslog.ph
(4.03 KB)
📄
sysproto.ph
(43.73 KB)
📄
systm.ph
(12.58 KB)
📄
taskqueue.ph
(3.65 KB)
📄
terminal.ph
(5.68 KB)
📄
termios.ph
(223 B)
📄
thr.ph
(691 B)
📄
tiio.ph
(4.04 KB)
📄
tim_filter.ph
(540 B)
📄
time.ph
(12.88 KB)
📄
timeb.ph
(488 B)
📄
timeet.ph
(996 B)
📄
timeffc.ph
(3.86 KB)
📄
timepps.ph
(5.73 KB)
📄
timers.ph
(1.15 KB)
📄
times.ph
(379 B)
📄
timespec.ph
(735 B)
📄
timetc.ph
(444 B)
📄
timex.ph
(3.16 KB)
📄
tree.ph
(29.45 KB)
📄
tslog.ph
(2.24 KB)
📄
tty.ph
(3.84 KB)
📄
ttycom.ph
(5.65 KB)
📄
ttydefaults.ph
(2.62 KB)
📄
ttydevsw.ph
(2.84 KB)
📄
ttydisc.ph
(1.02 KB)
📄
ttyhook.ph
(2.25 KB)
📄
ttyqueue.ph
(2.15 KB)
📄
turnstile.ph
(357 B)
📄
types.ph
(7.97 KB)
📄
ucontext.ph
(695 B)
📄
ucred.ph
(1.19 KB)
📄
uio.ph
(681 B)
📄
umtx.ph
(6.12 KB)
📄
un.ph
(1.07 KB)
📄
unistd.ph
(7.59 KB)
📄
unpcb.ph
(1.19 KB)
📄
user.ph
(8.58 KB)
📄
utsname.ph
(553 B)
📄
uuid.ph
(543 B)
📄
vdso.ph
(1.28 KB)
📄
vmem.ph
(643 B)
📄
vmmeter.ph
(2.21 KB)
📄
vnode.ph
(24.18 KB)
📄
vtoc.ph
(88 B)
📄
wait.ph
(4.11 KB)
📄
watchdog.ph
(2.72 KB)
Editing: systm.ph
require '_h2ph_pre.ph'; no warnings qw(redefine misc); unless(defined(&_SYS_SYSTM_H_)) { eval 'sub _SYS_SYSTM_H_ () {1;}' unless defined(&_SYS_SYSTM_H_); require 'sys/cdefs.ph'; require 'machine/atomic.ph'; require 'machine/cpufunc.ph'; require 'sys/callout.ph'; require 'sys/queue.ph'; require 'sys/stdint.ph'; if(defined(&_KERNEL)) { eval 'sub KERNEL_PANICKED () { eval q( &__predict_false( &panicked)); }' unless defined(&KERNEL_PANICKED); eval("sub VM_GUEST_NO () { 0; }") unless defined(&VM_GUEST_NO); eval("sub VM_GUEST_VM () { 1; }") unless defined(&VM_GUEST_VM); eval("sub VM_GUEST_XEN () { 2; }") unless defined(&VM_GUEST_XEN); eval("sub VM_GUEST_HV () { 3; }") unless defined(&VM_GUEST_HV); eval("sub VM_GUEST_VMWARE () { 4; }") unless defined(&VM_GUEST_VMWARE); eval("sub VM_GUEST_KVM () { 5; }") unless defined(&VM_GUEST_KVM); eval("sub VM_GUEST_BHYVE () { 6; }") unless defined(&VM_GUEST_BHYVE); eval("sub VM_GUEST_VBOX () { 7; }") unless defined(&VM_GUEST_VBOX); eval("sub VM_GUEST_PARALLELS () { 8; }") unless defined(&VM_GUEST_PARALLELS); eval("sub VM_LAST () { 9; }") unless defined(&VM_LAST); if(defined(&INVARIANTS)) { eval 'sub VNASSERT { my($exp, $vp, $msg) = @_; eval q( &do { &if ( &__predict_false(!($exp))) { &vn_printf($vp, \\"VNASSERT failed: %s not true at %s:%d (%s)\\\\n\\", $exp, &__FILE__, &__LINE__, &__func__); &kassert_panic $msg; } } &while (0)); }' unless defined(&VNASSERT); eval 'sub VNPASS { my($exp, $vp) = @_; eval q( &do { &const \'char\' * &_exp = $exp; &VNASSERT($exp, $vp, (\\"condition %s not met at %s:%d (%s)\\", &_exp, &__FILE__, &__LINE__, &__func__)); } &while (0)); }' unless defined(&VNPASS); eval 'sub __assert_unreachable () { eval q( &panic(\\"executing segment marked as unreachable at %s:%d (%s)\\\\n\\", &__FILE__, &__LINE__, &__func__)); }' unless defined(&__assert_unreachable); } else { eval 'sub VNASSERT { my($exp, $vp, $msg) = @_; eval q( &do { } &while (0)); }' unless defined(&VNASSERT); eval 'sub VNPASS { my($exp, $vp) = @_; eval q( &do { } &while (0)); }' unless defined(&VNPASS); eval 'sub __assert_unreachable () { eval q( &__unreachable()); }' unless defined(&__assert_unreachable); } unless(defined(&CTASSERT)) { eval 'sub CTASSERT { my($x) = @_; eval q( &_Static_assert($x, \\"compile-time assertion failed\\")); }' unless defined(&CTASSERT); } } if(defined(&_STANDALONE)) { eval 'sub kassert_panic () { &printf;}' unless defined(&kassert_panic); } else { if(defined(&WITNESS) || defined(&INVARIANT_SUPPORT)) { if(defined(&KASSERT_PANIC_OPTIONAL)) { } else { eval 'sub kassert_panic () { &panic;}' unless defined(&kassert_panic); } } } if(defined(&INVARIANTS) || defined(&_STANDALONE)) { eval 'sub KASSERT { my($exp,$msg) = @_; eval q( &do { &if ( &__predict_false(!($exp))) &kassert_panic $msg; } &while (0)); }' unless defined(&KASSERT); } else { eval 'sub KASSERT { my($exp,$msg) = @_; eval q( &do { } &while (0)); }' unless defined(&KASSERT); } eval 'sub MPASS { my($ex) = @_; eval q( &MPASS4($ex, $ex, &__FILE__, &__LINE__)); }' unless defined(&MPASS); eval 'sub MPASS2 { my($ex, $what) = @_; eval q( &MPASS4($ex, $what, &__FILE__, &__LINE__)); }' unless defined(&MPASS2); eval 'sub MPASS3 { my($ex, $file, $line) = @_; eval q( &MPASS4($ex, $ex, $file, $line)); }' unless defined(&MPASS3); eval 'sub MPASS4 { my($ex, $what, $file, $line) = @_; eval q( &KASSERT(($ex), (\\"Assertion %s failed at %s:%d\\", $what, $file, $line))); }' unless defined(&MPASS4); eval 'sub __read_mostly () { &__section(".data.read_mostly");}' unless defined(&__read_mostly); eval 'sub __read_frequently () { &__section(".data.read_frequently");}' unless defined(&__read_frequently); eval 'sub __exclusive_cache_line () { &__aligned( &CACHE_LINE_SIZE) &__section(".data.exclusive_cache_line");}' unless defined(&__exclusive_cache_line); if(defined(&_KERNEL)) { require 'sys/param.ph'; require 'sys/pcpu.ph'; require 'sys/kpilite.ph'; eval 'sub ASSERT_ATOMIC_LOAD_PTR { my($var, $msg) = @_; eval q( &KASSERT($sizeof{$var} == $sizeof{ &void } && (( &uintptr_t)($var) & ($sizeof{ &void } - 1)) == 0, $msg)); }' unless defined(&ASSERT_ATOMIC_LOAD_PTR); eval 'sub CRITICAL_ASSERT { my($td) = @_; eval q( &KASSERT(($td)-> &td_critnest >= 1, (\\"Not in critical section\\"));); }' unless defined(&CRITICAL_ASSERT); eval 'sub SCHEDULER_STOPPED_TD { my($td) = @_; eval q(({ &MPASS(($td) == &curthread); &__predict_false(($td)-> &td_stopsched); })); }' unless defined(&SCHEDULER_STOPPED_TD); eval 'sub SCHEDULER_STOPPED () { eval q( &SCHEDULER_STOPPED_TD( &curthread)); }' unless defined(&SCHEDULER_STOPPED); if(defined(&__LP64__)) { eval 'sub IOSIZE_MAX () { &iosize_max();}' unless defined(&IOSIZE_MAX); eval 'sub DEVFS_IOSIZE_MAX () { &devfs_iosize_max();}' unless defined(&DEVFS_IOSIZE_MAX); } else { eval 'sub IOSIZE_MAX () { &SSIZE_MAX;}' unless defined(&IOSIZE_MAX); eval 'sub DEVFS_IOSIZE_MAX () { &SSIZE_MAX;}' unless defined(&DEVFS_IOSIZE_MAX); } eval 'sub HASH_NOWAIT () {0x1;}' unless defined(&HASH_NOWAIT); eval 'sub HASH_WAITOK () {0x2;}' unless defined(&HASH_WAITOK); if(defined(&KLD_MODULE) || defined(&KTR_CRITICAL) || !defined(&_KERNEL) || defined(&GENOFFSET)) { eval 'sub critical_enter () { eval q( &critical_enter_KBI()); }' unless defined(&critical_enter); eval 'sub critical_exit () { eval q( &critical_exit_KBI()); }' unless defined(&critical_exit); } else { eval 'sub critical_enter { my($void) = @_; eval q({ \'struct thread_lite\' * &td; &td = &curthread; ($td->{td_critnest})++; &atomic_interrupt_fence(); }); }' unless defined(&critical_enter); eval 'sub critical_exit { my($void) = @_; eval q({ \'struct thread_lite\' * &td; &td = &curthread; &KASSERT( ($td->{td_critnest}) != 0, (\\"critical_exit: td_critnest == 0\\")); &atomic_interrupt_fence(); ($td->{td_critnest})--; &atomic_interrupt_fence(); &if ( &__predict_false( ($td->{td_owepreempt}))) &critical_exit_preempt(); }); }' unless defined(&critical_exit); } if(defined(&EARLY_PRINTF)) { } eval 'sub HD_COLUMN_MASK () {0xff;}' unless defined(&HD_COLUMN_MASK); eval 'sub HD_DELIM_MASK () {0xff00;}' unless defined(&HD_DELIM_MASK); eval 'sub HD_OMIT_COUNT () {(1<< 16);}' unless defined(&HD_OMIT_COUNT); eval 'sub HD_OMIT_HEX () {(1<< 17);}' unless defined(&HD_OMIT_HEX); eval 'sub HD_OMIT_CHARS () {(1<< 18);}' unless defined(&HD_OMIT_CHARS); eval 'sub ovbcopy { my($f, $t, $l) = @_; eval q( &bcopy(($f), ($t), ($l))); }' unless defined(&ovbcopy); if(defined(&KCSAN)) { eval 'sub bcopy { my($from, $to, $len) = @_; eval q( &kcsan_memmove(($to), ($from), ($len))); }' unless defined(&bcopy); eval 'sub bzero { my($buf, $len) = @_; eval q( &kcsan_memset(($buf), 0, ($len))); }' unless defined(&bzero); eval 'sub bcmp { my($b1, $b2, $len) = @_; eval q( &kcsan_memcmp(($b1), ($b2), ($len))); }' unless defined(&bcmp); eval 'sub memset { my($buf, $c, $len) = @_; eval q( &kcsan_memset(($buf), ($c), ($len))); }' unless defined(&memset); eval 'sub memcpy { my($to, $from, $len) = @_; eval q( &kcsan_memcpy(($to), ($from), ($len))); }' unless defined(&memcpy); eval 'sub memmove { my($dest, $src, $n) = @_; eval q( &kcsan_memmove(($dest), ($src), ($n))); }' unless defined(&memmove); eval 'sub memcmp { my($b1, $b2, $len) = @_; eval q( &kcsan_memcmp(($b1), ($b2), ($len))); }' unless defined(&memcmp); } else { eval 'sub bcopy { my($from, $to, $len) = @_; eval q( &__builtin_memmove(($to), ($from), ($len))); }' unless defined(&bcopy); eval 'sub bzero { my($buf, $len) = @_; eval q( &__builtin_memset(($buf), 0, ($len))); }' unless defined(&bzero); eval 'sub bcmp { my($b1, $b2, $len) = @_; eval q( &__builtin_memcmp(($b1), ($b2), ($len))); }' unless defined(&bcmp); eval 'sub memset { my($buf, $c, $len) = @_; eval q( &__builtin_memset(($buf), ($c), ($len))); }' unless defined(&memset); eval 'sub memcpy { my($to, $from, $len) = @_; eval q( &__builtin_memcpy(($to), ($from), ($len))); }' unless defined(&memcpy); eval 'sub memmove { my($dest, $src, $n) = @_; eval q( &__builtin_memmove(($dest), ($src), ($n))); }' unless defined(&memmove); eval 'sub memcmp { my($b1, $b2, $len) = @_; eval q( &__builtin_memcmp(($b1), ($b2), ($len))); }' unless defined(&memcmp); } eval 'sub bzero_early { my($buf, $len) = @_; eval q( &memset_early(($buf), 0, ($len))); }' unless defined(&bzero_early); eval 'sub bcopy_early { my($from, $to, $len) = @_; eval q( &memmove_early(($to), ($from), ($len))); }' unless defined(&bcopy_early); eval 'sub copystr { my($src, $dst, $len, $outlen) = @_; eval q(({ \'size_t\' &__r, &__len, * &__outlen; &__len = ($len); &__outlen = ($outlen); &__r = &strlcpy(($dst), ($src), &__len); &if ( &__outlen != &NULL) * &__outlen = (( &__r >= &__len) ? &__len : &__r + 1); (( &__r >= &__len) ? &ENAMETOOLONG : 0); })); }' unless defined(©str); if(defined(&KCSAN)) { eval 'sub copyin { my($u, $k, $l) = @_; eval q( &kcsan_copyin(($u), ($k), ($l))); }' unless defined(©in); eval 'sub copyinstr { my($u, $k, $l, $lc) = @_; eval q( &kcsan_copyinstr(($u), ($k), ($l), ($lc))); }' unless defined(©instr); eval 'sub copyout { my($k, $u, $l) = @_; eval q( &kcsan_copyout(($k), ($u), ($l))); }' unless defined(©out); } eval 'sub GETENV_UNSIGNED () { &false;}' unless defined(&GETENV_UNSIGNED); eval 'sub GETENV_SIGNED () { &true;}' unless defined(&GETENV_SIGNED); require 'sys/libkern.ph'; eval 'sub msleep { my($chan, $mtx, $pri, $wmesg, $timo) = @_; eval q( &_sleep(($chan), ($mtx)-> &lock_object, ($pri), ($wmesg), &tick_sbt * ($timo), 0, &C_HARDCLOCK)); }' unless defined(&msleep); eval 'sub msleep_sbt { my($chan, $mtx, $pri, $wmesg, $bt, $pr, $flags) = @_; eval q( &_sleep(($chan), ($mtx)-> &lock_object, ($pri), ($wmesg), ($bt), ($pr), ($flags))); }' unless defined(&msleep_sbt); eval 'sub msleep_spin { my($chan, $mtx, $wmesg, $timo) = @_; eval q( &msleep_spin_sbt(($chan), ($mtx), ($wmesg), &tick_sbt * ($timo), 0, &C_HARDCLOCK)); }' unless defined(&msleep_spin); eval 'sub pause { my($wmesg, $timo) = @_; eval q( &pause_sbt(($wmesg), &tick_sbt * ($timo), 0, &C_HARDCLOCK)); }' unless defined(&pause); eval 'sub pause_sig { my($wmesg, $timo) = @_; eval q( &pause_sbt(($wmesg), &tick_sbt * ($timo), 0, &C_HARDCLOCK | &C_CATCH)); }' unless defined(&pause_sig); eval 'sub tsleep { my($chan, $pri, $wmesg, $timo) = @_; eval q( &_sleep(($chan), &NULL, ($pri), ($wmesg), &tick_sbt * ($timo), 0, &C_HARDCLOCK)); }' unless defined(&tsleep); eval 'sub tsleep_sbt { my($chan, $pri, $wmesg, $bt, $pr, $flags) = @_; eval q( &_sleep(($chan), &NULL, ($pri), ($wmesg), ($bt), ($pr), ($flags))); }' unless defined(&tsleep_sbt); if(defined(&__LP64__)) { } unless(defined(&__LP64__)) { eval 'sub UNR64_LOCKED () {1;}' unless defined(&UNR64_LOCKED); } eval 'sub new_unrhdr64 { my($unr64,$low) = @_; eval q({ ($unr64->{counter}) = $low; }); }' unless defined(&new_unrhdr64); if(defined(&UNR64_LOCKED)) { } else { eval 'sub alloc_unr64 { my($unr64) = @_; eval q({ ( &atomic_fetchadd_64( ($unr64->{counter}), 1)); }); }' unless defined(&alloc_unr64); } if(defined(&NO_OBSOLETE_CODE)) { eval 'sub __gone_ok { my($m, $msg) = @_; eval q( &_Static_assert($m < &P_OSREL_MAJOR( &__FreeBSD_version)), \\"Obsolete code: \\" $msg);); }' unless defined(&__gone_ok); } else { eval 'sub __gone_ok { my($m, $msg) = @_; eval q(); }' unless defined(&__gone_ok); } eval 'sub gone_in { my($major, $msg) = @_; eval q( &__gone_ok($major, $msg) &_gone_in($major, $msg)); }' unless defined(&gone_in); eval 'sub gone_in_dev { my($dev, $major, $msg) = @_; eval q( &__gone_ok($major, $msg) &_gone_in_dev($dev, $major, $msg)); }' unless defined(&gone_in_dev); } } 1;
Upload File
Create Folder