.\" -*- coding: UTF-8 -*- .\" Copyright (c) 2007 by Michael Kerrisk .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" 2007-07-31, mtk, Created .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH timeradd 3 "5 февраля 2023 г." "Linux man\-pages 6.03" .SH ИМЯ timeradd, timersub, timercmp, timerclear, timerisset \- операции со структурой timeval .SH LIBRARY Standard C library (\fIlibc\fP, \fI\-lc\fP) .SH СИНТАКСИС .nf \fB#include \fP .PP \fBvoid timeradd(struct timeval *\fP\fIa\fP\fB, struct timeval *\fP\fIb\fP\fB,\fP \fB struct timeval *\fP\fIres\fP\fB);\fP \fBvoid timersub(struct timeval *\fP\fIa\fP\fB, struct timeval *\fP\fIb\fP\fB,\fP \fB struct timeval *\fP\fIres\fP\fB);\fP .PP \fBvoid timerclear(struct timeval *\fP\fItvp\fP\fB);\fP \fBint timerisset(struct timeval *\fP\fItvp\fP\fB);\fP .PP \fBint timercmp(struct timeval *\fP\fIa\fP\fB, struct timeval *\fP\fIb\fP\fB, \fP\fICMP\fP\fB);\fP .fi .PP .RS -4 Требования макроса тестирования свойств для glibc (см. \fBfeature_test_macros\fP(7)): .RE .PP Все функции, показанные выше: .nf Начиная с glibc 2.19: _DEFAULT_SOURCE В версии glibc 2.19 и более ранних: _BSD_SOURCE .fi .SH ОПИСАНИЕ Макросы предназначены для работы со структурой \fItimeval\fP, которая определена в \fI\fP следующим образом: .PP .in +4n .EX struct timeval { time_t tv_sec; /* секунды */ suseconds_t tv_usec; /* микросекунды */ }; .EE .in .PP Макрос \fBtimeradd\fP() складывает значения времени \fIa\fP и \fIb\fP, и помещает сумму в \fItimeval\fP, на которую указывает \fIres\fP. Результат нормализуется так, что значение \fIres\->tv_usec\fP лежит в диапазоне от 0 до 999999. .PP Макрос \fBtimersub\fP() вычитает значение времени \fIb\fP из \fIa\fP, и помещает результат в \fItimeval\fP, на которую указывает \fIres\fP. Результат нормализуется так, что значение \fIres\->tv_usec\fP лежит в диапазоне от 0 до 999999. .PP Макрос \fBtimerclear\fP() обнуляет структуру \fItimeval\fP, на которую указывает \fItvp\fP; полученное значение соответствует представлению эпохи: 1970\-01\-01 00:00:00 +0000 (UTC). .PP Макрос \fBtimerisset\fP() возвращает истину (не ноль), если любое из полей структуры \fItimeval\fP, на которую указывает \fItvp\fP, содержит ненулевое значение. .PP .\" HP-UX, Tru64, Irix have a definition like: .\"#define timercmp(tvp, uvp, cmp) \ .\" ((tvp)->tv_sec cmp (uvp)->tv_sec || \ .\" (tvp)->tv_sec == (uvp)->tv_sec && (tvp)->tv_usec cmp (uvp)->tv_usec) Макрос \fBtimercmp\fP() сравнивает значения таймера \fIa\fP и \fIb\fP с помощью оператора сравнения \fICMP\fP, и возвращает истину (не ноль) или ложь (0), в зависимости от результата сравнения. Некоторые системы (но не Linux/glibc) содержат некорректную реализацию \fBtimercmp\fP(), в которой \fICMP\fP для \fI>=\fP, \fI<=\fP и \fI==\fP не работает; переносимые приложения могут использовать вместо неё .PP .in +4n .EX !timercmp(..., <) !timercmp(..., >) !timercmp(..., !=) .EE .in .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" Макросы \fBtimerisset\fP() и \fBtimercmp\fP() возвращают истину (не ноль) или ложь (0). .SH ОШИБКИ Ошибок не предполагается. .SH СТАНДАРТЫ Не являются частью POSIX.1. Присутствует в вариациях BSD. .SH "СМ. ТАКЖЕ" \fBgettimeofday\fP(2), \fBtime\fP(7) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства был сделан Azamat Hackimov , Dmitry Bolkhovskikh , Yuri Kozlov и Иван Павлов . .PP Этот перевод является бесплатной документацией; прочитайте .UR https://www.gnu.org/licenses/gpl-3.0.html Стандартную общественную лицензию GNU версии 3 .UE или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ. .PP Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на .MT man-pages-ru-talks@lists.sourceforge.net .ME .