Define XOPEN_SOURCE and __EXTENSIONS__ on Solaris.
[paraslash.git] / send.h
diff --git a/send.h b/send.h
index f7198ed7df94f5b3c4491f15656a6f4649fea5b4..94d14cf8d01bd8ac8c30c4e92720b2982abd0fe3 100644 (file)
--- a/send.h
+++ b/send.h
@@ -17,7 +17,7 @@ struct sender {
  * the init function of this sender
  *
  * It must fill in all function pointers of \a s as well as the \a client_cmds
- * array, see below. It should also do all neccessary preparations to init
+ * array, see below. It should also do all necessary preparations to init
  * this sending facility, for example it could open a tcp port.
  */
        void (*init)(struct sender *s);
@@ -45,8 +45,8 @@ struct sender {
  * command. Of course, \a buf is a pointer to the chunk of data which
  * should be sent, and \a len is the length of this buffer.
 */
-       void (*send)(struct audio_format_handler *af, long unsigned current_chunk,
-               long unsigned chunks_sent, const char *buf, size_t len);
+       void (*send)(long unsigned current_chunk, long unsigned chunks_sent,
+               const char *buf, size_t len);
 /** add file descriptors to fd_sets
  *
  * The pre_select function of each supported sender is called just before
@@ -54,12 +54,11 @@ struct sender {
  * file descriptors to the \a rfds or the \a wfds set.
  *
  * If a file descriptor was added, \a max_fileno must be increased by
- * this function, if neccessary.
+ * this function, if necessary.
  *
  * \sa select(2)
 */
-       void (*pre_select)(struct audio_format_handler *af, int *max_fileno, fd_set *rfds,
-               fd_set *wfds);
+       void (*pre_select)(int *max_fileno, fd_set *rfds, fd_set *wfds);
 /**
  * handle the file descriptors which are ready for I/O
  *
@@ -67,7 +66,7 @@ struct sender {
  * set, this is the hook to check the result and do any I/O on those descriptors
  * which are ready for reading/writing.
  */
-       void (*post_select)(struct audio_format_handler *af, fd_set *rfds, fd_set *wfds);
+       void (*post_select)(fd_set *rfds, fd_set *wfds);
 /**
  * terminate all connected clients
  *
@@ -79,31 +78,9 @@ struct sender {
  * array of function pointers for the sender subcommands
  *
  * Each sender may implement any subset of the sender commands by filling in
- * the aprropriate function pointer in the array. A \p NULL pointer means this
+ * the appropriate function pointer in the array. A \p NULL pointer means this
  * command is not implemented by this sender.
  */
        int (*client_cmds[NUM_SENDER_CMDS])(struct sender_command_data*);
 };
 
-/**
- * check a file descriptor for writability
- *
- * \param fd the file desctiptor
- *
- * \return positive if fd is ready for writing, zero if it isn't, negative if
- * an error occured.
- */
-
-static inline int write_ok(int fd)
-{
-       struct timeval tv = {0, 0};
-       fd_set wfds;
-       int ret;
-again:
-       FD_ZERO(&wfds);
-       FD_SET(fd, &wfds);
-       ret = select(fd + 1, NULL, &wfds, NULL, &tv);
-       if (ret < 0 && errno == EINTR)
-               goto again;
-       return ret;
-}