-/**
- *
- *
- * 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);
-};
-
-
-/** \cond */
-extern void http_recv_init(struct receiver *r);
-#define HTTP_RECEIVER {.name = "http", .init = http_recv_init},
-extern void dccp_recv_init(struct receiver *r);
-#define DCCP_RECEIVER {.name = "dccp", .init = dccp_recv_init},
-
-#ifdef HAVE_ORTP
-extern void ortp_recv_init(struct receiver *r);
-#define ORTP_RECEIVER {.name = "ortp", .init = ortp_recv_init},
-#else
-#define ORTP_RECEIVER
-#endif
+ /**
+ * 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);