[ Next Article | Previous Article | Book Contents | Library Home | Legal | Search ]
Kernel Extensions and Device Support Programming Concepts

Timer and Time-of-Day Kernel Services

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.

Time-Of-Day Kernel 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.

Fine Granularity Timer Kernel Services

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 .

Timer Kernel Services for Compatibility

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.

Watchdog Timer Kernel Services

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.

Related Information

Using Fine Granularity Timer Services and Structures .


[ Next Article | Previous Article | Book Contents | Library Home | Legal | Search ]