]> git.meshlink.io Git - catta/blob - flx.h
* add todo list
[catta] / flx.h
1 #ifndef fooflxhfoo
2 #define fooflxhfoo
3
4 #include <stdio.h>
5 #include <glib.h>
6
7 struct _flxServer;
8 typedef struct _flxServer flxServer;
9
10 #include "address.h"
11 #include "rr.h"
12
13 flxServer *flx_server_new(GMainContext *c);
14 void flx_server_free(flxServer* s);
15
16 gint flx_server_get_next_id(flxServer *s);
17
18 void flx_server_add(
19     flxServer *s,
20     gint id,
21     gint interface,
22     guchar protocol,
23     gboolean unique,
24     flxRecord *r);
25
26 void flx_server_add_full(
27     flxServer *s,
28     gint id,
29     gint interface,
30     guchar protocol,
31     gboolean unique,
32     const gchar *name,
33     guint16 class,
34     guint16 type,
35     gconstpointer data,
36     guint size,
37     guint32 ttl);
38
39 void flx_server_add_address(
40     flxServer *s,
41     gint id,
42     gint interface,
43     guchar protocol,
44     gboolean unique,
45     const gchar *name,
46     flxAddress *a);
47
48 void flx_server_add_text(
49     flxServer *s,
50     gint id,
51     gint interface,
52     guchar protocol,
53     gboolean unique,
54     const gchar *name,
55     const gchar *text);
56
57 void flx_server_remove(flxServer *s, gint id);
58
59 void flx_server_post_query(flxServer *s, gint interface, guchar protocol, flxKey *key);
60 void flx_server_post_response(flxServer *s, gint interface, guchar protocol, flxRecord *record);
61
62 const flxRecord *flx_server_iterate(flxServer *s, gint id, void **state);
63
64 void flx_server_dump(flxServer *s, FILE *f);
65
66 #endif