* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*/
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*/
* the receiver init function
*
* It must fill in all other function pointers and is assumed to succeed.
* the receiver init function
*
* It must fill in all other function pointers and is assumed to succeed.
* the command line parser of the receiver
*
* It should check whether the command line options given by \a argc and \a
* the command line parser of the receiver
*
* It should check whether the command line options given by \a argc and \a
* receiver-specific configuration data determined by \a argc and \a argv.
* Note that this might be called more than once with different values of
* \a argc and \a argv.
* receiver-specific configuration data determined by \a argc and \a argv.
* Note that this might be called more than once with different values of
* \a argc and \a argv.
* open one instance of the receiver
*
* This should allocate the output buffer of \a rn. and may also perform any
* open one instance of the receiver
*
* This should allocate the output buffer of \a rn. and may also perform any
*
* It should free all resources associated with given receiver node that were
* allocated during the corresponding open call.
*
* It should free all resources associated with given receiver node that were
* allocated during the corresponding open call.
* 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.
*
* 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);
/**
* \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
* evaluate the result from select()
*
* This hook gets called after the call to select(). It should check all file
* 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.
*
* 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);
* \sa select(2), struct receiver
*/
void (*post_select)(struct sched *s, struct task *t);