Diff for /libaitcli/example/tnet.c between versions 1.1 and 1.2

version 1.1, 2011/03/16 18:37:15 version 1.2, 2011/05/29 22:49:25
Line 0 Line 1
   #include <stdio.h>
   #include <string.h>
   #include <sys/socket.h>
   #include <sys/select.h>
   #include <sys/filio.h>
   #include <netinet/in.h>
   #include <arpa/inet.h>
   #include <arpa/telnet.h>
   #include <aitcli.h>
   
   
   int main(int argc, char **argv)
   {
           int ret, s, c;
           struct sockaddr_in sin = { sizeof sin, AF_INET, htons(2000), .sin_addr.s_addr = 0x100007f };
           struct telnetAttrs *a, A[2];
           char str[256], code;
   
           s = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
           bind(s, (struct sockaddr*) &sin, sizeof sin);
           listen(s, 1);
           c = accept(s, (struct sockaddr*) &sin, (socklen_t*) &ret);
   
           cli_telnet_SetCmd(&A[0], DO, TELOPT_TTYPE);
           if (argc > 1) {
                   cli_telnet_Set_SubOpt(&A[1], TELOPT_TTYPE, TELQUAL_SEND, NULL, 0);
                   cli_telnet_DumpAttrs(A, 2);
                   printf("cli_telnetSend()=%d bytes\n", cli_telnetSend(c, &A[0], 1, NULL, 0, 1));
                   printf("errno=%d %s ret=%d telnetRecv()=%d attributes\n", cli_GetErrno(), cli_GetError(), 
                                   ret, cli_telnetRecv(c, &a, &ret, str, 255));
                   cli_telnet_DumpAttrs(a, ret);
                   free(a);
   
                   printf("str=%s\n", str);
   
                   printf("telnetSend()=%d bytes\n", cli_telnetSend(c, &A[1], 1, "brym\n", 5, 0));
                   printf("errno=%d %s ret=%d telnetRecv()=%d attributes\n", cli_GetErrno(), cli_GetError(), 
                                   ret, cli_telnetRecv(c, &a, &ret, str, 255));
                   cli_telnet_DumpAttrs(a, ret);
                   ret = 255;
                   printf("term=%X str=%s get_subopt=%d\n", code, str, cli_telnet_Get_SubOpt(&a[0], &code, str, (char*) &ret));
                   free(a);
           } else {
                   cli_telnet_SetCmd(&A[1], GA, 0);
                   cli_telnet_DumpAttrs(A, 2);
   
                   char caps[] = { TELOPT_BINARY, TELOPT_TTYPE, TELOPT_STATUS };
                   printf("a=%p ret=%d telnet_Answer()=%d\n", a, ret, cli_telnet_Answer(caps, sizeof caps, A, 2, &a, &ret));
                   cli_telnet_DumpAttrs(a, ret);
                   free(a);
   
                   printf("telnetSend()=%d bytes\n", cli_telnetSend(c, A, 2, "piuk\n", 5, 0));
                   printf("errno=%d %s ret=%d telnetRecv()=%d bytes\n", cli_GetErrno(), cli_GetError(), 
                                   ret, cli_telnetRecv(c, &a, &ret, str, 255));
                   cli_telnet_DumpAttrs(a, ret);
                   free(a);
   
                   printf("str=%s\n", str);
   
                   cli_telnet_Set_SubOpt(&A[1], TELOPT_TTYPE, TELQUAL_SEND, NULL, 0);
                   printf("telnetSend()=%d bytes\n", cli_telnetSend(c, &A[1], 1, NULL, 0, 1));
                   printf("errno=%d %s ret=%d telnetRecv()=%d bytes\n", cli_GetErrno(), cli_GetError(), 
                                   ret, cli_telnetRecv(c, &a, &ret, str, 255));
                   cli_telnet_DumpAttrs(a, ret);
                   printf("str=%s\n", str);
                   ret = 255;
                   printf("term=%X str=%s get_subopt=%d\n", code, str, cli_telnet_Get_SubOpt(&a[0], &code, str, (char*) &ret));
                   free(a);
   
                   printf("errno=%d %s ret=%d telnetRecv()=%d bytes\n", cli_GetErrno(), cli_GetError(), 
                                   ret, cli_telnetRecv(c, &a, &ret, str, 255));
                   cli_telnet_DumpAttrs(a, ret);
                   free(a);
   
                   printf("str=%s\n", str);
   
                   printf("telnetSend()=%d bytes\n", cli_telnetSend(c, NULL, 0, "ALA-BALA\n", 9, 0));
                   printf("errno=%d %s ret=%d telnetRecv()=%d bytes\n", cli_GetErrno(), cli_GetError(), 
                                   ret, cli_telnetRecv(c, NULL, NULL, str, 255));
                   free(a);
                   printf("str=%s\n", str);
                   printf("errno=%d %s ret=%d telnetRecv()=%d bytes\n", cli_GetErrno(), cli_GetError(), 
                                   ret, cli_telnetRecv(c, &a, &ret, str, 255));
                   cli_telnet_DumpAttrs(a, ret);
                   free(a);
   
                   printf("str=%s\n", str);
           }
   
           close(c);
           close(s);
           return 0;
   }

Removed from v.1.1  
changed lines
  Added in v.1.2


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>