#ifndef fooflxserverhfoo
#define fooflxserverhfoo
+typedef struct _flxEntry flxEntry;
+typedef struct _flxResponseJob flxResponseJob;
+
#include "flx.h"
#include "iface.h"
+#include "prioq.h"
+#include "llist.h"
+#include "timeeventq.h"
struct _flxEntry {
- flxRecord rr;
+ flxRecord *record;
gint id;
gint interface;
+ guchar protocol;
- int unique;
+ gboolean unique;
- struct _flxEntry *next, *prev;
- struct _flxEntry *next_by_name, *prev_by_name;
- struct _flxEntry *next_by_id, *prev_by_id;
+ FLX_LLIST_FIELDS(flxEntry, entry);
+ FLX_LLIST_FIELDS(flxEntry, by_name);
+ FLX_LLIST_FIELDS(flxEntry, by_id);
};
-typedef struct _flxEntry flxEntry;
+struct _flxResponseJob {
+ flxTimeEvent *time_event;
+ flxRecord *record;
+ FLX_LLIST_FIELDS(flxResponseJob, response);
+};
struct _flxServer {
GMainContext *context;
GHashTable *rrset_by_id;
GHashTable *rrset_by_name;
- flxEntry *entries;
+ FLX_LLIST_HEAD(flxEntry, entries);
+
+ flxTimeEventQueue *time_event_queue;
+
+ gchar *hostname;
+
+ gint fd_ipv4, fd_ipv6;
};
+
#endif