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 );
Arguments:
- pid
- The process ID that you're requesting the timer information for.
- id
- The ID of the timer, as returned by TimerCreate() .
- flags
- Supported flags are:
- _NTO_TIMER_SEARCH — if this flag is specified and the timer ID doesn't exist, return information on the next timer ID. This provides a mechanism to discover all of the timers in the process.
- _NTO_RESET_OVERRUNS — reset the overrun count to zero in the _timer_info structure.
- info
- A pointer to a _timer_info structure where the function can store the information about the specified timer. For more details, see struct _timer_info , below.
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
These kernel calls get information about a previously created timer specified by id, and stores the information in the buffer pointed to by info.
The TimerInfo() and TimerInfo_r() functions are identical except in the way they indicate errors. See the Returns section for details.
- Instead of using these kernel calls directly, consider calling timer_getexpstatus() , timer_getoverrun() , or timer_gettime() .
- In order to get timer information, your process must have the PROCMGR_AID_TIMER ability enabled. For more information, see procmgr_ability() .
struct _timer_info
The _timer_info 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()
- The ID of the timer that the information is for. If an error occurs, -1 is returned and errno is set.
- TimerInfo_r()
- The ID of the timer that the information is for. 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.
- EPERM
- The calling process doesn't have the required permission; see procmgr_ability() .
- ESRCH
- The process specified by pid doesn't exist.
Classification:
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | No |
Signal handler | Yes |
Thread | Yes |