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
27struct context {
28	/* Avahi stuff */
29  int               thread_running;
30  AvahiThreadedPoll *threaded_poll;
31  AvahiClient       *client;
32  AvahiEntryGroup   *group;
33	/* Netatalk stuff */
34	const AFPConfig   *configs;
35};
36
37/* prototype definitions */
38void av_zeroconf_register(const AFPConfig *configs);
39int av_zeroconf_unregister(void);
40
41#endif   /* AFPD_AVAHI_H */
42