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
, 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.