opnsense-src/lib/libsys
Nathan Whitehorn 7b7ba7857c Implement CLOCK_TAI
Provide a clock through clock_gettime() that returns the current TAI
time (UTC without leap seconds) as a complement to CLOCK_REALTIME. This
provides compatibility with Linux, which also provides a CLOCK_TAI since
kernel 2.6.26, and this seems to be becoming the standard way to acquire
TAI time. Unlike Linux, this code will return EINVAL if the TAI offset
(set by ntpd, ptpd, etc.) is not known since it seems pathological for
CLOCK_TAI to silently give the wrong (UTC) time if the offset is not
known as it does on Linux.

Reviewed by: imp
Differential Revision:	https://reviews.freebsd.org/D46268
2025-06-12 12:25:31 -06:00
..
aarch64 libsys/aarch: Remove pointless MD syscall(2) 2024-03-07 00:59:01 +00:00
amd64 amd64: add amd64_set_tlsbase(3) 2025-05-28 14:11:23 +03:00
arm lib: Remove __ARM_ARCH checks that are always true 2024-06-12 11:49:05 +00:00
i386 libsys/i386/Symbol.sys.map: sort symbol names 2024-12-11 20:31:30 +00:00
powerpc lib{c,sys}: return wrapped syscall APIs to libc 2024-03-13 18:36:02 +00:00
powerpc64 lib{c,sys}: return wrapped syscall APIs to libc 2024-03-13 18:36:02 +00:00
powerpcspe lib{c,sys}: fix powerpcspe build 2024-03-13 20:09:41 +00:00
riscv libsys/riscv: Remove pointless MD syscall(2) 2024-03-07 00:58:44 +00:00
x86 Canonicalize the name of the FreeBSD Foundation 2024-10-24 05:03:07 +08:00
__error.c lib{c,sys}: stop exposing errno symbol 2024-09-27 20:27:46 +01:00
__getosreldate.c libc: move __getosreldate to libsys 2024-02-05 20:34:56 +00:00
__vdso_gettimeofday.c
_exit.2
_libsys.h Regen 2025-05-31 22:52:42 +03:00
_umtx_op.2 Implement CLOCK_TAI 2025-06-12 12:25:31 -06:00
_umtx_op_err.c libthr: move _umtx_op_err() to libsys 2024-02-05 20:34:56 +00:00
abort2.2
accept.2
access.2 faccessat(2): Honor AT_SYMLINK_NOFOLLOW 2024-08-11 17:49:06 +02:00
acct.2
adjtime.2
aio_cancel.2 Remove mentions of ENOSYS added in d97e44784b 2025-03-27 19:40:07 -07:00
aio_error.2 Remove mentions of ENOSYS added in d97e44784b 2025-03-27 19:40:07 -07:00
aio_fsync.2 Remove mentions of ENOSYS added in d97e44784b 2025-03-27 19:40:07 -07:00
aio_mlock.2 Remove mentions of ENOSYS added in d97e44784b 2025-03-27 19:40:07 -07:00
aio_read.2 Bump .Dd for recently changed aio_*(2) manpages 2025-03-27 19:43:26 -07:00
aio_return.2 Remove mentions of ENOSYS added in d97e44784b 2025-03-27 19:40:07 -07:00
aio_suspend.2 Remove mentions of ENOSYS added in d97e44784b 2025-03-27 19:40:07 -07:00
aio_waitcomplete.2 Bump .Dd for recently changed aio_*(2) manpages 2025-03-27 19:43:26 -07:00
aio_write.2 Bump .Dd for recently changed aio_*(2) manpages 2025-03-27 19:43:26 -07:00
auxv.3 libc: elf auxiliary vector handling to libsys 2024-02-05 20:34:56 +00:00
auxv.c libsys auxv.c: add fences needed to ensure that flag works 2024-02-21 16:18:10 +02:00
bind.2
bindat.2
brk.2
cap_enter.2
cap_fcntls_limit.2
cap_ioctls_limit.2
cap_rights_limit.2 rights.4: various corrections on capability rights 2024-04-28 22:48:31 -06:00
chdir.2
chflags.2
chmod.2 unix: Add support for atomically setting the socket mode 2024-11-03 16:46:53 +00:00
chown.2
chroot.2 Add fchroot(2) 2024-11-29 12:10:02 +00:00
clock_gettime.2 Implement CLOCK_TAI 2025-06-12 12:25:31 -06:00
clock_gettime.c
close.2 tcp: don't ever return ECONNRESET on close(2) 2024-12-23 10:35:49 -08:00
closefrom.2
connect.2
connectat.2
copy_file_range.2
cpuset.2
cpuset_getaffinity.2
cpuset_getdomain.2
creat.2 libsys: move __libsys_interposer consumers 2024-02-05 20:34:55 +00:00
dup.2
eventfd.2
execve.2 man filesystems: fix xrefs after move to section 4 2024-05-16 10:25:29 -06:00
extattr_get_file.2
fcntl.2
ffclock.2
fhlink.2 manuals: Fix errors in .2 pages 2024-09-20 11:37:02 -03:00
fhopen.2 fhopen.2: Update man page for O_NAMEDATTR flag 2025-04-09 17:50:36 -07:00
fhreadlink.2 fhreadlink.2: fix old typo in the manpage 2024-11-25 18:38:20 +00:00
flock.2
fork.2 fork: Document _Fork (and fork) as POSIX 2024 2024-11-15 23:05:40 -05:00
fspacectl.2
fsync.2 Canonicalize the name of the FreeBSD Foundation 2024-10-24 05:03:07 +08:00
getdirentries.2
getdtablesize.2
getfh.2 manuals: Fix errors in .2 pages 2024-09-20 11:37:02 -03:00
getfsstat.2
getgid.2
getgroups.2
getitimer.2
getlogin.2
getloginclass.2
getpagesize.3 libc: move getpagesize(s) to libsys 2024-02-05 20:34:56 +00:00
getpagesize.c libc: move getpagesize(s) to libsys 2024-02-05 20:34:56 +00:00
getpagesizes.3 libc: move getpagesize(s) to libsys 2024-02-05 20:34:56 +00:00
getpagesizes.c libc: move getpagesize(s) to libsys 2024-02-05 20:34:56 +00:00
getpeername.2
getpgrp.2
getpid.2
getpriority.2
getrandom.2
getrlimit.2 getrlimit(2): document RLIMIT_PIPEBUF 2024-09-20 09:46:06 +03:00
getrlimitusage.2 Canonicalize the name of the FreeBSD Foundation 2024-10-24 05:03:07 +08:00
getrusage.2
getsid.2
getsockname.2
getsockopt.2 Fix incorrect version introduced in manual pages 2025-05-04 22:44:43 -06:00
gettimeofday.2 gettimeofday.2: Do mention improbable future removal 2024-04-28 20:11:22 +02:00
gettimeofday.c
getuid.2
interposing_table.c libsys: make __libsys_interposing static 2024-03-13 17:31:48 +00:00
intro.2 intro.2 as errno.2: Use the name macro for errno 2024-05-04 08:56:10 -06:00
ioctl.2
issetugid.2
jail.2
kcmp.2
kenv.2
kill.2
kldfind.2 linker: Make linker.h more self-contained 2024-10-26 14:05:56 +00:00
kldfirstmod.2 linker: Make linker.h more self-contained 2024-10-26 14:05:56 +00:00
kldload.2 linker: Make linker.h more self-contained 2024-10-26 14:05:56 +00:00
kldnext.2 linker: Make linker.h more self-contained 2024-10-26 14:05:56 +00:00
kldstat.2 linker: Make linker.h more self-contained 2024-10-26 14:05:56 +00:00
kldsym.2 linker: Make linker.h more self-contained 2024-10-26 14:05:56 +00:00
kldunload.2 linker: Make linker.h more self-contained 2024-10-26 14:05:56 +00:00
kqueue.2 kqueue.2: Editorial pass 2024-12-30 14:09:48 -05:00
ktrace.2
libc_stubs.c lib{c,sys}: move auxargs more firmly into libsys 2024-02-19 22:44:08 +00:00
libsys.h libsys: add a libsys.h 2024-04-16 17:48:07 +01:00
libsys_sigwait.c libsys: don't expose sigwait wrapper 2024-03-13 17:04:07 +00:00
link.2
lio_listio.2 lio_listio(2): add LIO_FOFFSET flag to ignore aiocb aio_offset 2024-02-11 03:53:50 +02:00
listen.2
lockf.3 libsys: move some missed manpages 2024-02-08 19:50:32 +00:00
lseek.2
madvise.2
Makefile lib{c,sys}: stop exposing errno symbol 2024-09-27 20:27:46 +01:00
Makefile.depend Update Makefile.depend files 2024-10-14 10:26:17 -07:00
Makefile.sys libsys: Don't create or expose __realpathat 2025-02-19 20:05:47 +00:00
membarrier.2 membarrier: man page improvements 2024-10-19 16:18:18 -04:00
mincore.2
minherit.2
mkdir.2
mkfifo.2
mknod.2
mlock.2
mlockall.2
mmap.2
modfind.2
modnext.2
modstat.2
mount.2
mprotect.2
mq_close.2
mq_getattr.2
mq_notify.2
mq_open.2 mqueuefs: Relax restriction that path must begin with a slash 2024-05-23 13:40:46 -06:00
mq_receive.2
mq_send.2
mq_setattr.2
mq_unlink.2 man filesystems: fix xrefs after move to section 4 2024-05-16 10:25:29 -06:00
msgctl.2
msgget.2
msgrcv.2
msgsnd.2
msync.2
munmap.2 munmap.2: Add STANDARDS and note about portability 2025-01-16 12:50:47 -05:00
nanosleep.2 Implement CLOCK_TAI 2025-06-12 12:25:31 -06:00
nfssvc.2
ntp_adjtime.2
open.2 open.2: Document the O_NAMEDATTR flag 2025-06-04 15:50:16 -07:00
pathconf.2 pathconf.2: Document the _PC_HAS_NAMEDATTR name 2025-05-04 15:23:42 -07:00
pdfork.2
pipe.2
poll.2 Tweak ppoll() to include 1003.1-2024 visibility, take two 2024-12-14 22:40:16 -06:00
posix_fadvise.2
posix_fallocate.2
posix_openpt.2
procctl.2 procctl.2: Fix names of PROC_LOGSIGEXIT_CTL constants 2025-04-21 16:01:53 -06:00
profil.2
pselect.2
ptrace.2 manuals: Fix errors in .2 pages 2024-09-20 11:37:02 -03:00
ptrace.c
quotactl.2
rctl_add_rule.2
read.2 read(2): Add write cross reference 2024-03-01 20:36:39 -07:00
readlink.2 manpage: cross link fhreadlink(2) <-> readlink(2) 2024-11-25 09:02:34 +00:00
reboot.2
recv.2 recv.2: Improve style in RETURN VALUES 2025-02-24 12:33:38 -05:00
recvmmsg.c include: ssp: fortify <sys/socket.h> 2024-07-13 00:16:26 -05:00
rename.2 rename(2): Extend EINVAL's description 2024-08-28 01:09:33 +03:00
revoke.2
rfork.2
rfork_thread.3 libc: move rfork_thread(3) to libsys 2024-02-05 20:34:56 +00:00
rmdir.2
rtprio.2
sched_get_priority_max.2
sched_getcpu.3 sched_getcpu: Add man page 2024-11-13 19:32:04 -05:00
sched_getcpu_gen.c libc: libc/gen/sched_getcpu_gen.c -> libsys/ 2024-02-05 20:34:55 +00:00
sched_setparam.2
sched_setscheduler.2
sched_yield.2
sctp_generic_recvmsg.2
sctp_generic_sendmsg.2
sctp_peeloff.2
select.2
semctl.2
semget.2
semop.2
send.2
sendfile.2 man filesystems: fix xrefs after move to section 4 2024-05-16 10:25:29 -06:00
sendmmsg.c libsys: move __libsys_interposer consumers 2024-02-05 20:34:55 +00:00
setcred.2 Fix incorrect version introduced in manual pages 2025-05-04 22:44:43 -06:00
setfib.2 setfib.2: Note that the number of FIBs can be adjusted after boot 2025-01-21 15:39:50 +00:00
setgroups.2
setpgid.2
setregid.2
setresuid.2
setreuid.2
setsid.2
setuid.2
shm_open.2
shmat.2
shmctl.2
shmget.2
shutdown.2
sigaction.2
sigaltstack.2
sigfastblock.2 Canonicalize the name of the FreeBSD Foundation 2024-10-24 05:03:07 +08:00
sigpending.2
sigprocmask.2
sigqueue.2 sigqueue(2): Document __SIGQUEUE_TID 2024-04-23 19:51:10 +03:00
sigreturn.2
sigstack.2
sigsuspend.2
sigwait.2
sigwaitinfo.2
sleep.3 libsys: move some missed manpages 2024-02-08 19:50:32 +00:00
socket.2 manuals: Fix "unusual .Xr" warnings with a script 2024-10-15 17:18:14 -03:00
socketpair.2
stat.2
statfs.2 statfs.2: Update man page for the MNT_NAMEDATTR flag 2025-04-10 18:00:49 -07:00
swapon.2 manuals: Misc macro typos 2024-09-21 05:25:15 -06:00
Symbol.map libsys: Don't create or expose __realpathat 2025-02-19 20:05:47 +00:00
Symbol.sys.map libsys: export exterrctl symbol 2025-05-31 22:52:41 +03:00
Symbol.thr.map libthr: move _umtx_op_err() to libsys 2024-02-05 20:34:56 +00:00
symlink.2 symlink.2: document EOPNOTSUPP 2025-04-15 00:03:19 +02:00
sync.2
sysarch.2
syscall.2
syscalls.map Regen 2025-05-31 22:52:42 +03:00
thr_exit.2 Canonicalize the name of the FreeBSD Foundation 2024-10-24 05:03:07 +08:00
thr_kill.2 Canonicalize the name of the FreeBSD Foundation 2024-10-24 05:03:07 +08:00
thr_new.2 thr_new.2: document THR_C_RUNTIME 2025-05-31 17:55:24 +03:00
thr_self.2 Canonicalize the name of the FreeBSD Foundation 2024-10-24 05:03:07 +08:00
thr_set_name.2 Canonicalize the name of the FreeBSD Foundation 2024-10-24 05:03:07 +08:00
thr_suspend.2 Canonicalize the name of the FreeBSD Foundation 2024-10-24 05:03:07 +08:00
thr_wake.2 Canonicalize the name of the FreeBSD Foundation 2024-10-24 05:03:07 +08:00
timer_create.2 Implement CLOCK_TAI 2025-06-12 12:25:31 -06:00
timer_delete.2
timer_settime.2
timerfd.2 timerfd.2: Add documentation for CLOCK_UPTIME and CLOCK_BOOTTIME 2024-07-02 10:40:04 -06:00
truncate.2
umask.2
undelete.2
unlink.2
usleep.3 libsys: move some missed manpages 2024-02-08 19:50:32 +00:00
utimensat.2
utimes.2
utrace.2
uuidgen.2
vfork.2
wait.2 capsicum: allow subset of wait4(2) functionality 2024-08-27 17:22:12 +02:00
write.2 write.2: sweep error code referencing disklabel(8) 2025-05-27 13:33:50 -08:00