X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=daemon%2Ffilenet.h;h=261b1baeae45148320ae4fd175033fff32a38c7f;hb=000ca725083965e0b0dcc8ef7485f46c6edf3cf4;hp=8e3da7b486ac53ed0c2e48f94aa71c73d3e1ab34;hpb=d3372da97568d5e1f35fa19787c8ec8af93a0435;p=doldaconnect.git diff --git a/daemon/filenet.h b/daemon/filenet.h index 8e3da7b..261b1ba 100644 --- a/daemon/filenet.h +++ b/daemon/filenet.h @@ -29,6 +29,10 @@ #define FNN_EST 2 #define FNN_DEAD 3 +#define FNNS_PUB 0 +#define FNNS_REG 1 +#define FNNS_OP 2 + #define FNPD_INT 0 #define FNPD_LL 1 #define FNPD_STR 2 @@ -94,19 +98,25 @@ struct fnetnode int id; int state; int linked; + int regstatus; time_t srchwait, lastsrch; - wchar_t *name; + wchar_t *name, *pubid; wchar_t *mynick; + wchar_t *owner; struct fnet *fnet; struct socket *sk; struct fnetpeerdatum *peerdata; struct fnetpeer *peers; + struct wcspair *args; + int numpeers; + void *data; CBCHAIN(fnetnode_ac, struct fnetnode *fn, wchar_t *attrib); CBCHAIN(fnetnode_chat, struct fnetnode *fn, int public, wchar_t *name, wchar_t *peer, wchar_t *string); CBCHAIN(fnetnode_unlink, struct fnetnode *fn); CBCHAIN(fnetnode_destroy, struct fnetnode *fn); - int numpeers; - void *data; + CBCHAIN(fnetpeer_new, struct fnetnode *fn, struct fnetpeer *peer); + CBCHAIN(fnetpeer_del, struct fnetnode *fn, struct fnetpeer *peer); + CBCHAIN(fnetpeer_chdi, struct fnetnode *fn, struct fnetpeer *peer, struct fnetpeerdi *di); }; void regfnet(struct fnet *fnet); @@ -114,7 +124,7 @@ void fnetsetname(struct fnetnode *fn, wchar_t *newname); void fnetsetstate(struct fnetnode *fn, int newstate); int fnetsetnick(struct fnetnode *fn, wchar_t *newnick); struct fnet *findfnet(wchar_t *name); -struct fnetnode *fnetinitconnect(wchar_t *name, char *addr); +struct fnetnode *fnetinitconnect(wchar_t *name, wchar_t *owner, char *addr, struct wcspair *args); void linkfnetnode(struct fnetnode *fn); void unlinkfnetnode(struct fnetnode *fn); void getfnetnode(struct fnetnode *fn);