1 #ifndef fooflxserverhfoo
2 #define fooflxserverhfoo
8 typedef struct _flxEntry flxEntry;
17 flxEntry *next, *prev;
18 flxEntry *next_by_name, *prev_by_name;
19 flxEntry *next_by_id, *prev_by_id;
22 typedef struct _flxQueryJob {
27 struct _flxQueryJobInstance;
28 typedef struct _flxQueryJobInstance flxQueryJobInstance;
29 struct _flxQueryJobInstance {
33 flxQueryJobInstance *next, *prev;
36 typedef struct _flxResponseJob {
41 struct _flxResponseJobInstance;
42 typedef struct _flxResponseJobInstance flxResponseJobInstance;
43 struct _flxResponseJobInstance {
47 flxResponseJob *next, *prev;
51 GMainContext *context;
52 flxInterfaceMonitor *monitor;
56 GHashTable *rrset_by_id;
57 GHashTable *rrset_by_name;
61 flxResponseJobInstance *first_response_job, *last_response_job;
62 flxQueryJobInstance *first_query_job, *last_query_job;
65 flxQueryJob* flx_query_job_new(void);
66 flxQueryJob* flx_query_job_ref(flxQueryJob *job);
67 void flx_query_job_unref(flxQueryJob *job);
69 void flx_server_post_query_job(flxServer *s, gint interface, guchar protocol, const flxQuery *q);
70 void flx_server_drop_query_job(flxServer *s, gint interface, guchar protocol, const flxQuery *q);
72 void flx_server_remove_query_job_instance(flxServer *s, flxQueryJobInstance *i);
74 gboolean flx_query_equal(const flxQuery *a, const flxQuery *b);