Line 426: |
Line 426: |
| ! Cmd || Name || Notes | | ! Cmd || Name || Notes |
| |- | | |- |
− | | 0 || GetDeviceLocationName || Returns an output [[#LocationName]]. | + | | 0 || GetDeviceLocationName || No input, returns an output [[#LocationName]]. |
| |- | | |- |
− | | 1 || SetDeviceLocationName || Takes an input [[#LocationName]]. | + | | 1 || SetDeviceLocationName || Takes an input [[#LocationName]], no output. |
| |- | | |- |
− | | 2 || GetTotalLocationNameCount || No input, returns an output u32. | + | | 2 || GetTotalLocationNameCount || No input, returns an output s32. |
| |- | | |- |
− | | 3 || LoadLocationNameList || | + | | 3 || LoadLocationNameList || Takes an input s32 and a type-0x6 output buffer for [[#LocationName]], returns an output s32. |
| |- | | |- |
− | | 4 || LoadTimeZoneRule || | + | | 4 || LoadTimeZoneRule || Takes an input [[#LocationName]] and a type-0x16 output buffer for [[#TimeZoneRule]], no output. |
| |- | | |- |
− | | 5 || GetTimeZoneRuleVersion || | + | | 5 || GetTimeZoneRuleVersion || No input, returns an output [[#TimeZoneRuleVersion]]. |
| |- | | |- |
− | | 100 || ToCalendarTime || | + | | 100 || ToCalendarTime || Takes an input [[#PosixTime]] and a type-0x15 input buffer for [[#TimeZoneRule]], returns an output [[#CalendarTime]] and [[#CalendarAdditionalInfo]]. |
| |- | | |- |
− | | 101 || ToCalendarTimeWithMyRule || | + | | 101 || ToCalendarTimeWithMyRule || Takes an input [[#PosixTime]], returns an output [[#CalendarTime]] and [[#CalendarAdditionalInfo]]. |
| |- | | |- |
− | | 200 || ToPosixTime || | + | | 200 || ToPosixTime || Takes an input [[#CalendarTime]], a type-0x15 input buffer for [[#TimeZoneRule]], an type-0xA output buffer for [[#PosixTime]] array, and returns an output s32. |
| |- | | |- |
− | | 201 || ToPosixTimeWithMyRule || | + | | 201 || ToPosixTimeWithMyRule || Takes an input [[#CalendarTime]], an type-0xA output buffer for [[#PosixTime]] array, and returns an output s32. |
| |- | | |- |
| |} | | |} |
Line 463: |
Line 463: |
| | | |
| This is an 0x24-byte struct. | | This is an 0x24-byte struct. |
| + | |
| + | === TimeZoneRule === |
| + | This is an 0x4000-byte struct. Official sw uses fixed-size 0x4000 for the buffer size with the above commands. |
| + | |
| + | === TimeZoneRuleVersion === |
| + | This is an u128. |
| + | |
| + | === CalendarTime === |
| + | This is an u64. |
| + | |
| + | === CalendarAdditionalInfo === |
| + | This is an 0x18-byte struct. |