X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=src%2FIODNSEngine.h;fp=src%2FIODNSEngine.h;h=91006dcd36b281f8401b09ee2c34ff404b46fa17;hb=e18ef9b450a0704ff5c55545f70e3f1ec215a5e6;hp=0000000000000000000000000000000000000000;hpb=5ad65e65d2234b02151ea7ca17e3fa9893a9b165;p=IOMultiplexer.git diff --git a/src/IODNSEngine.h b/src/IODNSEngine.h new file mode 100644 index 0000000..91006dc --- /dev/null +++ b/src/IODNSEngine.h @@ -0,0 +1,43 @@ +/* IODNSEngine.h - IOMultiplexer + * Copyright (C) 2012 Philipp Kreil (pk910) + * + * 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 + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#ifndef _IODNSEngine_h +#define _IODNSEngine_h +#include "IOHandler.h" +#include "IODNSHandler.h" + +extern struct IODNSQuery *first_dnsquery; +extern struct IODNSQuery *last_dnsquery; +extern int dnsquery_count; + +extern struct IODNSEngine *dnsengine; + +struct IODNSEngine { + const char *name; + int (*init)(); + void (*add)(struct IODNSQuery *iodns); + void (*remove)(struct IODNSQuery *iodns); + void (*loop)(); +}; + +void iodns_event_callback(struct IODNSQuery *iodns, enum IODNSEventType state); + +void iohandler_log(enum IOLogType type, char *text, ...); +char *iohandler_iotype_name(enum IOType type); +char *iohandler_iostatus_name(enum IOStatus status); +char *iohandler_ioeventtype_name(enum IOEventType type); + +#endif