Changes

768 bytes added ,  02:42, 7 February 2017
11.3.0-36
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
| Unknown
+
| Count of KThreads that sync with this object - number of nodes in the linked list below
 
|-
 
|-
 
| 0xC
 
| 0xC
| u32
+
| KLinkedListNode*
| Pointer to timer data node
+
| Pointer to first KLinkedListNode in node list of KThreads that sync with this object
 
|-
 
|-
 
| 0x10
 
| 0x10
| u32
+
| KLinkedListNode*
| Pointer identical to the one above
+
| Pointer to last KLinkedListNode in node list of KThreads that sync with this object
 
|-
 
|-
 
| 0x14
 
| 0x14
| u32
+
| [[KTimeableInterruptEvent]]
| Pointer to smaller vtable
+
| 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
 
|-
 
|-
| 0x18
+
| 0x24
| u32
+
| u8
| Pointer to unknown object type
+
| Timer is signaled
|-
  −
| 0x1C
  −
| u32
  −
| Unknown
   
|-
 
|-
| 0x20
+
| 0x25
| u32
+
| u8
| Unknown
+
| Timer reset type (one shot, sticky, pulse)
 
|-
 
|-
| 0x24
+
| 0x26
| u32
+
| u16
| Unknown
+
| 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
| u32
+
| s64
| Unknown
+
| Interval in nanoseconds
|-
  −
| 0x2C
  −
| u32
  −
| Unknown
   
|-
 
|-
 
| 0x30
 
| 0x30
| u32
+
| s64
| Unknown
+
| Current value in nanoseconds: current system uptime + user-specified time offset, updated at each interval
|-
  −
| 0x34
  −
| u32
  −
| Unknown
   
|-
 
|-
 
| 0x38
 
| 0x38
Line 70: Line 60:  
| Owner
 
| Owner
 
|-
 
|-
 +
|}
 +
 +
Negative intervals and time offsets are considered null.
516

edits