diff options
Diffstat (limited to 'cacheserver/utmpsync.c')
-rw-r--r-- | cacheserver/utmpsync.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/cacheserver/utmpsync.c b/cacheserver/utmpsync.c new file mode 100644 index 00000000..13ffcf4e --- /dev/null +++ b/cacheserver/utmpsync.c @@ -0,0 +1,27 @@ +/* $Id$ */ +#include "bbs.h" +#include <err.h> + +extern SHM_t *SHM; +int towrite(int fd, void *buf, int len); +int toconnect(char *host, int port); + +int main(int argc, char **argv) +{ + int sfd, index, i; + attach_SHM(); + if( (sfd = toconnect(OUTTACACHEHOST, OUTTACACHEPORT)) < 0 ) + return 1; + + index = -1; + towrite(sfd, &index, sizeof(index)); + for( i = 0 ; i < USHM_SIZE ; ++i ) + if( towrite(sfd, &SHM->uinfo[i].uid, sizeof(SHM->uinfo[i].uid)) < 0 || + towrite(sfd, SHM->uinfo[i].friend, + sizeof(SHM->uinfo[i].friend)) < 0 || + towrite(sfd, SHM->uinfo[i].reject, + sizeof(SHM->uinfo[i].reject)) < 0 ){ + fprintf(stderr, "sync error %d\n", i); + } + return 0; +} |