/*
- * Copyright (C) 2005-2009 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2010 Andre Noll <maan@systemlinux.org>
*
* Licensed under the GPL v2. For licencing details see COPYING.
*/
struct receiver_node {
/** Points to the corresponding receiver. */
struct receiver *receiver;
- /** The output buffer. */
- char *buf;
- /** The amount of bytes in \a buf. */
- size_t loaded;
/** Receiver-specific data. */
void *private_data;
- /** Pointer to the error member of the consumer. */
- int *output_error;
/** Pointer to the configuration data for this instance. */
void *conf;
/** The task associated with this instance. */
struct task task;
/** The receiver node is always the root of the buffer tree. */
- struct btr_node *btr_root;
+ struct btr_node *btrn;
};
/**
* \a argc and \a argv.
*/
void *(*parse_config)(int argc, char **argv);
+ void (*free_config)(void *conf);
/**
* Open one instance of the receiver.
*
* \sa receiver_node.
*/
void (*close)(struct receiver_node *rn);
- /**
- * Deactivate the receiver.
- *
- * Clean up what init has allocated.
- */
- void (*shutdown)(void);
/**
* Add file descriptors to fd_sets and compute timeout for select(2).
*
void recv_init(void);
void *check_receiver_arg(char *ra, int *receiver_num);
void print_receiver_helps(int detailed);
+int generic_recv_pre_select(struct sched *s, struct task *t);