The Timer and Time-of-Day kernel services provide kernel extensions with the ability to be notified when a period of time has passed. The tstart service supports a very fine granularity of time. The timeout service is built on the tstart service and is provided for compatibility with earlier versions of the operating system. The w_start service provides a timer with less granularity, but much cheaper path-length overhead when starting a timer.
The Timer and Time-of-Day kernel services are divided into the Time-of-Day services, Fine Granularity Timer services, Timer services for compatibility, and Watchdog Timer services.
The Time-Of-Day kernel services are:
|curtime||Reads the current time into a time structure.|
|kgettickd||Retrieves the current status of the systemwide time-of-day timer-adjustment values.|
|ksettimer||Sets the systemwide time-of-day timer.|
|ksettickd||Sets the current status of the systemwide timer-adjustment values.|
The Fine Granularity Timer kernel services are:
|delay||Suspends the calling process for the specified number of timer ticks.|
|talloc||Allocates a timer request block before starting a timer request.|
|tfree||Deallocates a timer request block.|
|tstart||Submits a timer request.|
|tstop||Cancels a pending timer request.|
You can find additional information about using the Fine Granularity Timer services in Using Fine Granularity Timer Services and Structures.
The following Timer kernel services are provided for compatibility:
|timeout||Schedules a function to be called after a specified interval.|
|timeoutcf||Allocates or deallocates callout table entries for use with the timeout kernel service.|
|untimeout||Cancels a pending timer request.|
The Watchdog timer kernel services are:
|w_clear||Removes a watchdog timer from the list of watchdog timers known to the kernel.|
|w_init||Registers a watchdog timer with the kernel.|
|w_start||Starts a watchdog timer.|
|w_stop||Stops a watchdog timer.|
Using Fine Granularity Timer Services and Structures.