KTimer: Difference between revisions
Filled in more of KTimer |
11.3.0-36 |
||
(16 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 | Size : 0x3C bytes | ||
Line 19: | Line 20: | ||
|- | |- | ||
| 0x8 | | 0x8 | ||
| u32 | | u32 | ||
| | | Count of KThreads that sync with this object - number of nodes in the linked list below | ||
|- | |- | ||
| 0xC | | 0xC | ||
| | | KLinkedListNode* | ||
| Pointer to | | Pointer to first KLinkedListNode in node list of KThreads that sync with this object | ||
|- | |- | ||
| 0x10 | | 0x10 | ||
| | | KLinkedListNode* | ||
| Pointer | | Pointer to last KLinkedListNode in node list of KThreads that sync with this object | ||
|- | |- | ||
| 0x14 | | 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 | | 0x28 | ||
| s64 | | s64 | ||
| Interval | | Interval in nanoseconds | ||
|- | |- | ||
| 0x30 | | 0x30 | ||
| s64 | | s64 | ||
| | | Current value in nanoseconds: current system uptime + user-specified time offset, updated at each interval | ||
|- | |- | ||
| 0x38 | | 0x38 | ||
Line 62: | Line 60: | ||
| Owner | | Owner | ||
|- | |- | ||
|} | |||
Negative intervals and time offsets are considered null. |