X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fngircd%2Fresolve.h;h=8ff88c8b128ff8398b374c2f5dd78403818aece5;hb=e1de769ab9958f6debbd884a1555de09d1191d32;hp=f823110f114f56367ce689667b7ec4a72a805e4d;hpb=7deacbaa11e237c987ba7d379a3162846cda8f2d;p=ngircd-alex.git diff --git a/src/ngircd/resolve.h b/src/ngircd/resolve.h index f823110f..8ff88c8b 100644 --- a/src/ngircd/resolve.h +++ b/src/ngircd/resolve.h @@ -1,6 +1,6 @@ /* * ngIRCd -- The Next Generation IRC Daemon - * Copyright (c)2001,2002 by Alexander Barton (alex@barton.de) + * Copyright (c)2001-2003 by Alexander Barton (alex@barton.de) * * 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 @@ -8,7 +8,7 @@ * (at your option) any later version. * Please read the file COPYING, README and AUTHORS for more information. * - * $Id: resolve.h,v 1.5 2003/04/21 10:53:10 alex Exp $ + * $Id: resolve.h,v 1.14 2008/02/26 22:04:17 fw Exp $ * * Asynchronous resolver (header) */ @@ -17,31 +17,25 @@ #ifndef __resolve_h__ #define __resolve_h__ +#include "array.h" +#include "tool.h" +#include "ng_ipaddr.h" -#ifdef HAVE_SYS_SELECT_H -# include -#endif -#include -#include - - -typedef struct _Res_Stat -{ - INT pid; /* PID des Child-Prozess */ - INT pipe[2]; /* Pipe fuer IPC */ +/* This struct must not be accessed directly */ +typedef struct _Res_Stat { + pid_t pid; /* PID of resolver process */ + int resolver_fd; /* pipe fd for lookup result. */ } RES_STAT; -GLOBAL fd_set Resolver_FDs; - - -GLOBAL VOID Resolve_Init PARAMS(( VOID )); - -GLOBAL RES_STAT *Resolve_Addr PARAMS(( struct sockaddr_in *Addr )); -GLOBAL RES_STAT *Resolve_Name PARAMS(( CHAR *Host )); +#define Resolve_Getfd(x) ((x)->resolver_fd) +#define Resolve_INPROGRESS(x) ((x)->resolver_fd >= 0) +GLOBAL bool Resolve_Addr PARAMS(( RES_STAT *s, const ng_ipaddr_t *Addr, int identsock, void (*cbfunc)(int, short))); +GLOBAL bool Resolve_Name PARAMS(( RES_STAT *s, const char *Host, void (*cbfunc)(int, short) )); +GLOBAL size_t Resolve_Read PARAMS(( RES_STAT *s, void *buf, size_t buflen)); +GLOBAL void Resolve_Init PARAMS(( RES_STAT *s)); +GLOBAL bool Resolve_Shutdown PARAMS(( RES_STAT *s)); #endif - - /* -eof- */