X-Git-Url: http://git.dolda2000.com/gitweb/?a=blobdiff_plain;f=daemon%2Ftransfer.h;h=f67898f9213b0aacc758b315ebe8c630d376da1a;hb=d5aa6bdc7d405d21dcf5171b04f505e1c6f245e6;hp=082d409313b06a4d0f8ea31add8d153e5eacb727;hpb=8a87f29db65f5d1b654ec43ef8e70e5a747fc0c5;p=doldaconnect.git diff --git a/daemon/transfer.h b/daemon/transfer.h index 082d409..f67898f 100644 --- a/daemon/transfer.h +++ b/daemon/transfer.h @@ -50,13 +50,6 @@ struct transferiface void (*wantdata)(struct transfer *transfer, void *data); }; -struct transarg -{ - struct transarg *next; - wchar_t *rec; - wchar_t *val; -}; - struct transfer { struct transfer *next, *prev; @@ -84,7 +77,7 @@ struct transfer struct fnetnode *fn; void *ifacedata; struct socket *localend; - struct transarg *args; + struct wcspair *args; pid_t filter; struct authhandle *auth; struct socket *filterout; @@ -116,15 +109,20 @@ void transferdetach(struct transfer *transfer); void resettransfer(struct transfer *transfer); void transfersetlocalend(struct transfer *transfer, struct socket *sk); void *transfergetdata(struct transfer *transfer, size_t *size); -void transferaddarg(struct transfer *transfer, wchar_t *rec, wchar_t *val); int forkfilter(struct transfer *transfer); void transferputdata(struct transfer *transfer, void *buf, size_t size); size_t transferdatasize(struct transfer *transfer); void transferendofdata(struct transfer *transfer); void transferprepul(struct transfer *transfer, size_t size, size_t start, size_t end, struct socket *lesk); void transferstartul(struct transfer *transfer, struct socket *sk); +void transfersethash(struct transfer *transfer, struct hash *hash); +struct transfer *finddownload(wchar_t *peerid); +void transferstartdl(struct transfer *transfer, struct socket *sk); +void trytransferbypeer(struct fnet *fnet, wchar_t *peerid); extern struct transfer *transfers; +extern unsigned long long bytesupload; +extern unsigned long long bytesdownload; EGCBCHAIN(newtransfercb, struct transfer *); #endif