X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;ds=inline;f=bacula%2Fsrc%2Ffiled%2Fxattr.h;h=e84c87b994f2aded89d5b7b0150a59b5f21027e7;hb=72702edd5590651aaeba0dfd3676288ea7ae050d;hp=16056165e72aaf11725b3742c62a301eaf36d651;hpb=aa941b9e61a7944ac6ad87d4adc82c099dedf2b3;p=bacula%2Fbacula diff --git a/bacula/src/filed/xattr.h b/bacula/src/filed/xattr.h index 16056165e7..e84c87b994 100644 --- a/bacula/src/filed/xattr.h +++ b/bacula/src/filed/xattr.h @@ -6,7 +6,7 @@ The main author of Bacula is Kern Sibbald, with contributions from many others, a complete list can be found in the file AUTHORS. This program is Free Software; you can redistribute it and/or - modify it under the terms of version two of the GNU General Public + modify it under the terms of version three of the GNU Affero General Public License as published by the Free Software Foundation and included in the file LICENSE. @@ -15,7 +15,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Affero General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. @@ -26,8 +26,14 @@ Switzerland, email:ftf@fsfeurope.org. */ -#ifndef _BACULA_XATTR_ -#define _BACULA_XATTR_ +#ifndef __XATTR_H +#define __XATTR_H + +#if defined(HAVE_LINUX_OS) +#define BXATTR_ENOTSUP EOPNOTSUPP +#elif defined(HAVE_DARWIN_OS) +#define BXATTR_ENOTSUP ENOTSUP +#endif /* * Magic used in the magic field of the xattr struct. @@ -54,9 +60,30 @@ struct xattr_link_cache_entry_t { char target[PATH_MAX]; }; +#define BXATTR_FLAG_SAVE_NATIVE 0x01 +#define BXATTR_FLAG_RESTORE_NATIVE 0x02 + +/* + * Internal tracking data. + */ +struct xattr_data_t { + POOLMEM *content; + uint32_t content_length; + uint32_t nr_errors; + uint32_t nr_saved; + alist *link_cache; + uint32_t current_dev; + uint32_t flags; /* See BXATTR_FLAG_* */ +}; + /* * Maximum size of the XATTR stream this prevents us from blowing up the filed. */ #define MAX_XATTR_STREAM (1 * 1024 * 1024) /* 1 Mb */ +/* + * Upperlimit on a xattr internal buffer + */ +#define XATTR_BUFSIZ 1024 + #endif