Home | History | Annotate | Download | only in util

Lines Matching refs:sock

110 NEOERR *ne_net_accept(NSOCK **sock, int sfd, int data_timeout)
143 *sock = my_sock;
149 NEOERR *ne_net_connect(NSOCK **sock, const char *host, int port,
277 *sock = my_sock;
282 NEOERR *ne_net_close(NSOCK **sock)
286 if (sock == NULL || *sock == NULL) return STATUS_OK;
287 err = ne_net_flush(*sock);
288 close((*sock)->fd);
289 free((*sock));
290 *sock = NULL;
306 static NEOERR *ne_net_fill(NSOCK *sock)
316 if (sock->ol)
318 err = ne_net_flush(sock);
330 if (sock->conn_timeout)
332 tv.tv_sec = sock->conn_timeout;
333 sock->conn_timeout = 0;
337 tv.tv_sec = sock->data_timeout;
342 FD_SET(sock->fd, &fds);
344 r = select(sock->fd+1, &fds, NULL, NULL, &tv);
354 sock->ibuf[0] = '\0';
355 r = read(sock->fd, sock->ibuf, NET_BUFSIZE);
361 sock->ib = 0;
362 sock->il = r;
367 NEOERR *ne_net_flush(NSOCK *sock)
374 if (sock->conn_timeout)
376 tv.tv_sec = sock->conn_timeout;
380 tv.tv_sec = sock->data_timeout;
385 while (x < sock->ol)
388 FD_SET(sock->fd, &fds);
390 r = select(sock->fd+1, NULL, &fds, NULL, &tv);
400 r = write(sock->fd, sock->obuf + x, sock->ol - x);
407 sock->ol = 0;
412 NEOERR *ne_net_read(NSOCK *sock, UINT8 *buf, int buflen)
421 if (sock->il - sock->ib > 0)
423 if (sock->ib + x <= sock->il)
426 l = sock->il - sock->ib;
428 memcpy(buf + buflen - x, sock->ibuf + sock->ib, l);
429 sock->ib += l;
434 err = ne_net_fill(sock);
436 if (sock->il == 0) return STATUS_OK;
442 NEOERR *ne_net_read_line(NSOCK *sock, char **buf)
453 if (sock->il - sock->ib > 0)
455 nl = memchr(sock->ibuf + sock->ib, '\n', sock->il - sock->ib);
458 l = sock->il - sock->ib;
459 err = string_appendn(&str, (char *)(sock->ibuf + sock->ib), l);
460 sock->ib += l;
465 l = nl - (sock->ibuf + sock->ib);
466 err = string_appendn(&str, (char *)(sock->ibuf + sock->ib), l);
467 sock->ib += l;
476 err = ne_net_fill(sock);
478 if (sock->il == 0) return STATUS_OK;
485 static NEOERR *_ne_net_read_int(NSOCK *sock, int *i, char end)
494 while (sock->il - sock->ib > 0)
496 buf[x] = sock->ibuf[sock->ib++];
502 err = ne_net_fill(sock);
504 if (sock->il == 0) return STATUS_OK;
520 NEOERR *ne_net_read_binary(NSOCK *sock, UINT8 **b, int *blen)
527 err = _ne_net_read_int(sock, &l, ':');
546 err = ne_net_read(sock, data, l);
553 err = ne_net_read(sock, buf, 1);
570 NEOERR *ne_net_read_str_alloc(NSOCK *sock, char **s, int *len)
576 err = ne_net_read_binary(sock, (UINT8 **)s, &l);
587 NEOERR *ne_net_read_int(NSOCK *sock, int *i)
589 return nerr_pass(_ne_net_read_int(sock, i, ','));
592 NEOERR *ne_net_write(NSOCK *sock, const char *b, int blen)
601 if (sock->ol < NET_BUFSIZE)
603 if (sock->ol + x <= NET_BUFSIZE)
609 l = NET_BUFSIZE - sock->ol;
612 memcpy(sock->obuf + sock->ol, b + blen - x, l);
613 sock->ol += l;
618 err = ne_net_flush(sock);
625 NEOERR *ne_net_write_line(NSOCK *sock, const char *s)
629 err = ne_net_write(sock, s, strlen(s));
631 err = ne_net_write(sock, "\n", 1);
636 NEOERR *ne_net_write_binary(NSOCK *sock, const char *b, int blen)
644 err = ne_net_write(sock, buf, strlen(buf));
649 err = ne_net_write(sock, b, blen);
653 err = ne_net_write(sock, ",", 1);
658 NEOERR *ne_net_write_str(NSOCK *sock, const char *s)
663 err = ne_net_write_binary(sock, s, -1);
665 err = ne_net_write_binary(sock, s, strlen(s));
669 NEOERR *ne_net_write_int(NSOCK *sock, int i)
674 return nerr_pass(ne_net_write(sock, buf, strlen(buf)));