diff options
author | Alejandro Colomar <colomar.6.4.3@gmail.com> | 2020-02-28 19:48:23 +0100 |
---|---|---|
committer | Alejandro Colomar <colomar.6.4.3@gmail.com> | 2020-02-28 19:48:23 +0100 |
commit | 54d32951da94e11e5e6fe76917b052a462326e8e (patch) | |
tree | 522d7d396fbf5d9d7cba40e4ebf44df0a468a46d | |
parent | 3c716f4134ca2c5be0dd4d98bb9ec5c979c94148 (diff) |
Improve robrob_0.2.2
-rw-r--r-- | rob/rob.c | 45 |
1 files changed, 40 insertions, 5 deletions
@@ -1,5 +1,12 @@ +/****************************************************************************** + * Copyright (C) 2020 Alejandro Colomar Andrés * + * SPDX-License-Identifier: GPL-2.0-only * + ******************************************************************************/ +/****************************************************************************** + ******* include ************************************************************** + ******************************************************************************/ #include <stdbool.h> #include <stdio.h> #include <stdlib.h> @@ -15,6 +22,9 @@ #include "libalx/extra/telnet-tcp/client/client.h" +/****************************************************************************** + ******* define *************************************************************** + ******************************************************************************/ #define ROBOT_ADDR "robot" #define ROBOT_PORT "23" #define ROBOT_USER "user" @@ -27,9 +37,25 @@ #define DELAY_US (10 * 1000) +/****************************************************************************** + ******* enum ***************************************************************** + ******************************************************************************/ + + +/****************************************************************************** + ******* struct / union ******************************************************* + ******************************************************************************/ + + +/****************************************************************************** + ******* static functions (prototypes) **************************************** + ******************************************************************************/ void cam_session (int cam, FILE *telnet); +/****************************************************************************** + ******* main ***************************************************************** + ******************************************************************************/ int main (void) { FILE *telnet; @@ -59,10 +85,11 @@ int main (void) cam_addr_len = sizeof(cam_addr); while (true) { - usleep(DELAY_US); cam = accept(tcp, (struct sockaddr *)&cam_addr, &cam_addr_len); - if (cam < 0) + if (cam < 0) { + usleep(DELAY_US); continue; + } cam_session(cam, telnet); close(cam); @@ -80,6 +107,10 @@ out0: return status; } + +/****************************************************************************** + ******* static functions (definitions) *************************************** + ******************************************************************************/ void cam_session (int cam, FILE *telnet) { static int i = 0; @@ -88,16 +119,20 @@ void cam_session (int cam, FILE *telnet) i++; while (true) { - usleep(DELAY_US); n = read(cam, buf, ARRAY_SIZE(buf) - 1); if (n < 0) return; buf[n] = 0; - if (telnet_send(telnet, buf)) - return; if (!n) return; + if (telnet_send(telnet, buf)) + return; + usleep(DELAY_US); } } +/****************************************************************************** + ******* end of file ********************************************************** + ******************************************************************************/ + |