A portable C interface