From 0925ff5f83e540479066d53ff78c937cc18cbf92 Mon Sep 17 00:00:00 2001 From: Igor Socec Date: Thu, 6 Mar 2014 08:54:35 +0100 Subject: [PATCH] handling no arguments, renamed header --- client.c | 2 +- moxerver | Bin 11318 -> 12244 bytes moxerver.c | 9 ++++++-- moxerver.h | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++ server.c | 2 +- tty.c | 2 +- 6 files changed, 71 insertions(+), 5 deletions(-) create mode 100644 moxerver.h diff --git a/client.c b/client.c index 661e67b..750294b 100644 --- a/client.c +++ b/client.c @@ -1,4 +1,4 @@ -#include "moxerver_include.h" +#include "moxerver.h" /* Closes client connection. */ diff --git a/moxerver b/moxerver index 7898d6d8c56e4c3cc169753d176dcebb11c1a7a9..cdcce1416892fa6f94fc6b2b57d7f63c1736b0ae 100755 GIT binary patch literal 12244 zcmb7K4|G(;xt~oI++u`?)JFx&tu7Q4V#ELewM`&F&;U__;sd;FvYYJUW_P=L7lMC| z;ccR>Aw8*L)u-njY^led>N~zuTd8t17)u_$*B-(gV6Pqdqg76k$S?)&{_?j(2b ziuFy-Q_c!W+RqErwWcY1wQpu4}TI90+BJ~2~F6H~=l z6p>fe2^nNr0hPv}%!^z~9&pt*@R82~W+soinPp;KWbah)kXc`pE50my3_N5D6?P%B zUGhsvAYTq1^ATWX^4SLSGRQAO+st*q%$nEujul-09U;~~;Po+gfyb=*SA!2&l(hbf zqLJo{qQN=QNG#n^k&0K$Rdr#S?AsM9*T}lGlXcEPrtV3|^bPrM{`=_qq!|<-(mVe6tI0a^Xf7e&2Ueq`~w%h!-fCDg+ngEfzoesV*&9?S< z%uHE`s5;N1OP*9}eEjNZN5w_y7lt?9#k(kvgQdTn7(w-2J zSjaMCRy=|FDJv8csZcc3Vv!$}C>BIRp=2@^H>2^EfE9_yL~{hCZ6VaML^9N}8I>%y zLW~?pwxNCyl|<{7WW)-IfEAC3mS{W`60NoYsLm>}Ks(qiEg@7zo2U~{qCs}X?pb>v z5)-g6oDx?wEML6DoLeD7u>?`C|2PBw@t+4WoEsi4UowM;@<;?zy+j-(V1kdwVzO~8 z#$Ynh=VLH=%0W*<5Kkh7qRFI~a8pS!Xa*@Jou3qo!Aw%g6N=z??mk~EgOmBu8iEAXLSHo+GD7FAkuOm&o!$?35)VntQ3&5jd_ZE3M!1i-Ut*3*_}l?~SUecb(kdifKA)+@0p=6?A_KEHne!q;89 z8lKs9xD(vWtv=6$?sp+pP=9h^{Z*_VLH%4G+LI;?cVGthbopEMBnz6nps>j>n>>!$wi_+xhsU9{+*u=ye}-kG zp!Qc8yc@OUSSy1EQKyg2xd*Cy>dQDXJ@wMs42b$5`V3(f}3Pt(%JZyU=_ZXnFL4-8xcLtt%oBWm8KW1Ofewcmp z^P|7Yeg^QQpZmw`L;eH^nvi;*-}~vby?>kHIk5NSn4a}rl|4ID`Ad60nYMR$is!}5 z|4y6r;)a7j6Oi?v$z+DD4=O1dgL$)9`o(;~m8W4X@H;8W?tv3SZ3 zKPlU!v|ep%opGPnhgQ75#DLKAvy)WmpCo@By?*0i~_rjinfH_|osApk61Lk~md2}$+YqVj7!SgP{ zy)Yn!wXi@pH?8b6jOGkKMBRg*V5V?a=;-`U(D~8!CUkXyZR6qqu$?p#7{$G`uFwX< zlO}$&-By0Tz)Jj@I<5SYR(=mwzE?fs_wGZOLIsuhKH%uu*%;p3;gjgv(~ung4gU3p zj;*`F+%VABhvf{v(N¬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 AV*mgE literal 11318 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 /* getopt() */ @@ -24,7 +24,12 @@ int main(int argc, char *argv[]) { struct timeval tv; - /* grab argumments */ + /* grab arguments */ + if (argc == 1) { + fprintf(stderr, "error parsing arguments\n"); + usage(); + return 0; + } while ((ret = getopt(argc, argv, ":p:h")) != -1) { switch (ret) { /* get server port number */ diff --git a/moxerver.h b/moxerver.h new file mode 100644 index 0000000..e79f63d --- /dev/null +++ b/moxerver.h @@ -0,0 +1,61 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define DATA_BUFLEN 128 + + +struct server_t { + int socket; /* server socket */ + struct sockaddr_in address; /* server address information */ + unsigned int port; /* server port in host byte order, practical reference */ +}; + +struct client_t { + int socket; /* client socket */ + struct sockaddr_in address; /* client address information */ + char ip_string[INET_ADDRSTRLEN]; /* client IP address as a string */ + char data[DATA_BUFLEN]; /* buffer for data received from client */ +}; + +struct tty_t { + int fd; /* tty file descriptor */ + struct termios ttyset; /* tty termios settings */ + char data[DATA_BUFLEN]; /* buffer for data received from tty */ +}; + + +/* Sets up the server on specific port, binds to a socket and listens for client connections. */ +int server_setup(struct server_t *server, unsigned int port); +/* Closes the server. */ +int server_close(struct server_t *server); +/* Accepts incoming client connection. */ +int server_accept(struct server_t *server, struct client_t *accepted_client); +/* Rejects incoming client connection. */ +int server_reject(struct server_t *server); + + +/* Closes client connection. */ +int client_close(struct client_t *client); +/* Reads incoming data from client to client data buffer. */ +int client_read(struct client_t *client); +/* Sends data from a buffer to client. */ +int client_write(struct client_t *client, char *databuf, int datalen); + + +/* Opens the tty device and configures it. */ +int tty_open(struct tty_t *tty_dev); +/* Closes the tty device. */ +int tty_close(struct tty_t *tty_dev); +/* Reconfigures the tty device. */ +int tty_reconfigure(struct tty_t *tty_dev, struct termios newttyset); +/* Reads incoming data from tty device to tty data buffer. */ +int tty_read(struct tty_t *tty_dev); +/* Sends data from a buffer to tty device. */ +int tty_write(struct tty_t *tty_dev, char *databuf, int datalen); diff --git a/server.c b/server.c index a8fb8b8..482e5e5 100644 --- a/server.c +++ b/server.c @@ -1,4 +1,4 @@ -#include "moxerver_include.h" +#include "moxerver.h" /* Sets up the server on specific port, binds to a socket and listens for client connections. */ diff --git a/tty.c b/tty.c index b675f98..00bb2bd 100644 --- a/tty.c +++ b/tty.c @@ -1,4 +1,4 @@ -#include "moxerver_include.h" +#include "moxerver.h" /* Opens the tty device and configures it. */