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
 
    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
 
    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);
 
 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.
 
 /* 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.  */
 
 /* 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);
 
    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
 }
 
 #ifdef __cplusplus
 }