Ported interfacing modules to new socket API.
[doldaconnect.git] / daemon / transfer.c
index d5b03e1..433ceb1 100644 (file)
@@ -26,6 +26,7 @@
 #include <grp.h>
 #include <errno.h>
 #include <sys/wait.h>
+#include <stdint.h>
 
 #ifdef HAVE_CONFIG_H
 #include <config.h>
@@ -234,7 +235,7 @@ static void transexpire(int cancelled, struct transfer *transfer)
 static void transferread(struct socket *sk, struct transfer *transfer)
 {
     if(sockgetdatalen(sk) >= 65536)
-       sk->ignread = 1;
+       sockblock(sk, 1);
     if((transfer->iface != NULL) && (transfer->iface->gotdata != NULL))
        transfer->iface->gotdata(transfer, transfer->ifacedata);
 }
@@ -286,7 +287,7 @@ void *transfergetdata(struct transfer *transfer, size_t *size)
     
     if(transfer->localend == NULL)
        return(NULL);
-    transfer->localend->ignread = 0;
+    sockblock(transfer->localend, 0);
     time(&transfer->activity);
     if((buf = sockgetinbuf(transfer->localend, size)) == NULL)
        return(NULL);
@@ -310,7 +311,7 @@ void transferprepul(struct transfer *transfer, off_t size, off_t start, off_t en
     transfersetsize(transfer, size);
     transfer->curpos = start;
     transfer->endpos = end;
-    lesk->ignread = 1;
+    sockblock(lesk, 1);
     transfersetlocalend(transfer, lesk);
 }
 
@@ -325,7 +326,7 @@ void transferstartul(struct transfer *transfer, struct socket *sk)
     transfersetstate(transfer, TRNS_MAIN);
     socksettos(sk, confgetint("transfer", "ultos"));
     if(transfer->localend != NULL)
-       transfer->localend->ignread = 0;
+       sockblock(transfer->localend, 0);
 }
 
 void transfersetlocalend(struct transfer *transfer, struct socket *sk)
@@ -715,7 +716,7 @@ int forkfilter(struct transfer *transfer)
      * the fd, and thus it closes it. Until I can find out whyever the
      * kernel gives a POLLIN on the fd (if I can at all...), I'll just
      * set ignread on insock for now. */
-    insock->ignread = 1;
+    sockblock(insock, 1);
     transfer->filter = pid;
     transfersetlocalend(transfer, insock);
     getsock(transfer->filterout = outsock);