The cyclic log package is built on the C library. The C++ API is a thin layer on top. This makes the package suitable for either C or C++ programmers.
There are two important structures in the design of cyclic logs: the header that occurs at the start of every log, and the file descriptor that is used to describe an open cyclic log.