+
+ /**
+ * Whenever a chunk of data comes in, it will be passed to the
+ * output module via this function. The <code>data_in</code> and
+ * <code>length_in</code> values refers to this data; the module
+ * must not alter or g_free() this buffer.
+ *
+ * The function must allocate a buffer for storing its output, and
+ * pass along a pointer to this buffer in the <code>data_out</code>
+ * parameter, as well as storing the length of the buffer in
+ * <code>length_out</code>. The calling frontend will g_free()
+ * this buffer when it's done with it.
+ *
+ * IMPORTANT: The memory allocation much happen using a glib memory
+ * allocation call (not a "normal" malloc) since g_free() will be
+ * used to free the memory!
+ *
+ * If there is no output, this function MUST store NULL in the
+ * <code>data_out</code> parameter, so the caller knows not to try
+ * and g_free() it.
+ *
+ * Note: This API call is obsolete, use receive() instead.
+ *
+ * @param o Pointer to the respective 'struct sr_output'.
+ * @param data_in Pointer to the input data buffer.
+ * @param length_in Length of the input.
+ * @param data_out Pointer to the allocated output buffer.
+ * @param length_out Length (in bytes) of the output.
+ *
+ * @return SR_OK upon success, a negative error code otherwise.
+ */