+extern int
+wim_inode_get_reparse_data(const struct wim_inode *inode, u8 *rpbuf);
+
+#ifndef __WIN32__
+ssize_t
+wim_inode_readlink(const struct wim_inode *inode, char *buf, size_t buf_len);
+
+extern int
+wim_inode_set_symlink(struct wim_inode *inode, const char *target,
+ struct wim_lookup_table *lookup_table);
+#endif
+extern tchar *
+capture_fixup_absolute_symlink(tchar *dest,
+ u64 capture_root_ino, u64 capture_root_dev);
+
+
+/* resource.c */
+
+#define WIMLIB_RESOURCE_FLAG_RAW 0x1
+#define WIMLIB_RESOURCE_FLAG_RECOMPRESS 0x4
+
+extern int
+read_resource_prefix(const struct wim_lookup_table_entry *lte,
+ u64 size, consume_data_callback_t cb, void *ctx_or_buf,
+ int flags);
+
+extern const void *
+get_resource_entry(const void *p, struct resource_entry *entry);
+
+extern void *
+put_resource_entry(void *p, const struct resource_entry *entry);
+
+extern int
+read_partial_wim_resource_into_buf(const struct wim_lookup_table_entry *lte,
+ size_t size, u64 offset, void *buf);
+extern int
+read_full_resource_into_buf(const struct wim_lookup_table_entry *lte, void *buf);
+
+extern int
+write_wim_resource(struct wim_lookup_table_entry *lte, int out_fd,
+ int out_ctype, struct resource_entry *out_res_entry,
+ int flags);
+
+extern int
+extract_wim_resource(const struct wim_lookup_table_entry *lte,
+ u64 size,
+ consume_data_callback_t extract_chunk,
+ void *extract_chunk_arg);
+
+extern int
+extract_wim_resource_to_fd(const struct wim_lookup_table_entry *lte,
+ int fd, u64 size);
+
+extern int
+sha1_resource(struct wim_lookup_table_entry *lte);
+
+extern int
+copy_resource(struct wim_lookup_table_entry *lte, void *w);