This is a bit more verbose, and transition back & forth between perl &
C types in e.g. perl -> compress -> _compress is a bit silly, ideally
"compress" would just call a shared C function.
But this is just an as-is port of what it's doing now which avoids
hardcoding library constants in the *.pm, this could also be done with
ExtUtils::Constant, but whatever.
This leaves the mode() function unported, but it's not used
anywhere (WIP code?) and in any case could also be easily ported over.