Scroll to navigation

tevent_helpers(3) tevent tevent_helpers(3)

NAME

tevent_helpers - The tevent helper functions

SYNOPSIS

Modules


The tevent call depth tracking functions
The call depth tracking consists of two parts.

Functions


int tevent_timeval_compare (const struct timeval *tv1, const struct timeval *tv2)
Compare two timeval values. struct timeval tevent_timeval_zero (void)
Get a zero timeval value. struct timeval tevent_timeval_current (void)
Get a timeval value for the current time. struct timeval tevent_timeval_set (uint32_t secs, uint32_t usecs)
Get a timeval structure with the given values. struct timeval tevent_timeval_until (const struct timeval *tv1, const struct timeval *tv2)
Get the difference between two timeval values. bool tevent_timeval_is_zero (const struct timeval *tv)
Check if a given timeval structure is zero. struct timeval tevent_timeval_add (const struct timeval *tv, uint32_t secs, uint32_t usecs)
Add the given amount of time to a timeval structure. struct timeval tevent_timeval_current_ofs (uint32_t secs, uint32_t usecs)
Get a timeval in the future with a specified offset from now. pid_t tevent_cached_getpid (void)
A cached version of getpid()

Detailed Description

Todo

description

Function Documentation

pid_t tevent_cached_getpid (void)

A cached version of getpid() We use getpid() in a lot a performance critical situations in order to check if caches are still valid in the current process.

Calling getpid() always add the cost of an additional syscall!

When tevent is build with pthread support, we already make use of pthread_atfork(), so it's trivial to use it maintain a cache for getpid().

Returns

The pid of the current process.

struct timeval tevent_timeval_add (const struct timeval * tv, uint32_t secs, uint32_t usecs)

Add the given amount of time to a timeval structure.

Parameters

tv The timeval structure to add the time.
secs The seconds to add to the timeval.
usecs The microseconds to add to the timeval.

Returns

The timeval structure with the new time.

int tevent_timeval_compare (const struct timeval * tv1, const struct timeval * tv2)

Compare two timeval values.

Parameters

tv1 The first timeval value to compare.
tv2 The second timeval value to compare.

Returns

0 if they are equal. 1 if the first time is greater than the second. -1 if the first time is smaller than the second.

Compare two timeval values.

Return -1 if tv1 < tv2 Return 0 if tv1 == tv2 Return 1 if tv1 > tv2

struct timeval tevent_timeval_current (void)

Get a timeval value for the current time.

Returns

A timeval value with the current time.

Get a timeval value for the current time.

struct timeval tevent_timeval_current_ofs (uint32_t secs, uint32_t usecs)

Get a timeval in the future with a specified offset from now.

Parameters

secs The seconds of the offset from now.
usecs The microseconds of the offset from now.

Returns

A timeval with the given offset in the future.

Get a timeval in the future with a specified offset from now.

bool tevent_timeval_is_zero (const struct timeval * tv)

Check if a given timeval structure is zero.

Parameters

tv The timeval to check if it is zero.

Returns

True if it is zero, false otherwise.

Check if a given timeval structure is zero.

struct timeval tevent_timeval_set (uint32_t secs, uint32_t usecs)

Get a timeval structure with the given values.

Parameters

secs The seconds to set.
usecs The microseconds to set.

Returns

A timeval structure with the given values.

Get a timeval structure with the given values.

struct timeval tevent_timeval_until (const struct timeval * tv1, const struct timeval * tv2)

Get the difference between two timeval values.

Parameters

tv1 The first timeval.
tv2 The second timeval.

Returns

A timeval structure with the difference between the first and the second value.

Get the difference between two timeval values.

struct timeval tevent_timeval_zero (void)

Get a zero timeval value.

Returns

A zero timeval value.

Get a zero timeval value.

Author

Generated automatically by Doxygen for tevent from the source code.

Mon Dec 4 2023 Version 0.9.8