-/**
- * deactivate the receiver
- *
- * Clean up what init has allocated.
- */
- void (*shutdown)(void);
-/**
- * add file descriptors to fd_sets and compute timeout for select(2)
- *
- * The pre_select function gets called from the driving application before
- * entering its select loop. The receiver may use this hook to add any file
- * descriptors to the sets of file descriptors given by \a s.
- *
- * \sa select(2), time.c struct task, struct sched
- */
- void (*pre_select)(struct sched *s, struct task *t);
-/**
- * evaluate the result from select()
- *
- * This hook gets called after the call to select(). It should check all file
- * descriptors which were added to any of the the fd sets during the previous
- * call to pre_select. According to the result, it may then use any
- * non-blocking I/O to establish a connection or to receive the audio data.
- *
- * \sa select(2), struct receiver
- */
- void (*post_select)(struct sched *s, struct task *t);
+ /**
+ * Add file descriptors to fd_sets and compute timeout for select(2).
+ *
+ * The pre_select function gets called from the driving application
+ * before entering its select loop. The receiver may use this hook to
+ * add any file descriptors to the sets of file descriptors given by \a
+ * s.
+ *
+ * \sa select(2), time.c struct task, struct sched.
+ */
+ void (*pre_select)(struct sched *s, void *context);
+ /**
+ * Evaluate the result from select().
+ *
+ * This hook gets called after the call to select(). It should check
+ * all file descriptors which were added to any of the fd sets during
+ * the previous call to pre_select. According to the result, it may
+ * then use any non-blocking I/O to establish a connection or to
+ * receive the audio data.
+ *
+ * \sa select(2), struct receiver.
+ */
+ int (*post_select)(struct sched *s, void *context);
+
+ /** The two help texts of this receiver. */
+ struct ggo_help help;
+ /**
+ * Answer a buffer tree query.
+ *
+ * This optional function pointer is used for inter node communications
+ * of the buffer tree nodes. See \ref btr_command_handler for details.
+ */
+ btr_command_handler execute;