# RTC_SetDateTimeAsync

## Syntax

  `#include <nitro/rtc.h>`

      RTCResult RTC_SetDateTimeAsync(
                  const RTCDate*    date,
                  const RTCTime*    time,
                  RTCCallback       callback,
                  void*             arg );

## Arguments

date | Pointer to the buffer storing date data.
time | Pointer to the buffer storing time data.
callback | Pointer to the callback function. This callback is called from within the interrupt handler.
arg | Argument to pass to the callback function.

## Return Values

If the request succeeds, it returns 0. If the request fails, it returns a numeric value other than 0.

## Description

This function asynchronously writes date and time data to the real-time clock. It sends date and time data to ARM7 and returns the process result without waiting for a response from the processor. To get the result from the processor, you must use the `result` argument. If this function fails, no operation is performed and no user callback function is called.

## Note

Do not define parameter values of nonexistent years, months, or days. However, you may specify a day of the week that does not match the actual calendar. This function requires a PXI interrupt for synchronization. Values are written to the variables specified by the date and time arguments asynchronously with respect to the function.
Because applications cannot change the date, use this API only for debugging during development.
In FINALROM builds, this function always fails and `RTC_RESULT_INVALID_COMMAND` is returned.

## See Also

`RTC_SetDateTime
RTC_GetDateTime
RTC_GetDateTimeAsync
RTCResult
RTCDate
RTCTime
RTCCallback`

## Revision History

2009/07/29 Explained that the time setting command always fails in FINALROM builds.
2005/06/27 Added additional text indicating that callbacks are called from interrupt handlers.
2004/07/01 Updated descriptions to standardize the time notation.
2004/05/18 Initial version.

CONFIDENTIAL