APR is now also an acronym for '
Apache Portable Runtime', the framework that
Apache2 is written on. APR provides a portability layer onto several OSes, primarily
Unices,
Win32/
WinNT,
OS/2, and
BeOS.
The structures and API of APR cover (thus far) file handling, character set conversion, networking over sockets, string handling (this is C, remember), mutexes, threads/process management, mem mapping, amonst others. It's a growing project.
More than just Apache2 depends on APR: the version control system Subversion has been written on it, several supporting web tools, and I'm now with a group that will use it for shared calendar management. If you're forced to use C, then the APR is a good way to go.