+#ifndef _OVERONION_REVERSE_LIB_H
+#define _OVERONION_REVERSE_LIB_H
+
+#include <stdio.h>
+
+/* Copy the contents of input_filename to output_stream backwards.
+ * input_filename must be a real file, not a pipe. */
+void reverse_file(const char* input_filename, FILE* output_stream);
+
+/* Save the contents of input_stream to a temporary file. On EOF,
+ * emit them backwards to output_stream. Temporary files go in
+ * $TMPDIR if set, /tmp otherwise. */
+void reverse_stream(FILE* input_stream, FILE* output_stream);
+
+#endif /* _OVERONION_REVERSE_LIB_H */