Update of /cvsroot/dhcp-agent/dhcp-agent/src
In directory sc8-pr-cvs1:/tmp/cvs-serv2683/src
Modified Files:
dhcp-net.c
Log Message:
added tcp routines
Index: dhcp-net.c
===================================================================
RCS file: /cvsroot/dhcp-agent/dhcp-agent/src/dhcp-net.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** dhcp-net.c 17 Jul 2003 00:21:38 -0000 1.3
--- dhcp-net.c 17 Jul 2003 13:18:10 -0000 1.4
***************
*** 117,118 ****
--- 117,164 ----
return 0;
}
+
+ /* read a line in from a tcp socket. */
+ char *tcp_sock_read_line(int sock)
+ {
+ stringbuffer_t *sb;
+ char c;
+ int retval;
+ char *line;
+
+ sb = stringbuffer_create();
+
+ while(1) {
+
+ retval = recv(sock, &c, 1 , 0);
+ if(retval == -1) {
+ stringbuffer_destroy(sb);
+ return NULL;
+ }
+
+ if(c != '\n') {
+
+ stringbuffer_append_c(sb, c);
+
+ } else {
+
+ /* we're done. */
+ line = xstrdup(stringbuffer_getstring(sb));
+ stringbuffer_destroy(sb);
+ return line;
+ }
+ }
+ }
+
+ /* write a line to a tcp socket. */
+ int tcp_sock_write_line(int sock, const char *line)
+ {
+ int len = strlen(line);
+
+ if(send(sock, line, len, 0) != len)
+ return 1;
+
+ if(send(sock, "\n", 1, 0) != 1)
+ return 1;
+
+ return 0;
+ }
|