Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tag: v1.5.1.1
Fetching contributors…

Octocat-spinner-32-eaf2f5

Cannot retrieve contributors at this time

file 46 lines (36 sloc) 1.109 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
#ifndef ARCHIVE_H
#define ARCHIVE_H

#define MAX_EXTRA_ARGS 32
#define MAX_ARGS (MAX_EXTRA_ARGS + 32)

struct archiver_args {
const char *base;
struct tree *tree;
const unsigned char *commit_sha1;
time_t time;
const char **pathspec;
unsigned int verbose : 1;
void *extra;
};

typedef int (*write_archive_fn_t)(struct archiver_args *);

typedef void *(*parse_extra_args_fn_t)(int argc, const char **argv);

struct archiver {
const char *name;
struct archiver_args args;
write_archive_fn_t write_archive;
parse_extra_args_fn_t parse_extra;
};

extern int parse_archive_args(int argc,
const char **argv,
struct archiver *ar);

extern void parse_treeish_arg(const char **treeish,
struct archiver_args *ar_args,
const char *prefix);

extern void parse_pathspec_arg(const char **pathspec,
struct archiver_args *args);
/*
* Archive-format specific backends.
*/
extern int write_tar_archive(struct archiver_args *);
extern int write_zip_archive(struct archiver_args *);
extern void *parse_extra_zip_args(int argc, const char **argv);

#endif /* ARCHIVE_H */
Something went wrong with that request. Please try again.