summaryrefslogtreecommitdiffstats
path: root/sys/sys/extattr.h
diff options
context:
space:
mode:
authormckusick <mckusick@FreeBSD.org>2007-03-06 08:13:21 +0000
committermckusick <mckusick@FreeBSD.org>2007-03-06 08:13:21 +0000
commite5953785d06c108599cb30d8a2cfe0c8b6419ef0 (patch)
tree7cb99a7cb1fbd1e92be219f0b948c30b7689d734 /sys/sys/extattr.h
parentfe063bb84d1657ff868f2c2ec73a39f9b18590f0 (diff)
downloadFreeBSD-src-e5953785d06c108599cb30d8a2cfe0c8b6419ef0.zip
FreeBSD-src-e5953785d06c108599cb30d8a2cfe0c8b6419ef0.tar.gz
Move macros describing extended attributes in UFS from
<sys/extattr.h> to <ufs/ufs/extattr.h>. Move description of extended attributes in UFS from man9/extattr.9 to man5/fs.5. Note that restore will not compile until <sys/extattr.h> and <ufs/ufs/extattr.h> have been updated. Suggested by: Robert Watson
Diffstat (limited to 'sys/sys/extattr.h')
-rw-r--r--sys/sys/extattr.h47
1 files changed, 0 insertions, 47 deletions
diff --git a/sys/sys/extattr.h b/sys/sys/extattr.h
index ece5385..678c0cf 100644
--- a/sys/sys/extattr.h
+++ b/sys/sys/extattr.h
@@ -56,48 +56,6 @@
EXTATTR_NAMESPACE_USER_STRING, \
EXTATTR_NAMESPACE_SYSTEM_STRING }
-/*
- * This structure defines the required fields of an extended-attribute header.
- */
-struct extattr {
- int32_t ea_length; /* length of this attribute */
- int8_t ea_namespace; /* name space of this attribute */
- int8_t ea_contentpadlen; /* bytes of padding at end of attribute */
- int8_t ea_namelength; /* length of attribute name */
- char ea_name[1]; /* null-terminated attribute name */
- /* extended attribute content follows */
-};
-
-/*
- * These macros are used to access and manipulate an extended attribute:
- *
- * EXTATTR_NEXT(eap) returns a pointer to the next extended attribute
- * following eap.
- * EXTATTR_CONTENT(eap) returns a pointer to the extended attribute
- * content referenced by eap.
- * EXTATTR_CONTENT_SIZE(eap) returns the size of the extended attribute
- * content referenced by eap.
- * EXTATTR_SET_LENGTHS(eap, contentsize) called after initializing the
- * attribute name to calculate and set the ea_length, ea_namelength,
- * and ea_contentpadlen fields of the extended attribute structure.
- */
-#define EXTATTR_NEXT(eap) \
- ((struct extattr *)(((void *)(eap)) + (eap)->ea_length))
-#define EXTATTR_CONTENT(eap) (((void *)(eap)) + EXTATTR_BASE_LENGTH(eap))
-#define EXTATTR_CONTENT_SIZE(eap) \
- ((eap)->ea_length - EXTATTR_BASE_LENGTH(eap) - (eap)->ea_contentpadlen)
-#define EXTATTR_BASE_LENGTH(eap) \
- ((sizeof(struct extattr) + (eap)->ea_namelength + 7) & ~7)
-#define EXTATTR_SET_LENGTHS(eap, contentsize) do { \
- KASSERT(((eap)->ea_name[0] != 0), \
- ("Must initialize name before setting lengths")); \
- (eap)->ea_namelength = strlen((eap)->ea_name); \
- (eap)->ea_contentpadlen = ((contentsize) % 8) ? \
- 8 - ((contentsize) % 8) : 0; \
- (eap)->ea_length = EXTATTR_BASE_LENGTH(eap) + \
- (contentsize) + (eap)->ea_contentpadlen; \
-} while (0)
-
#ifdef _KERNEL
#define EXTATTR_MAXNAMELEN NAME_MAX
@@ -110,11 +68,6 @@ int extattr_check_cred(struct vnode *vp, int attrnamespace,
#else
#include <sys/cdefs.h>
-/* User-level definition of KASSERT for macros above */
-#define KASSERT(cond, str) do { \
- if (!(cond)) { printf("panic: "); printf(str); printf("\n"); exit(1); }\
-} while (0)
-
struct iovec;
__BEGIN_DECLS
OpenPOWER on IntegriCloud