X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=daemon%2Ffilenet.h;h=8d2c8dbe67fb144d794d0d747264be75a1cacb90;hb=106f290d565b1d3ddafd1314c55798d500a27d60;hp=3700bca35228c59e5ec6f654e75621bff7649b81;hpb=d1e8b9fdbc499b3148bc3fe80eb50982c0d1ad22;p=doldaconnect.git diff --git a/daemon/filenet.h b/daemon/filenet.h index 3700bca..8d2c8db 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,8 +44,9 @@ 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); @@ -74,7 +75,6 @@ struct fnetpeerdi struct fnetpeer { - struct fnetpeer *next, *prev; struct fnetnode *fn; wchar_t *id; wchar_t *nick; @@ -99,13 +99,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; @@ -123,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 wcspair *args); +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); @@ -131,6 +132,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);