This is "nn::notification::AlarmSetting". Total size is 0x40 bytes.
+
This is "nn::notification::AlarmSetting". Total size is 0x40 bytes. When initializing this to the defaults, the entire struct is cleared then the last 0xE-bytes are set to 0xFF.
{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 550:
Line 550:
|-
|-
| 0x28
| 0x28
−
| 0x08
+
| 0x18
| Alarm schedule
| Alarm schedule
+
|}
+
+
Schedule:
+
+
{| class="wikitable" border="1"
|-
|-
−
| 0x30
+
! Offset
−
| 0x08
+
! Size
−
| Alarm schedule
+
! Description
+
|-
+
| 0x00 || 0x0A || Not set by sdksno, besides clearing it during initialization.
|-
|-
−
| 0x38
+
| 0x0A || 0xE(7*2) || Array of 7 entries where each entry is 2-bytes. Index is <code>nn::time::DayOfWeek</code>.
−
| 0x08
−
| Alarm schedule
|}
|}
+
+
Array entries:
+
+
Each byte is set using an input s32. An entry with value 0xFFFF (the default) indicates that it's disabled.
+
+
sdknso checks whether an entry is enabled with: <code>return ({last 5-bits of the entry} < 3) && ((entry & 0xfc) < 60);</code>. The first check is equivalent to comparing the second entry byte with value 24.