+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);