[Previous] [Contents] [Next]

TimerInfo(), TimerInfo_r()

Get information about a timer

Synopsis:

#include <sys/neutrino.h>

int TimerInfo( pid_t pid,
               timer_t id,
               int flags,
               struct _timer_info* info );

int TimerInfo_r( pid_t pid,
                 timer_t id,
                 int flags,
                 struct _timer_info* info );

Library:

libc

Description:

The TimerInfo() and TimerInfo_r() functions are identical except in the way they indicate errors. See the Returns section for details.

These kernel calls get information about a previously created timer specified by id and stores it in the buffer pointed to by info.

struct _timer_info

The structure pointed to by info contains at least these members:

uint32_t flags
One or more of these bit flags:
_NTO_TI_ACTIVE
The timer is active.
_NTO_TI_ABSOLUTE
The timer is waiting for an absolute time to occur; otherwise, the timer is relative.
_NTO_TI_EXPIRED
The timer has expired.
int32_t tid
The thread to which the timer is directed (0 if it's directed to the process).
int32_t notify
The notify type.
clockid_t clockid
The type of clock used.
uint32_t overruns
The number of overruns.
struct sigevent event
The event dispatched when the timer expires.
struct itimerspec itime
Time when the timer was started.
struct itimerspec otime
Time remaining before the timer expires.

For more information, see the description of TimerCreate().

Blocking states

These calls don't block.

Returns:

The only difference between these functions is the way they indicate errors:

TimerInfo()
Information about a previously created timer. If an error occurs, -1 is returned and errno is set.
TimerInfo_r()
Information about a previously created timer. This function does NOT set errno. If an error occurs, the negative of a value from the Errors section is returned.

Errors:

EINVAL
The timer specified by id doesn't exist.
ESRCH
The process specified by pid doesn't exist.

Classification:

QNX 6

Safety:
Cancellation point No
Interrupt handler No
Signal handler Yes
Thread Yes

See also:

sigevent, TimerCreate()


[Previous] [Contents] [Next]