SCM_GLOBAL_SMOB (scm_tc16_avahi_poll, "poll", 0);
SCM_SMOB_FREE (scm_tc16_avahi_poll, poll_free, obj)
{
  AvahiPoll * c_obj;
  c_obj = (AvahiPoll *) SCM_SMOB_DATA (obj);
  scm_avahi_nop (c_obj);
  return 0;
}
SCM_DEFINE (scm_avahi_poll_p, "poll?", 1, 0, 0,
            (SCM obj),
            "Return true if @var{obj} is of type @code{poll}.")
#define FUNC_NAME s_scm_avahi_poll_p
{
  return (scm_from_bool (SCM_SMOB_PREDICATE (scm_tc16_avahi_poll, obj)));
}
#undef FUNC_NAME
SCM_GLOBAL_SMOB (scm_tc16_avahi_simple_poll, "simple-poll", 0);
SCM_SMOB_FREE (scm_tc16_avahi_simple_poll, simple_poll_free, obj)
{
  AvahiSimplePoll * c_obj;
  c_obj = (AvahiSimplePoll *) SCM_SMOB_DATA (obj);
  avahi_simple_poll_free (c_obj);
  return 0;
}
SCM_DEFINE (scm_avahi_simple_poll_p, "simple-poll?", 1, 0, 0,
            (SCM obj),
            "Return true if @var{obj} is of type @code{simple-poll}.")
#define FUNC_NAME s_scm_avahi_simple_poll_p
{
  return (scm_from_bool (SCM_SMOB_PREDICATE (scm_tc16_avahi_simple_poll, obj)));
}
#undef FUNC_NAME
SCM_GLOBAL_SMOB (scm_tc16_avahi_guile_poll, "guile-poll", 0);
SCM_SMOB_FREE (scm_tc16_avahi_guile_poll, guile_poll_free, obj)
{
  AvahiGuilePoll * c_obj;
  c_obj = (AvahiGuilePoll *) SCM_SMOB_DATA (obj);
  avahi_guile_poll_free (c_obj);
  return 0;
}
SCM_DEFINE (scm_avahi_guile_poll_p, "guile-poll?", 1, 0, 0,
            (SCM obj),
            "Return true if @var{obj} is of type @code{guile-poll}.")
#define FUNC_NAME s_scm_avahi_guile_poll_p
{
  return (scm_from_bool (SCM_SMOB_PREDICATE (scm_tc16_avahi_guile_poll, obj)));
}
#undef FUNC_NAME
SCM_GLOBAL_SMOB (scm_tc16_avahi_threaded_poll, "threaded-poll", 0);
SCM_SMOB_FREE (scm_tc16_avahi_threaded_poll, threaded_poll_free, obj)
{
  AvahiThreadedPoll * c_obj;
  c_obj = (AvahiThreadedPoll *) SCM_SMOB_DATA (obj);
  avahi_threaded_poll_free (c_obj);
  return 0;
}
SCM_DEFINE (scm_avahi_threaded_poll_p, "threaded-poll?", 1, 0, 0,
            (SCM obj),
            "Return true if @var{obj} is of type @code{threaded-poll}.")
#define FUNC_NAME s_scm_avahi_threaded_poll_p
{
  return (scm_from_bool (SCM_SMOB_PREDICATE (scm_tc16_avahi_threaded_poll, obj)));
}
#undef FUNC_NAME
SCM_GLOBAL_SMOB (scm_tc16_avahi_watch, "watch", 0);
SCM_SMOB_FREE (scm_tc16_avahi_watch, watch_free, obj)
{
  AvahiWatch * c_obj;
  c_obj = (AvahiWatch *) SCM_SMOB_DATA (obj);
  free (c_obj);
  return 0;
}
SCM_DEFINE (scm_avahi_watch_p, "watch?", 1, 0, 0,
            (SCM obj),
            "Return true if @var{obj} is of type @code{watch}.")
#define FUNC_NAME s_scm_avahi_watch_p
{
  return (scm_from_bool (SCM_SMOB_PREDICATE (scm_tc16_avahi_watch, obj)));
}
#undef FUNC_NAME
SCM_GLOBAL_SMOB (scm_tc16_avahi_timeout, "timeout", 0);
SCM_SMOB_FREE (scm_tc16_avahi_timeout, timeout_free, obj)
{
  AvahiTimeout * c_obj;
  c_obj = (AvahiTimeout *) SCM_SMOB_DATA (obj);
  free (c_obj);
  return 0;
}
SCM_DEFINE (scm_avahi_timeout_p, "timeout?", 1, 0, 0,
            (SCM obj),
            "Return true if @var{obj} is of type @code{timeout}.")
#define FUNC_NAME s_scm_avahi_timeout_p
{
  return (scm_from_bool (SCM_SMOB_PREDICATE (scm_tc16_avahi_timeout, obj)));
}
#undef FUNC_NAME
