Browse Source Download (without any required ccan dependencies)

Module:

time

Summary:

routines for dealing with time

Author:

Rusty Russell <rusty@rustcorp.com.au>

Description:

This code provides convenient functions for working with time, in the form of 'struct timerel' for durations and 'struct timeabs' for timestamps which are light wrappers around struct timespec.

Example:

#include <ccan/time/time.h>
#include <stdlib.h>
#include <stdio.h>
#include <err.h>

int main(int argc, char *argv[])
{
        struct timeabs t;

        if (argc != 2)
                errx(1, "Usage: %s <diff in millisec>", argv[0]);

        t = time_now();
        if (argv[1][0] == '-')
                t = timeabs_sub(t, time_from_msec(atol(argv[1]+1)));
        else
                t = timeabs_add(t, time_from_msec(atol(argv[1])));

        printf("%lu.%09u\n",
               (unsigned long)t.ts.tv_sec, (unsigned)t.ts.tv_nsec);
        return 0;
}

License:

BSD-MIT