KTimer: Difference between revisions

Neimod (talk | contribs)
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.