Difference between revisions of "KTimer"
Jump to navigation
Jump to search
(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. |
Latest revision as of 01:42, 7 February 2017
class KTimer extends KSynchronizationObject and KTimeableInterruptEvent;
Size : 0x3C bytes
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.