All of this information (and more) is in the timeout(9) manpage.
Can I kill this comment?
Index: timeout.h
===================================================================
RCS file: /cvs/src/sys/sys/timeout.h,v
retrieving revision 1.40
diff -u -p -r1.40 timeout.h
--- timeout.h 15 Oct 2020 20:03:44 -0000 1.40
+++ timeout.h 25 May 2021 18:27:37 -0000
@@ -27,30 +27,6 @@
#ifndef _SYS_TIMEOUT_H_
#define _SYS_TIMEOUT_H_
-/*
- * Interface for handling time driven events in the kernel.
- *
- * The basic component of this API is the struct timeout. The user should not
- * touch the internals of this structure, but it's the users responsibility
- * to allocate and deallocate timeouts.
- *
- * The functions used to manipulate timeouts are:
- * - timeout_set(timeout, function, argument)
- * Initializes a timeout struct to call the function with the argument.
- * A timeout only needs to be initialized once.
- * - timeout_add(timeout, ticks)
- * Schedule this timeout to run in "ticks" ticks (there are hz ticks in
- * one second). You may not touch the timeout with timeout_set once the
- * timeout is scheduled. A second call to timeout_add with an already
- * scheduled timeout will cause the old timeout to be canceled and the
- * new will be scheduled.
- * - timeout_del(timeout)
- * Remove the timeout from the timeout queue. It's legal to remove
- * a timeout that has already happened.
- *
- * These functions may be called in interrupt context (anything below splhigh).
- */
-
#include <sys/time.h>
struct circq {