From 50450dcc5f6f54bf1d8af7174fc950ca1449a9a3 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Sun, 10 Feb 2008 15:43:04 +0000 Subject: * Makefile.in (DLL_OFILES): Add ntea.o. * cygwin.din (getxattr, listxattr, removexattr, setxattr, lgetxattr, llistxattr, lremovexattr, lsetxattr, fgetxattr, flistxattr, fremovexattr, fsetxattr): Export Linux extended attribute functions. Sort. * errno.cc (errmap): Add mappings for ERROR_EAS_DIDNT_FIT, ERROR_EAS_NOT_SUPPORTED, ERROR_EA_LIST_INCONSISTENT, ERROR_EA_TABLE_FULL, ERROR_FILE_CORRUPT, ERROR_INVALID_EA_NAME. * fhandler.h (class fhandler_base): Declare new fgetxattr and fsetxattr methods. (class fhandler_disk_file): Ditto. * fhandler.cc (fhandler_base::fgetxattr): New method. (fhandler_base::fsetxattr): New method. * fhandler_disk_file.cc (fhandler_disk_file::fgetxattr): New method. (fhandler_disk_file::fsetxattr): New method. * ntdll.h (STATUS_EA_TOO_LARGE): Define. (STATUS_NONEXISTENT_EA_ENTRY): Define. (STATUS_NO_EAS_ON_FILE): Define. * ntea.cc (read_ea): Rewrite for long pathnames and for using with Linux extended attribute functions. (write_ea): Ditto. (getxattr_worker): New static function. (getxattr): New function. (lgetxattr): New function. (fgetxattr): New function. (listxattr): New function. (llistxattr): New function. (flistxattr): New function. (setxattr_worker): New static function. (setxattr): New function. (lsetxattr): New function. (fsetxattr): New function. (removexattr): New function. (lsetxattr): New function. (fsetxattr): New function. * security.h (read_ea): Change declaration according to above changes. (write_ea): Ditto. * include/cygwin/version.h: Bump API minor version. --- winsup/cygwin/errno.cc | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'winsup/cygwin/errno.cc') diff --git a/winsup/cygwin/errno.cc b/winsup/cygwin/errno.cc index 50819a952..eebb46305 100644 --- a/winsup/cygwin/errno.cc +++ b/winsup/cygwin/errno.cc @@ -62,10 +62,15 @@ static NO_COPY struct X (DISK_CORRUPT, EIO), X (DISK_FULL, ENOSPC), X (DUP_NAME, ENOTUNIQ), + X (EAS_DIDNT_FIT, ENOSPC), + X (EAS_NOT_SUPPORTED, ENOTSUP), + X (EA_LIST_INCONSISTENT, EINVAL), + X (EA_TABLE_FULL, ENOSPC), X (END_OF_MEDIA, ENOSPC), X (EOM_OVERFLOW, EIO), X (FILEMARK_DETECTED, EIO), X (FILENAME_EXCED_RANGE, ENAMETOOLONG), + X (FILE_CORRUPT, EEXIST), X (FILE_EXISTS, EEXIST), X (FILE_INVALID, ENXIO), X (FILE_NOT_FOUND, ENOENT), @@ -76,6 +81,7 @@ static NO_COPY struct X (INVALID_BLOCK_LENGTH, EIO), X (INVALID_DATA, EINVAL), X (INVALID_DRIVE, ENODEV), + X (INVALID_EA_NAME, EINVAL), X (INVALID_FUNCTION, EBADRQC), X (INVALID_HANDLE, EBADF), X (INVALID_NAME, ENOENT), -- cgit v1.2.3