-/*
- * 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 {
- /** Stop grabbing if audio file changes. */
- GF_ONE_SHOT = 1,
-};
-
-/** Describes one active grab client. */
-struct grab_client {
- /* The value of the -p option. */
- char *parent;
- /** The file descriptor to send the grabbed stream to. */
- int fd;
- /** See \ref grab_mode. */
- enum grab_mode mode;
- /** Flags given at the command line. */
- enum grab_flags flags;
- /** The point of the grab client's node in the buffer tree. */
- struct btr_node *btrn;
- /* The task of this grab client. */
- struct task task;
- /** 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_grab_clients(void);
-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);