* * calling `fdopen_tempfile()` to get a `FILE` pointer for the
* open file and writing to the file using stdio.
*
+ * Note that the file descriptor returned by create_tempfile()
+ * is marked O_CLOEXEC, so the new contents must be written by
+ * the current process, not any spawned one.
+ *
* When finished writing, the caller can:
*
* * Close the file descriptor and remove the temporary file by
*/
extern int create_tempfile(struct tempfile *tempfile, const char *path);
+/*
+ * Register an existing file as a tempfile, meaning that it will be
+ * deleted when the program exits. The tempfile is considered closed,
+ * but it can be worked with like any other closed tempfile (for
+ * example, it can be opened using reopen_tempfile()).
+ */
+extern void register_tempfile(struct tempfile *tempfile, const char *path);
+
/*
* mks_tempfile functions