_tttt_iiii_mmmm_eeee_rrrr______ssss_eeee_tttt_tttt_iiii_mmmm_eeee sets the expiration time for the posix timer named by
_t_i_m_e_r_i_d. The _iiii_tttt______vvvv_aaaa_llll_uuuu_eeee field of _v_a_l_u_e is used to specify the desired
timer expiration time. If the timer was previously set and has not
expired, then the timer is reset to the specified _iiii_tttt______vvvv_aaaa_llll_uuuu_eeee. In the event
_iiii_tttt______vvvv_aaaa_llll_uuuu_eeee is set to zero, the timer is disarmed.
By default, posix timers interpret specified expiration times to be
relative to the time of the _tttt_iiii_mmmm_eeee_rrrr______ssss_eeee_tttt_tttt_iiii_mmmm_eeee call. Therefore, the timer
will expire in _iiii_tttt______vvvv_aaaa_llll_uuuu_eeee nanoseconds from when the call is made. This
behavior, however, may be altered using the _f_l_a_g_s parameter. If the
_TTTT_IIII_MMMM_EEEE_RRRR______AAAA_BBBB_SSSS_TTTT_IIII_MMMM_EEEE _f_l_a_g is set, then the timer will interpret the specified
expiration time to be absolute in respect to the clock associated with
_t_i_m_e_r_i_d. Hence, the timer will expire when the clock reaches the
specified _iiii_tttt______vvvv_aaaa_llll_uuuu_eeee. If _TTTT_IIII_MMMM_EEEE_RRRR______AAAA_BBBB_SSSS_TTTT_IIII_MMMM_EEEE is selected and the specified
expiration time has already elapsed, the call will succeed and expiration
notification will be delivered.
The periodic interval time for which subsequent timer expirations occur
may be set using the _iiii_tttt______iiii_nnnn_tttt_eeee_rrrr_vvvv_aaaa_llll field of _v_a_l_u_e. If _iiii_tttt______iiii_nnnn_tttt_eeee_rrrr_vvvv_aaaa_llll is set
to zero, then the timer will only expire once, as specified by _iiii_tttt______vvvv_aaaa_llll_uuuu_eeee.
If _o_v_a_l_u_e is not set to _NNNN_UUUU_LLLL_LLLL, then the previous time remaining before
_t_i_m_e_r_i_d expiration is stored at memory address _o_v_a_l_u_e.
_tttt_iiii_mmmm_eeee_rrrr______ssss_eeee_tttt_tttt_iiii_mmmm_eeee will fail if one or more of the following are true:
[EINVAL] The _t_i_m_e_r_i_d does not name a valid posix timer.
[EINVAL] _v_a_l_u_e contained a nanosecond value greater than 1000 million
or less than zero.
[EFAULT] The address specified by either _v_a_l_u_e or _o_v_a_l_u_e is outside
the range of the address space of the calling process.