+ /**
+ *
+ * write a chunk of audio data
+ *
+ * This is called from the writer node group task's pre_select(). It
+ * may use the sched pointer to add any file descriptors or to decrease
+ * the select timeout. It must return positive on success and negative
+ * on errors.
+ */
+ int (*pre_select)(struct sched *s, struct writer_node *wn);
+ /**
+ * Called from the post_select function of the wng task. It must keep
+ * track of the the number of bytes consumed from the wng's buffer via
+ * the wn->written variable (which may be modified by the wng handling
+ * functions). This function must return positive on success and
+ * negative on errors.
+ */
+ int (*post_select)(struct sched *s, struct writer_node *wn);
+ /**
+ * close one instance of the writer
+ *
+ * This function is assumed to succeed.
+ */