X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=include%2Fwimlib%2Finode.h;h=ed6f9de92ee1ea088e1052c3b5f6c78a0b0681dd;hp=514621264f17cb58e5a349bfa6b0cdc072585075;hb=f9894b7e0e2a2a46fffdf7274d8671fb00f98089;hpb=0afbab754acf82c6afc4d2173055f2f4d157240b diff --git a/include/wimlib/inode.h b/include/wimlib/inode.h index 51462126..ed6f9de9 100644 --- a/include/wimlib/inode.h +++ b/include/wimlib/inode.h @@ -10,6 +10,7 @@ struct avl_tree_node; struct blob_descriptor; struct blob_table; struct wim_dentry; +struct wim_inode_extra; struct wim_security_data; struct wimfs_fd; @@ -140,10 +141,7 @@ struct wim_inode { * dentry. This should be a series of tagged items, each of which * represents a bit of extra metadata, such as the file's object ID. * See tagged_items.c for more information. */ - void *i_extra; - - /* Size of @i_extra buffer in bytes. If 0, there is no extra data. */ - size_t i_extra_size; + struct wim_inode_extra *i_extra; /* Creation time, last access time, and last write time for this inode, * in 100-nanosecond intervals since 12:00 a.m UTC January 1, 1601. @@ -230,6 +228,12 @@ struct wim_inode { u32 i_next_stream_id; }; +/* Optional extra data for a WIM inode */ +struct wim_inode_extra { + size_t size; /* Size of the extra data in bytes */ + u8 data[]; /* The extra data */ +}; + /* * The available reparse tags are documented at * http://msdn.microsoft.com/en-us/library/dd541667(v=prot.10).aspx.