#ifndef HEADER_CURL_TIMEVAL_H #define HEADER_CURL_TIMEVAL_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * * SPDX-License-Identifier: curl * ***************************************************************************/ #include "curl_setup.h" #include "timediff.h" #ifndef BUILDING_LIBCURL /* this renames the functions so that the tool code can use the same code without getting symbol collisions */ #define Curl_now curlx_now #define Curl_timediff(a,b) curlx_timediff(a,b) #define Curl_timediff_ceil(a,b) curlx_timediff_ceil(a,b) #define Curl_timediff_us(a,b) curlx_timediff_us(a,b) /* For tool or tests, we must initialize before calling Curl_now() */ void curlx_now_init(void); #endif struct curltime { time_t tv_sec; /* seconds */ int tv_usec; /* microseconds */ }; struct curltime Curl_now(void); /* * Make sure that the first argument (newer) is the more recent time and older * is the older time, as otherwise you get a weird negative time-diff back... * * Returns: the time difference in number of milliseconds. */ timediff_t Curl_timediff(struct curltime newer, struct curltime older); /* * Make sure that the first argument (newer) is the more recent time and older * is the older time, as otherwise you get a weird negative time-diff back... * * Returns: the time difference in number of milliseconds, rounded up. */ timediff_t Curl_timediff_ceil(struct curltime newer, struct curltime older); /* * Make sure that the first argument (newer) is the more recent time and older * is the older time, as otherwise you get a weird negative time-diff back... * * Returns: the time difference in number of microseconds. */ timediff_t Curl_timediff_us(struct curltime newer, struct curltime older); #endif /* HEADER_CURL_TIMEVAL_H */