X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fcopy-file.h;h=0fa24be9388ec06deed6d909bb3f337cdad58f2e;hb=c43cc7b973f4daf0c59368ae52e130dfd12ce8d6;hp=4791fdb2114fa30bd257af0bdfb4b0bc8922d03f;hpb=87c5f6fccee477f7e2c67ea4c95e51a3afd83a41;p=gnulib.git diff --git a/lib/copy-file.h b/lib/copy-file.h index 4791fdb21..0fa24be93 100644 --- a/lib/copy-file.h +++ b/lib/copy-file.h @@ -1,5 +1,5 @@ /* Copying of files. - Copyright (C) 2001-2003, 2009-2010 Free Software Foundation, Inc. + Copyright (C) 2001-2003, 2009-2014 Free Software Foundation, Inc. Written by Bruno Haible , 2001. This program is free software: you can redistribute it and/or modify @@ -21,6 +21,26 @@ extern "C" { #endif +/* Error codes returned by qcopy_file_preserving. */ +enum +{ + GL_COPY_ERR_OPEN_READ = -1, + GL_COPY_ERR_OPEN_BACKUP_WRITE = -2, + GL_COPY_ERR_READ = -3, + GL_COPY_ERR_WRITE = -4, + GL_COPY_ERR_AFTER_READ = -5, + GL_COPY_ERR_GET_ACL = -6, + GL_COPY_ERR_SET_ACL = -7 +}; + +/* Copy a regular file: from src_filename to dest_filename. + The destination file is assumed to be a backup file. + Modification times, owner, group and access permissions are preserved as + far as possible. + Return 0 if successful, otherwise set errno and return one of the error + codes above. */ +extern int qcopy_file_preserving (const char *src_filename, const char *dest_filename); + /* Copy a regular file: from src_filename to dest_filename. The destination file is assumed to be a backup file. Modification times, owner, group and access permissions are preserved as