diff options
author | Lennart Poettering <lennart@poettering.net> | 2005-05-05 22:22:19 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2005-05-05 22:22:19 +0000 |
commit | f081d098f67561bdcfedf5002335fa32d45e0442 (patch) | |
tree | 1de6f329fdd1a9bfe45acbc63843068200bd9fe6 | |
parent | f4363e3d7ccbb0f477df26401c3bfdd797d57a50 (diff) |
* add flx_server_add_service_strlst()
* add flx_server_add_text_strlst()
git-svn-id: file:///home/lennart/svn/public/avahi/trunk@42 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
-rw-r--r-- | flx.h | 21 | ||||
-rw-r--r-- | server.c | 46 | ||||
-rw-r--r-- | todo | 6 |
3 files changed, 62 insertions, 11 deletions
@@ -82,6 +82,15 @@ void flx_server_add_text_va( const gchar *name, va_list va); +void flx_server_add_text_strlst( + flxServer *s, + flxEntryGroup *g, + gint interface, + guchar protocol, + flxEntryFlags flags, + const gchar *name, + flxStringList *strlst); + void flx_server_add_service( flxServer *s, flxEntryGroup *g, @@ -106,6 +115,18 @@ void flx_server_add_service_va( guint16 port, va_list va); +void flx_server_add_service_strlst( + flxServer *s, + flxEntryGroup *g, + gint interface, + guchar protocol, + const gchar *type, + const gchar *name, + const gchar *domain, + const gchar *host, + guint16 port, + flxStringList *strlst); + typedef enum { FLX_SUBSCRIPTION_NEW, FLX_SUBSCRIPTION_REMOVE, @@ -717,25 +717,39 @@ void flx_server_add_address( g_free(n); } -void flx_server_add_text_va( +void flx_server_add_text_strlst( flxServer *s, flxEntryGroup *g, gint interface, guchar protocol, flxEntryFlags flags, const gchar *name, - va_list va) { + flxStringList *strlst) { flxRecord *r; g_assert(s); r = flx_record_new_full(name ? name : s->hostname, FLX_DNS_CLASS_IN, FLX_DNS_TYPE_TXT); - r->data.txt.string_list = flx_string_list_new_va(va); + r->data.txt.string_list = strlst; flx_server_add(s, g, interface, protocol, flags, r); flx_record_unref(r); } +void flx_server_add_text_va( + flxServer *s, + flxEntryGroup *g, + gint interface, + guchar protocol, + flxEntryFlags flags, + const gchar *name, + va_list va) { + + g_assert(s); + + flx_server_add_text_strlst(s, g, interface, protocol, flags, name, flx_string_list_new_va(va)); +} + void flx_server_add_text( flxServer *s, flxEntryGroup *g, @@ -776,8 +790,7 @@ static void escape_service_name(gchar *d, guint size, const gchar *s) { *(d++) = 0; } - -void flx_server_add_service_va( +void flx_server_add_service_strlst( flxServer *s, flxEntryGroup *g, gint interface, @@ -787,7 +800,7 @@ void flx_server_add_service_va( const gchar *domain, const gchar *host, guint16 port, - va_list va) { + flxStringList *strlst) { gchar ptr_name[256], svc_name[256], ename[64], enum_ptr[256]; flxRecord *r; @@ -820,12 +833,31 @@ void flx_server_add_service_va( flx_server_add(s, g, interface, protocol, FLX_ENTRY_UNIQUE, r); flx_record_unref(r); - flx_server_add_text_va(s, g, interface, protocol, FLX_ENTRY_UNIQUE, svc_name, va); + flx_server_add_text_strlst(s, g, interface, protocol, FLX_ENTRY_UNIQUE, svc_name, strlst); snprintf(enum_ptr, sizeof(enum_ptr), "_services._dns-sd._udp.%s", domain); flx_server_add_ptr(s, g, interface, protocol, FLX_ENTRY_NULL, enum_ptr, ptr_name); } +void flx_server_add_service_va( + flxServer *s, + flxEntryGroup *g, + gint interface, + guchar protocol, + const gchar *type, + const gchar *name, + const gchar *domain, + const gchar *host, + guint16 port, + va_list va){ + + g_assert(s); + g_assert(type); + g_assert(name); + + flx_server_add_service(s, g, interface, protocol, type, name, domain, host, port, flx_string_list_new_va(va)); +} + void flx_server_add_service( flxServer *s, flxEntryGroup *g, @@ -5,12 +5,8 @@ todo: * add SRV and TXT records referenced from PTR records automatically to packet * add A and AAAA records referenced from SRV records automatically to packet -* add flx_server_add_service_strlst() and friends - * change flx_* to avahi_* - * autoconf - * release! done: @@ -27,3 +23,5 @@ done: * remove expression "rrset" from source files * defend our entries on incoming goodbye * allow NULL bytes in TXT records +* add flx_server_add_service_strlst() and friends + |