X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=daemon%2Ffilenet.h;h=ffb2acb20297da48d6aa42271613a83256dc67b5;hb=78ba3ee1d71032a1325036d5cefa8d0549d76ccd;hp=261b1baeae45148320ae4fd175033fff32a38c7f;hpb=a3a4a3a7ae1030512acfd849bb184b9d2264c24d;p=doldaconnect.git diff --git a/daemon/filenet.h b/daemon/filenet.h index 261b1ba..ffb2acb 100644 --- a/daemon/filenet.h +++ b/daemon/filenet.h @@ -1,6 +1,6 @@ /* * Dolda Connect - Modular multiuser Direct Connect-style client - * Copyright (C) 2004 Fredrik Tolf (fredrik@dolda2000.com) + * Copyright (C) 2004 Fredrik Tolf * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -44,13 +44,13 @@ struct fnet { struct fnet *next; wchar_t *name; - void (*connect)(struct fnetnode *fn); + void (*connect)(struct fnetnode *fn, struct socket *sk); void (*destroy)(struct fnetnode *fn); + void (*kill)(struct fnetnode *fn); int (*setnick)(struct fnetnode *fn, wchar_t *newnick); int (*reqconn)(struct fnetpeer *peer); int (*sendchat)(struct fnetnode *fn, int public, wchar_t *to, wchar_t *string); int (*search)(struct fnetnode *fn, struct search *srch, struct srchfnnlist *ln); - wchar_t *(*filebasename)(wchar_t *filename); }; struct fnetpeerdatum @@ -74,7 +74,6 @@ struct fnetpeerdi struct fnetpeer { - struct fnetpeer *next, *prev; struct fnetnode *fn; wchar_t *id; wchar_t *nick; @@ -99,14 +98,14 @@ struct fnetnode int state; int linked; int regstatus; + int connected; time_t srchwait, lastsrch; wchar_t *name, *pubid; wchar_t *mynick; wchar_t *owner; struct fnet *fnet; - struct socket *sk; struct fnetpeerdatum *peerdata; - struct fnetpeer *peers; + struct btree *peers; struct wcspair *args; int numpeers; void *data; @@ -132,6 +131,7 @@ void putfnetnode(struct fnetnode *fn); void killfnetnode(struct fnetnode *fn); struct fnetpeer *fnetaddpeer(struct fnetnode *fn, wchar_t *id, wchar_t *nick); void fnetdelpeer(struct fnetpeer *peer); +void fnetpeerdm(struct fnetnode *fn); struct fnetpeer *fnetfindpeer(struct fnetnode *fn, wchar_t *id); void fnetpeersetstr(struct fnetpeer *peer, wchar_t *id, wchar_t *value); void fnetpeersetnum(struct fnetpeer *peer, wchar_t *id, int value); @@ -141,6 +141,7 @@ struct fnetnode *findfnetnode(int id); void fnethandlechat(struct fnetnode *fn, int public, wchar_t *name, wchar_t *peer, wchar_t *chat); int fnetsendchat(struct fnetnode *fn, int public, wchar_t *to, wchar_t *string); int fnetsearch(struct fnetnode *fn, struct search *srch, struct srchfnnlist *ln); +wchar_t *fnfilebasename(wchar_t *path); extern struct fnetnode *fnetnodes; EGCBCHAIN(newfncb, struct fnetnode *);