Move to here from utf16-ucs4-safe.c.
[gnulib.git] / lib / clean-temp.h
index aa5e8d3..6e7c3e6 100644 (file)
@@ -36,7 +36,7 @@ extern "C" {
 
    Also, open file descriptors need to be closed before the temporary files
    and the temporary directories can be removed, because only on Unix
-   (excluding Cygwin) one can remove directories containing open files.
+   (excluding Cygwin) can one remove directories containing open files.
 
    This module provides support for temporary directories and temporary files
    inside these temporary directories.  Temporary files without temporary
@@ -89,20 +89,24 @@ extern void register_temp_subdir (struct temp_dir *dir,
 extern void unregister_temp_subdir (struct temp_dir *dir,
                                    const char *absolute_dir_name);
 
-/* Remove the given ABSOLUTE_FILE_NAME and unregister it.  */
-extern void cleanup_temp_file (struct temp_dir *dir,
-                              const char *absolute_file_name);
+/* Remove the given ABSOLUTE_FILE_NAME and unregister it.
+   Return 0 upon success, or -1 if there was some problem.  */
+extern int cleanup_temp_file (struct temp_dir *dir,
+                             const char *absolute_file_name);
 
-/* Remove the given ABSOLUTE_DIR_NAME and unregister it.  */
-extern void cleanup_temp_subdir (struct temp_dir *dir,
-                                const char *absolute_dir_name);
+/* Remove the given ABSOLUTE_DIR_NAME and unregister it.
+   Return 0 upon success, or -1 if there was some problem.  */
+extern int cleanup_temp_subdir (struct temp_dir *dir,
+                               const char *absolute_dir_name);
 
-/* Remove all registered files and subdirectories inside DIR.  */
-extern void cleanup_temp_dir_contents (struct temp_dir *dir);
+/* Remove all registered files and subdirectories inside DIR.
+   Return 0 upon success, or -1 if there was some problem.  */
+extern int cleanup_temp_dir_contents (struct temp_dir *dir);
 
 /* Remove all registered files and subdirectories inside DIR and DIR itself.
-   DIR cannot be used any more after this call.  */
-extern void cleanup_temp_dir (struct temp_dir *dir);
+   DIR cannot be used any more after this call.
+   Return 0 upon success, or -1 if there was some problem.  */
+extern int cleanup_temp_dir (struct temp_dir *dir);
 
 /* Open a temporary file in a temporary directory.
    Registers the resulting file descriptor to be closed.  */
@@ -118,6 +122,10 @@ extern int fclose_temp (FILE *fp);
    Unregisters the previously registered file descriptor.  */
 extern int fwriteerror_temp (FILE *fp);
 
+/* Like close_stream.
+   Unregisters the previously registered file descriptor.  */
+extern int close_stream_temp (FILE *fp);
+
 
 #ifdef __cplusplus
 }