PCV services: Difference between revisions
→ITimeZoneService: Imported from SwIPC. |
|||
Line 426: | Line 426: | ||
! Cmd || Name || Notes | ! Cmd || Name || Notes | ||
|- | |- | ||
| 0 || GetDeviceLocationName || | | 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 | | 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. |