=> R0 = territory number, or -1 for current
R1 = pointer to 5 byte UTC time
R2 = pointer to output buffer
R3 = size of buffer and flags
b0-15 space in the buffer
b16-27 reserved, must be 0
b28 set to use DST offset of R5 timezone
clear to use NoDST offset of R5 timezone
b29 set to interpret R5 as timezone within territory
clear to interpret R5 as centiseconds offset from UTC
b30 set to use R5
clear to use Territory_ReadCurrentTimeZone as the offset from UTC
b31 set to enable use of flags
clear to behave per RISC OS 3.10
R4 = pointer to null terminated format string
R5 = offset from UTC if flag bit 30 and 31 set
or timezone within territory if flag bit 29 and 30 and 31 set
<= R0 = pointer to buffer (R2 on entry)
R1 = pointer to terminating 0
R2 = number of bytes free in buffer
R3 = b31 clear if flags in R3 used, else pointer to format string (R4 on entry)
R4 = preserved
R5 = preserved
Result is a string in local time, language, and alphabet.
Flags in R3 are available from RISC OS 5.20. Note the behaviour with the all the flags clear is as per RISC OS 3.10, this uses Territory_ReadCurrentTimeZone internally to find the offset from UTC, which only makes sense if R0 is the current territory.
Using the %TZ specifier when R5 is an arbitrary offset will output no characters for that specifier.
See PRM 3, page 807.
|
|
|