Difference between revisions of "KTimer"

From 3dbrew
Jump to navigation Jump to search
m
Line 32: Line 32:
 
| 0x14
 
| 0x14
 
| [[KTimeableInterruptEvent|KTimerInterruptEvent]]
 
| [[KTimeableInterruptEvent|KTimerInterruptEvent]]
| Interrupt event holding the suspend time
+
| Interrupt event to be used with [[KTimerAndWDTManager]] holding the desired time point (relative to the CPU power-on) in CPU ticks
 
|-
 
|-
 
| 0x24
 
| 0x24
Line 48: Line 48:
 
| 0x28
 
| 0x28
 
| s64  
 
| s64  
| Interval
+
| Interval in nanoseconds
 
|-
 
|-
 
| 0x30
 
| 0x30
 
| s64
 
| s64
| Current value in nanoseconds, equal to (system uptime) + (last value set by the user) + interval * (number of times the event has been signaled)
+
| Current value in nanoseconds: current system uptime + user-specified time offset, updated at each interval
 
|-
 
|-
 
| 0x38
 
| 0x38
Line 58: Line 58:
 
| Owner
 
| Owner
 
|-
 
|-
 +
|}
 +
 +
Negative intervals and time offsets are considered null.

Revision as of 01:37, 7 December 2016

class KTimer extends KSynchronizationObject;

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 KTimerInterruptEvent Interrupt event to be used with KTimerAndWDTManager holding the desired time point (relative to the CPU power-on) in CPU ticks
0x24 u8 Timer is signaled
0x25 u8 Timer reset type (one shot, sticky, pulse)
0x26 u16 Unknown, probably unused
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.