<?xml version="1.0"?>
<page id="clock"
      type="guide"
      style="class"
      xmlns="http://projectmallard.org/1.0/"
      xmlns:api="http://projectmallard.org/experimental/api/"
      xmlns:ui="http://projectmallard.org/experimental/ui/">

  <info>
    <link type="guide" xref="index#api-reference" />
  </info>

  <title>System Clock</title>
  <subtitle>BSON Clock Abstraction</subtitle>

  <section id="description">
    <title>Synopsis</title>
    <synopsis><code mime="text/x-csrc"><![CDATA[int64_t bson_get_monotonic_time (void);
int     bson_gettimeofday       (struct timeval  *tv,
#if defined(__SUNPRO_C)
                                 void            *tz);
#else
                                 struct timezone *tz);
]]></code></synopsis>
  </section>

  <section id="description">
    <title>Description</title>
    <p>The clock abstraction in Libbson provides a cross-platform way to handle timeouts within the BSON library. It abstracts the differences in implementations of <code>gettimeofday()</code> as well as providing a monotonic (incrementing only) clock in microseconds.</p>
  </section>

  <links type="topic" groups="function" style="2column">
    <title>Functions</title>
  </links>
</page>
