]> arthur.barton.de Git - netatalk.git/blob - etc/afpd/afp_avahi.h
Merge branch-2-1
[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 #include "afp_config.h"
26
27 #define AFP_DNS_SERVICE_TYPE "_afpovertcp._tcp"
28 #define ADISK_SERVICE_TYPE "_adisk._tcp"
29
30 #define MAXINSTANCENAMELEN 63
31
32 struct context {
33         /* Avahi stuff */
34   int               thread_running;
35   AvahiThreadedPoll *threaded_poll;
36   AvahiClient       *client;
37   AvahiEntryGroup   *group;
38         /* Netatalk stuff */
39         const AFPConfig   *configs;
40 };
41
42 /* prototype definitions */
43 void av_zeroconf_setup(const AFPConfig *configs);
44 int av_zeroconf_run(void);
45 int av_zeroconf_unregister(void);
46 void av_zeroconf_shutdown(void);
47
48 #endif   /* AFPD_AVAHI_H */