KTimer: Difference between revisions
Created page with "Category:Kernel objects class KTimer extends KSynchronizationObject;" |
11.3.0-36 |
||
(19 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
[[Category:Kernel objects]] | [[Category:Kernel synchronization objects]] | ||
class [[KTimer]] extends [[KSynchronizationObject]]; | [[Category:Kernel interrupt events]] | ||
class [[KTimer]] extends [[KSynchronizationObject]] and [[KTimeableInterruptEvent]]; | |||
Size : 0x3C bytes | |||
{| class="wikitable" border="1" | |||
|- | |||
! Offset | |||
! Type | |||
! Description | |||
|- | |||
| 0x0 | |||
| u32 | |||
| Pointer to vtable | |||
|- | |||
| 0x4 | |||
| u32 | |||
| Reference count | |||
|- | |||
| 0x8 | |||
| u32 | |||
| Count of KThreads that sync with this object - number of nodes in the linked list below | |||
|- | |||
| 0xC | |||
| KLinkedListNode* | |||
| Pointer to first KLinkedListNode in node list of KThreads that sync with this object | |||
|- | |||
| 0x10 | |||
| KLinkedListNode* | |||
| Pointer to last KLinkedListNode in node list of KThreads that sync with this object | |||
|- | |||
| 0x14 | |||
| [[KTimeableInterruptEvent]] | |||
| Interrupt event (*this) to be used with [[KTimerAndWDTManager]] holding its desired time point (relative to the CPU power-on) in CPU ticks (when handling its list of [[KTimableInterruptEvent]] instances). | |||
Gets incremented at each interval | |||
|- | |||
| 0x24 | |||
| u8 | |||
| Timer is signaled | |||
|- | |||
| 0x25 | |||
| u8 | |||
| Timer reset type (one shot, sticky, pulse) | |||
|- | |||
| 0x26 | |||
| u16 | |||
| Starting from [[11.3.0-36]]: set to 0 prior to removing the timer from the [[KTimerAndWDTManager]] queue, set to 1 just after that. | |||
|- | |||
| 0x28 | |||
| s64 | |||
| Interval in nanoseconds | |||
|- | |||
| 0x30 | |||
| s64 | |||
| Current value in nanoseconds: current system uptime + user-specified time offset, updated at each interval | |||
|- | |||
| 0x38 | |||
| KProcess* | |||
| Owner | |||
|- | |||
|} | |||
Negative intervals and time offsets are considered null. |