diff --git a/archive.h b/archive.h
index 34151f41b47b812b43f2fb2c6d07dae3819072a4..4e44549fdd702ceca430aeb319cc5d5f1afc7ac9 100644 (file)
--- a/archive.h
+++ b/archive.h
typedef void *(*parse_extra_args_fn_t)(int argc, const char **argv);
+typedef int (*write_archive_entry_fn_t)(struct archiver_args *args, const unsigned char *sha1, const char *path, size_t pathlen, unsigned int mode, void *buffer, unsigned long size);
+
struct archiver {
const char *name;
write_archive_fn_t write_archive;
extern void *sha1_file_to_archive(const char *path, const unsigned char *sha1, unsigned int mode, enum object_type *type, unsigned long *size, const struct commit *commit);
extern int is_archive_path_ignored(const char *path);
+extern int write_archive_entries(struct archiver_args *args, write_archive_entry_fn_t write_entry);
+
#endif /* ARCHIVE_H */