]> arthur.barton.de Git - netatalk.git/blob - etc/afpd/afp_avahi.h
Cleanup
[netatalk.git] / etc / afpd / afp_avahi.h
1 /* -*- Mode: C; tab-width: 2; indent-tabs-mode: t; c-basic-offset: 2 -*- */
2 /*
3  * Author:  Daniel S. Haischt <me@daniel.stefan.haischt.name>
4  * Purpose: Avahi based Zeroconf support
5  * Docs:    http://avahi.org/download/doxygen/
6  *
7  */
8
9 #ifndef AFPD_AVAHI_H
10 #define AFPD_AVAHI_H
11
12 #include <stdlib.h>
13 #include <assert.h>
14 #include <string.h>
15
16 #include <avahi-client/client.h>
17 #include <avahi-client/publish.h>
18 #include <avahi-common/alternative.h>
19 #include <avahi-common/thread-watch.h>
20 #include <avahi-common/malloc.h>
21 #include <avahi-common/error.h>
22
23 #include <atalk/logger.h>
24
25 #define AFP_DNS_SERVICE_TYPE "_afpovertcp._tcp"
26
27 struct context {
28   int thread_running;
29   pthread_t thread_id;
30   pthread_mutex_t mutex;
31   char *name;
32   AvahiThreadedPoll *threaded_poll;
33   AvahiClient       *client;
34   AvahiEntryGroup   *group;
35   unsigned long     port;
36 };
37
38 /* prototype definitions */
39 void* av_zeroconf_setup(unsigned long, const char *);
40 int av_zeroconf_run(void*);
41 int av_zeroconf_unregister(void*);
42 void av_zeroconf_shutdown(void*);
43
44 #endif   /* AFPD_AVAHI_H */