X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Fcommon%2Fxattr.h;fp=src%2Fceph%2Fsrc%2Fcommon%2Fxattr.h;h=15b356196c900296cb48ead0ce762d02c99acf56;hb=812ff6ca9fcd3e629e49d4328905f33eee8ca3f5;hp=0000000000000000000000000000000000000000;hpb=15280273faafb77777eab341909a3f495cf248d9;p=stor4nfv.git diff --git a/src/ceph/src/common/xattr.h b/src/ceph/src/common/xattr.h new file mode 100644 index 0000000..15b3561 --- /dev/null +++ b/src/ceph/src/common/xattr.h @@ -0,0 +1,44 @@ +/* + * Ceph - scalable distributed file system + * + * Copyright (C) 2011 Stanislav Sedov + * + * This is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software + * Foundation. See file COPYING. + */ + +#ifndef CEPH_EXTATTR_H +#define CEPH_EXTATTR_H + + +#ifdef __cplusplus +extern "C" { +#endif + +// Almost everyone defines ENOATTR, except for Linux, +// which does #define ENOATTR ENODATA. It seems that occasionally that +// isn't defined, though, so let's make sure. +#ifndef ENOATTR +# define ENOATTR ENODATA +#endif + +int ceph_os_setxattr(const char *path, const char *name, + const void *value, size_t size); +int ceph_os_fsetxattr(int fd, const char *name, const void *value, + size_t size); +ssize_t ceph_os_getxattr(const char *path, const char *name, + void *value, size_t size); +ssize_t ceph_os_fgetxattr(int fd, const char *name, void *value, + size_t size); +ssize_t ceph_os_listxattr(const char *path, char *list, size_t size); +ssize_t ceph_os_flistxattr(int fd, char *list, size_t size); +int ceph_os_removexattr(const char *path, const char *name); +int ceph_os_fremovexattr(int fd, const char *name); + +#ifdef __cplusplus +} +#endif + +#endif /* !CEPH_EXTATTR_H */