TimerInfo(), TimerInfo_r()

Получить информацию о таймере

Прототип:

#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 );

Аргументы:

pid
Идентификатор процесса, для которого необходимо получить информацию о таймере.
id
Идентификатор таймера, возвращенный функцией TimerCreate().
flags
Поддерживаются следующие флаги:
_NTO_TIMER_SEARCH
если указан этот флаг, а запрашиваемый идентификатор таймера не существует, возвращается информация о следующем next идентификаторе таймера. Такой механизм позволяет найти все таймеры в процессе.
_NTO_RESET_OVERRUNS
сброс счетчика переполнения до нуля в структуре struct _timer_info.
info
Указатель на структуру struct _timer_info, в которой будет сохранена информация об указанном таймере.

Библиотека:

libc

Описание:

Эти вызовы ядра получают информацию о ранее созданном таймере с указанным идентификатором и сохраняют информацию в буфере info.

Функции TimerInfo() и TimerInfo_r() идентичны, но по разному указывают на ошибки.


Note: Вместо прямого использования системных вызовов рекомендуется использовать функции timer_getexpstatus(), timer_getoverrun(), или timer_gettime().

Получить более подробную информацию можно в описании на функцию TimerCreate().

Состояния блокировки:

Это неблокирующие вызовы.

Возвращаемое значение:

TimerInfo()
Идентификатор таймера, для которого получена информация. Если возникла ошибка функция возвращает -1, код ошибки записывается в errno.
TimerInfo_r()
Идентификатор таймера, для которого получена информация. Функция НЕ устанавливает errno. При возникновении ошибки функция возвращает один из представленных ниже кодов.

Коды ошибок:

EINVAL
Не существует таймера с идентификатором id.
ESRCH
Не существует процесса с идентификатором pid.

Классификация:

ЗОСРВ «Нейтрино»

Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Да
В потоке
Да

Тематические ссылки:

struct sigevent, timer_t, struct _timer_info, timer_getexpstatus(), timer_getoverrun(), timer_gettime(), TimerCreate()




Предыдущий раздел: Описание API системной библиотеки