X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=daemon%2Fnet.c;h=410da9661cb7be27bbf18174674a6311c30c7da2;hb=336539c2c447adabe67af86007b630c5f17bfab1;hp=6acd2d02cb7027955562ea87a516b5553a72b8fb;hpb=8b8c3b9653427ff347d75a0d23c2824970feff50;p=doldaconnect.git diff --git a/daemon/net.c b/daemon/net.c index 6acd2d0..410da96 100644 --- a/daemon/net.c +++ b/daemon/net.c @@ -270,6 +270,23 @@ void putsock(struct socket *sk) } } +void sockpushdata(struct socket *sk, void *buf, size_t size) +{ + switch(sk->type) + { + case SOCK_STREAM: + sizebuf(&sk->inbuf.s.buf, &sk->inbuf.s.bufsize, sk->inbuf.s.datasize + size, 1, 1); + memmove(sk->inbuf.s.buf + size, sk->inbuf.s.buf, sk->inbuf.s.datasize); + memcpy(sk->inbuf.s.buf, buf, size); + sk->inbuf.s.datasize += size; + break; + case SOCK_DGRAM: + /* XXX */ + break; + } + return; +} + void *sockgetinbuf(struct socket *sk, size_t *size) { void *buf;