-/*
- * Copyright (C) 2006 Andre Noll <maan@systemlinux.org>
- *
- * Licensed under the GPL v2. For licencing details see COPYING.
- */
+/* Copyright (C) 2006 Andre Noll <maan@tuebingen.mpg.de>, see file COPYING. */
/** \file grab_client.h exported symbols from grab_client.c */
-#include "config.h"
-
-/**
- * How to handle blocking writes for the grab client fds.
- */
-enum grab_mode {
- /** Ignore the data and do not write. */
- GM_SLOPPY,
- /** Write anyway (default). */
- GM_AGGRESSIVE,
- /** Close fd if write would block. */
- GM_PEDANTIC,
-};
-
-/** Flags specified as arguments to the grab command. */
-enum grab_flags {
- /** Grab the filter input instead of its output. */
- GF_INPUT_GRAB = 1,
- /** Stop grabbing if audio file changes. */
- GF_ONE_SHOT = 2,
-};
-
-/**
- * Describes one active grab client.
- *
- * \sa filter_callback, filter_node::callbacks.
- */
-struct grab_client {
- /** The file descriptor to send the grabbed stream to. */
- int fd;
- /** Non-zero if the write() to \a fd failed. */
- int error;
- /** See \ref grab_mode. */
- enum grab_mode mode;
- /** Point of filter chain to grab. */
- int32_t filter_num;
- /** The number of the desired audio format. */
- int audio_format_num;
- /** Flags given at the command line. */
- enum grab_flags flags;
- /** The callback data which gets attached to a suitable filter_node. */
- struct filter_callback fcb;
- /** All grab clients belong either to a filter node or to the inactive list. */
- struct list_head node;
-};
-
-int grab_client_new(int fd, int argc, char **argv);
-void activate_inactive_grab_clients(int audio_format_num,
- struct filter_chain *fc);
-void activate_grab_client(struct grab_client *gc, struct filter_node *fn);
-void init_grabbing(void);
+int grab_client_new(int fd, struct lls_parse_result *lpr, struct sched *s);
+void activate_grab_clients(struct sched *s);