X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=include%2Fdoldaconnect%2Fuimisc.h;h=707c9b6fed831f4769a080688d6c6f1d8dca04b3;hb=8f623b36d661bfcf18b30a088177f6a5131bd1d9;hp=21806645e1321823d5618ac7e020e862f217a712;hpb=986e87822a3bdd4a498916ae0f8ba1b763a7d80f;p=doldaconnect.git diff --git a/include/doldaconnect/uimisc.h b/include/doldaconnect/uimisc.h index 2180664..707c9b6 100644 --- a/include/doldaconnect/uimisc.h +++ b/include/doldaconnect/uimisc.h @@ -18,6 +18,10 @@ #define DC_FNN_STATE_EST 2 #define DC_FNN_STATE_DEAD 3 +#define DC_FNPD_INT 0 +#define DC_FNPD_LL 1 +#define DC_FNPD_STR 2 + #define DC_TRNS_WAITING 0 #define DC_TRNS_HS 1 #define DC_TRNS_MAIN 2 @@ -44,6 +48,42 @@ struct dc_fnetnode int found; void (*destroycb)(struct dc_fnetnode *fn); void *udata; + struct dc_fnetpeer *peers; + struct dc_fnetpeerdatum *peerdata; + void (*newpeercb)(struct dc_fnetpeer *peer); + void (*delpeercb)(struct dc_fnetpeer *peer); + void (*chpeercb)(struct dc_fnetpeer *peer); + wchar_t *pubid; +}; + +struct dc_fnetpeerdatum +{ + struct dc_fnetpeerdatum *next, *prev; + int refcount; + int dt; + wchar_t *id; +}; + +struct dc_fnetpeerdi +{ + struct dc_fnetpeerdatum *datum; + union + { + int num; + long long lnum; + wchar_t *str; + } d; +}; + +struct dc_fnetpeer +{ + struct dc_fnetpeer *next, *prev; + struct dc_fnetnode *fn; + wchar_t *id; + wchar_t *nick; + int dinum; + int found; + struct dc_fnetpeerdi *di; }; struct dc_transfer @@ -53,7 +93,7 @@ struct dc_transfer int dir, state; wchar_t *peerid, *peernick; wchar_t *path; - int size, curpos; + dc_lnum_t size, curpos; int found; int error; time_t errortime; @@ -62,7 +102,10 @@ struct dc_transfer void *udata; }; +int dc_convtty(int type, wchar_t *text, char **resp, void *data); +int dc_convnone(int type, wchar_t *text, char **resp, void *data); void dc_loginasync(char *username, int useauthless, int (*conv)(int, wchar_t *, char **, void *), void (*callback)(int, wchar_t *, void *), void *udata); +int dc_login(char *username, int useauthless, int (*conv)(int, wchar_t *, char **, void *), wchar_t **reason); struct dc_fnetnode *dc_findfnetnode(int id); void dc_getfnlistasync(void (*callback)(int, void *), void *udata); void dc_uimisc_handlenotify(struct dc_response *resp); @@ -70,6 +113,8 @@ struct dc_transfer *dc_findtransfer(int id); void dc_gettrlistasync(void (*callback)(int, void *), void *udata); wchar_t **dc_lexsexpr(wchar_t *sexpr); void dc_freewcsarr(wchar_t **arr); +void dc_getpeerlistasync(struct dc_fnetnode *fn, void (*callback)(struct dc_fnetnode *, int, void *), void *udata); +struct dc_fnetpeer *dc_fnetfindpeer(struct dc_fnetnode *fn, wchar_t *id); extern struct dc_fnetnode *dc_fnetnodes; extern struct dc_transfer *dc_transfers;