public pspRtcCheckValidErrors sceRtcCheckValid(RtcPspTimeStruct* Date)
{
if (Date->year < 1 || Date->year > 9999)
{
return pspRtcCheckValidErrors.PSP_TIME_INVALID_YEAR;
}
else if (Date->month < 1 || Date->month > 12)
{
return pspRtcCheckValidErrors.PSP_TIME_INVALID_MONTH;
}
else if (Date->day < 1 || Date->day > 31) // TODO: Needs to check actual days in month, including leaps
{
return pspRtcCheckValidErrors.PSP_TIME_INVALID_DAY;
}
else if (Date->hour > 23)
{
return pspRtcCheckValidErrors.PSP_TIME_INVALID_HOUR;
}
else if (Date->minute > 59)
{
return pspRtcCheckValidErrors.PSP_TIME_INVALID_MINUTES;
}
else if (Date->second > 59)
{
return pspRtcCheckValidErrors.PSP_TIME_INVALID_SECONDS;
}
else if (Date->microsecond >= 1000000)
{
return pspRtcCheckValidErrors.PSP_TIME_INVALID_MICROSECONDS;
}
return pspRtcCheckValidErrors.OK;
}