PulseAudio  9.0
timeval.h
Go to the documentation of this file.
00001 #ifndef footimevalhfoo
00002 #define footimevalhfoo
00003 
00004 /***
00005   This file is part of PulseAudio.
00006 
00007   Copyright 2004-2006 Lennart Poettering
00008   Copyright 2006 Pierre Ossman <ossman@cendio.se> for Cendio AB
00009 
00010   PulseAudio is free software; you can redistribute it and/or modify
00011   it under the terms of the GNU Lesser General Public License as
00012   published by the Free Software Foundation; either version 2.1 of the
00013   License, or (at your option) any later version.
00014 
00015   PulseAudio is distributed in the hope that it will be useful, but
00016   WITHOUT ANY WARRANTY; without even the implied warranty of
00017   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00018   Lesser General Public License for more details.
00019 
00020   You should have received a copy of the GNU Lesser General Public
00021   License along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
00022 ***/
00023 
00024 #include <pulse/cdecl.h>
00025 #include <pulse/gccmacro.h>
00026 #include <pulse/sample.h>
00027 #include <pulse/version.h>
00028 
00032 PA_C_DECL_BEGIN
00033 
00035 #define PA_MSEC_PER_SEC ((pa_usec_t) 1000ULL)
00036 
00038 #define PA_USEC_PER_SEC ((pa_usec_t) 1000000ULL)
00039 
00041 #define PA_NSEC_PER_SEC ((unsigned long long) 1000000000ULL)
00042 
00044 #define PA_USEC_PER_MSEC ((pa_usec_t) 1000ULL)
00045 
00047 #define PA_NSEC_PER_MSEC ((unsigned long long) 1000000ULL)
00048 
00050 #define PA_NSEC_PER_USEC ((unsigned long long) 1000ULL)
00051 
00053 #define PA_USEC_INVALID ((pa_usec_t) -1)
00054 
00056 #define PA_USEC_MAX ((pa_usec_t) -2)
00057 
00058 struct timeval;
00059 
00061 struct timeval *pa_gettimeofday(struct timeval *tv);
00062 
00065 pa_usec_t pa_timeval_diff(const struct timeval *a, const struct timeval *b) PA_GCC_PURE;
00066 
00068 int pa_timeval_cmp(const struct timeval *a, const struct timeval *b) PA_GCC_PURE;
00069 
00071 pa_usec_t pa_timeval_age(const struct timeval *tv);
00072 
00074 struct timeval* pa_timeval_add(struct timeval *tv, pa_usec_t v);
00075 
00077 struct timeval* pa_timeval_sub(struct timeval *tv, pa_usec_t v);
00078 
00080 struct timeval* pa_timeval_store(struct timeval *tv, pa_usec_t v);
00081 
00083 pa_usec_t pa_timeval_load(const struct timeval *tv);
00084 
00085 PA_C_DECL_END
00086 
00087 #endif