src/ssx/ssx/ssx_timer_core.c
/// Schedule a timer for an interval relative to the current time.
///
/// \param timer The SsxTimer to schedule.
///
/// \param interval The timer will be scheduled to time out at the current
/// time (ssx_timebase_get()) plus this \a interval.
///
/// \param period If non-0, then when the timer times out it will rescheduled
/// to time out again at the absolute time equal to the last timeout time plus
/// the \a period.  By convention a \a period of 0 indicates a one-shot
/// timer that is not rescheduled.
///
/// Once created with ssx_timer_create() a timer can be \e scheduled, which
/// queues the timer in the kernel time queue.  It is not an error to call \c
/// ssx_timer_schedule() on a timer that is already scheduled in the time
/// queue - the timer is simply rescheduled with the new characteristics.
///
/// Return values other than SSX_OK (0) are errors; see \ref ssx_errors
///
/// \retval 0 Successful completion
///
/// \retval -SSX_INVALID_TIMER_AT_SCHEDULE A a null (0) pointer was provided as
/// the \a timer argument.
///
/// \retval -SSX_ILLEGAL_CONTEXT_TIMER The call was made from a critical
/// interrupt context.
Schedule a timer for an interval relative to the current time.
\param timer The SsxTimer to schedule.

\param interval The timer will be scheduled to time out at the current
time (ssx_timebase_get()) plus this \a interval.

\param period If non-0, then when the timer times out it will rescheduled
to time out again at the absolute time equal to the last timeout time plus
the \a period.  By convention a \a period of 0 indicates a one-shot
timer that is not rescheduled.

Once created with ssx_timer_create() a timer can be \e scheduled, which
queues the timer in the kernel time queue.  It is not an error to call \c
ssx_timer_schedule() on a timer that is already scheduled in the time
queue - the timer is simply rescheduled with the new characteristics.

Return values other than SSX_OK (0) are errors; see \ref ssx_errors

\retval 0 Successful completion

\retval -SSX_INVALID_TIMER_AT_SCHEDULE A a null (0) pointer was provided as
the \a timer argument.

\retval -SSX_ILLEGAL_CONTEXT_TIMER The call was made from a critical
interrupt context.
Schedule a timer for an interval relative to the current time . \ param timer The SsxTimer to schedule . \ param interval The timer will be scheduled to time out at the current time ( ssx_timebase_get () ) plus this \ a interval . \ param period If non - 0 then when the timer times out it will rescheduled to time out again at the absolute time equal to the last timeout time plus the \ a period . By convention a \ a period of 0 indicates a one - shot timer that is not rescheduled . Once created with ssx_timer_create () a timer can be \ e scheduled which queues the timer in the kernel time queue . It is not an error to call \ c ssx_timer_schedule () on a timer that is already scheduled in the time queue - the timer is simply rescheduled with the new characteristics . Return values other than SSX_OK ( 0 ) are errors ; see \ ref ssx_errors \ retval 0 Successful completion \ retval - SSX_INVALID_TIMER_AT_SCHEDULE A a null ( 0 ) pointer was provided as the \ a timer argument . \ retval - SSX_ILLEGAL_CONTEXT_TIMER The call was made from a critical interrupt context .
int
ssx_timer_schedule(SsxTimer*    timer,
                   SsxInterval interval,
                   SsxInterval period)
{
    return ssx_timer_schedule_absolute(timer,
                                       ssx_timebase_get() + interval,
                                       period);
}
int ssx_timer_schedule ( SsxTimer * timer , SsxInterval interval , SsxInterval period ) { return ssx_timer_schedule_absolute ( timer , ssx_timebase_get ( ) + interval , period ) ; }
Schedule a timer for an interval relative to the current time.
Schedule a timer for an interval relative to the current time .