summaryrefslogtreecommitdiffstats
path: root/strlst.h
blob: ca09fba7071a2cbac1002ef8a7ddff6cbc0002d5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#ifndef footxtlisthfoo
#define footxtlisthfoo

#include <glib.h>

typedef struct _flxStringList flxStringList;

struct _flxStringList {
    flxStringList *next;
    guint size;
    guint8 text[1];
};

flxStringList *flx_string_list_new(const gchar *txt, ...);
flxStringList *flx_string_list_new_va(va_list va);

void flx_string_list_free(flxStringList *l);

flxStringList *flx_string_list_add(flxStringList *l, const gchar *text);
flxStringList *flx_string_list_add_arbitrary(flxStringList *l, const guint8 *text, guint size);
flxStringList *flx_string_list_add_many(flxStringList *r, ...);
flxStringList *flx_string_list_add_many_va(flxStringList *r, va_list va);

gchar* flx_string_list_to_string(flxStringList *l);

guint flx_string_list_serialize(flxStringList *l, gpointer data, guint size);
flxStringList *flx_string_list_parse(gconstpointer data, guint size);

gboolean flx_string_list_equal(flxStringList *a, flxStringList *b);

flxStringList *flx_string_list_copy(flxStringList *l);

#endif