dav/main.h

changeset 334
5f80c5d0e87f
parent 333
000cdd124115
child 338
c7f3fe4abdb2
equal deleted inserted replaced
333:000cdd124115 334:5f80c5d0e87f
31 31
32 #include <curl/curl.h> 32 #include <curl/curl.h>
33 #include "optparser.h" 33 #include "optparser.h"
34 #include <libidav/webdav.h> 34 #include <libidav/webdav.h>
35 35
36 #include "tar.h"
36 #include "version.h" 37 #include "version.h"
37 38
38 #ifdef __cplusplus 39 #ifdef __cplusplus
39 extern "C" { 40 extern "C" {
40 #endif 41 #endif
41 42
42 typedef struct { 43 typedef struct {
43 DavResource *res; 44 DavResource *res;
44 char *path; 45 char *path;
45 } GetResource; 46 } GetResource;
47
48 typedef int(*getfunc)(Repository *, GetResource *, CmdArgs *, void *);
46 49
47 void print_usage(char *cmd); 50 void print_usage(char *cmd);
48 char* password_input(char *prompt); 51 char* password_input(char *prompt);
49 int request_auth(Repository *repo, DavSession *sn, CmdArgs *args); 52 int request_auth(Repository *repo, DavSession *sn, CmdArgs *args);
50 53
51 int cmd_list(CmdArgs *args); 54 int cmd_list(CmdArgs *args);
52 void ls_print_list_elm(DavResource *res, char *parent, CmdArgs *args); 55 void ls_print_list_elm(DavResource *res, char *parent, CmdArgs *args);
53 void ls_print_elm(DavResource *res, char *parent, CmdArgs *args); 56 void ls_print_elm(DavResource *res, char *parent, CmdArgs *args);
54 57
55 int cmd_get(CmdArgs *args); 58 int cmd_get(CmdArgs *args);
56 int get_resource(Repository *repo, DavResource *res, CmdArgs *a, char *out); 59 int get_resource(Repository *repo, GetResource *res, CmdArgs *a, void *unused);
60 int resource2tar(Repository *repo, GetResource *res, CmdArgs *a, TarOutputStream *tar);
57 61
58 int cmd_put(CmdArgs *args); 62 int cmd_put(CmdArgs *args);
59 int put_entry(Repository *repo, CmdArgs *a, DavSession *sn, char *path, char *file, DavBool root); 63 int put_entry(Repository *repo, CmdArgs *a, DavSession *sn, char *path, char *file, DavBool root);
64 int put_tar(Repository *repo, CmdArgs *a, DavSession *sn, char *tarfile, char *path);
60 int put_file(Repository *repo, CmdArgs *a, DavSession *sn, char *path, char *name, FILE *in, off_t len); 65 int put_file(Repository *repo, CmdArgs *a, DavSession *sn, char *path, char *name, FILE *in, off_t len);
61 66
62 int cmd_remove(CmdArgs *args); 67 int cmd_remove(CmdArgs *args);
63 int cmd_mkdir(CmdArgs *args); 68 int cmd_mkdir(CmdArgs *args);
64 69

mercurial