1 #include "sysdeps.h"
2 #include "adb.h"
3 #include "adb_client.h"
4 #include <stdio.h>
5 
connect_to_console(void)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 
adb_send_emulator_command(int argc,const char ** argv)27 int  adb_send_emulator_command(int  argc, const 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