Difference between revisions of "KTimer"
Jump to navigation
Jump to search
m |
|||
Line 32: | Line 32: | ||
| 0x14 | | 0x14 | ||
| [[KTimeableInterruptEvent|KTimerInterruptEvent]] | | [[KTimeableInterruptEvent|KTimerInterruptEvent]] | ||
− | | Interrupt event holding the | + | | 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 | + | | 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 00: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.