T_TCP
if ((T_TCP(c)->listen_sd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
dfui_debug("LISTEN_SOCKET<<%d>>\n", T_TCP(c)->listen_sd);
if (setsockopt(T_TCP(c)->listen_sd, SOL_SOCKET, SO_REUSEADDR,
if (bind(T_TCP(c)->listen_sd, (struct sockaddr *)&servaddr, sizeof(servaddr)) == -1) {
dfui_debug("BOUND_ON<<%d>>\n", T_TCP(c)->listen_sd);
if (listen(T_TCP(c)->listen_sd, 0) == -1)
dfui_debug("LISTENING_ON<<%d>>\n", T_TCP(c)->listen_sd);
close(T_TCP(c)->listen_sd);
close(T_TCP(c)->connected_sd);
fclose(T_TCP(c)->stream);
if (!T_TCP(c)->is_connected) {
dfui_debug("NOT_CONNECTED,ACCEPTING_ON<<%d>>\n", T_TCP(c)->listen_sd);
T_TCP(c)->connected_sd = accept(T_TCP(c)->listen_sd, NULL, NULL);
dfui_debug("ACCEPTED<<%d>>\n", T_TCP(c)->connected_sd);
T_TCP(c)->stream = fdopen(T_TCP(c)->connected_sd, "r+");
T_TCP(c)->is_connected = 1;
if (read_data(T_TCP(c)->stream, (char *)&length, sizeof(length)) == -1) {
fclose(T_TCP(c)->stream);
T_TCP(c)->is_connected = 0;
if (read_data(T_TCP(c)->stream, buf, length) == -1) {
fclose(T_TCP(c)->stream);
T_TCP(c)->is_connected = 0;
write_data(T_TCP(c)->stream, (char *)&length, sizeof(length));
write_data(T_TCP(c)->stream, fmsg, length);
if ((T_TCP(c)->connected_sd = socket(AF_INET, SOCK_STREAM, 0)) == -1) {
dfui_debug("CLIENT_SOCKET<<%d>>\n", T_TCP(c)->connected_sd);
if (connect(T_TCP(c)->connected_sd, (struct sockaddr *)&servaddr,
close(T_TCP(c)->connected_sd);
T_TCP(c)->stream = fdopen(T_TCP(c)->connected_sd, "r+");
close(T_TCP(c)->connected_sd);
if (c == NULL || T_TCP(c)->connected_sd == -1)
result = write_data(T_TCP(c)->stream, (char *)&length, sizeof(length));
result = write_data(T_TCP(c)->stream, (char *)fmsg, length);
result = read_data(T_TCP(c)->stream, (char *)&length, sizeof(length));
result = read_data(T_TCP(c)->stream, buf, length);
T_TCP(c)->listen_sd = -1;
T_TCP(c)->connected_sd = -1;
T_TCP(c)->is_connected = 0;
if (T_TCP(c) != NULL) {