pokeheartgold/lib/include/nitro/rtc/ARM9/api.h
2023-07-12 00:55:43 +01:00

48 lines
929 B
C

#ifndef NITRO_RTC_API_H_
#define NITRO_RTC_API_H_
#include <nitro/types.h>
typedef enum RTCWeek {
RTC_WEEK_SUNDAY = 0,
RTC_WEEK_MONDAY,
RTC_WEEK_TUESDAY,
RTC_WEEK_WEDNESDAY,
RTC_WEEK_THURSDAY,
RTC_WEEK_FRIDAY,
RTC_WEEK_SATURDAY,
RTC_WEEK_MAX
} RTCWeek;
typedef enum RTCResult
{
RTC_RESULT_SUCCESS = 0,
RTC_RESULT_BUSY,
RTC_RESULT_ILLEGAL_PARAMETER,
RTC_RESULT_SEND_ERROR,
RTC_RESULT_INVALID_COMMAND,
RTC_RESULT_ILLEGAL_STATUS,
RTC_RESULT_FATAL_ERROR,
RTC_RESULT_MAX
} RTCResult;
typedef struct RTCDate {
u32 year;
u32 month;
u32 day;
RTCWeek week;
} RTCDate;
typedef struct RTCTime {
u32 hour;
u32 minute;
u32 second;
} RTCTime;
typedef void (*RTCCallback)(RTCResult result, void *arg);
void RTC_Init(void);
RTCResult RTC_GetDateTimeAsync(RTCDate *date, RTCTime *time, RTCCallback callback, void *arg);
#endif //NITRO_RTC_API_H_