Home | History | Annotate | Download | only in adb
      1 #include "sysdeps.h"
      2 #include "adb.h"
      3 #include "adb_client.h"
      4 #include <stdio.h>
      5 
      6 static int  connect_to_console(void)
      7 {
      8     int  fd, port;
      9 
     10     port = adb_get_emulator_console_port();
     11     if (port < 0) {
     12         if (port == -2)
     13             fprintf(stderr, "error: more than one emulator detected. use -s option\n");
     14         else
     15             fprintf(stderr, "error: no emulator detected\n");
     16         return -1;
     17     }
     18     fd = socket_loopback_client( port, SOCK_STREAM );
     19     if (fd < 0) {
     20         fprintf(stderr, "error: could not connect to TCP port %d\n", port);
     21         return -1;
     22     }
     23     return  fd;
     24 }
     25 
     26 
     27 int  adb_send_emulator_command(int  argc, char**  argv)
     28 {
     29     int   fd, nn;
     30 
     31     fd = connect_to_console();
     32     if (fd < 0)
     33         return 1;
     34 
     35 #define  QUIT  "quit\n"
     36 
     37     for (nn = 1; nn < argc; nn++) {
     38         adb_write( fd, argv[nn], strlen(argv[nn]) );
     39         adb_write( fd, (nn == argc-1) ? "\n" : " ", 1 );
     40     }
     41     adb_write( fd, QUIT, sizeof(QUIT)-1 );
     42     adb_close(fd);
     43 
     44     return 0;
     45 }
     46