adb_client.h revision 59ab0c534095afdab0765240a6eaeaad2ab43ab0
14f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber#ifndef _ADB_CLIENT_H_
24f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber#define _ADB_CLIENT_H_
34f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
44f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber#include "adb.h"
54f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
64f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber/* connect to adb, connect to the named service, and return
74f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber** a valid fd for interacting with that service upon success
84f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber** or a negative number on failure
94f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber*/
104f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huberint adb_connect(const char *service);
114f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huberint _adb_connect(const char *service);
124f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
134f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber/* connect to adb, connect to the named service, return 0 if
144f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber** the connection succeeded AND the service returned OKAY
154f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber*/
164f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huberint adb_command(const char *service);
174f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
184f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber/* connect to adb, connect to the named service, return
194f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber** a malloc'd string of its response upon success or NULL
204f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber** on failure.
214f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber*/
224f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huberchar *adb_query(const char *service);
234f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
244f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber/* Set the preferred transport to connect to.
254f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber*/
264f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Hubervoid adb_set_transport(transport_type type, const char* serial);
274f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
284f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber/* Return the console port of the currently connected emulator (if any)
294f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber * of -1 if there is no emulator, and -2 if there is more than one.
304f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber * assumes adb_set_transport() was alled previously...
314f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber */
324f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huberint  adb_get_emulator_console_port(void);
334f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
344f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber/* send commands to the current emulator instance. will fail if there
354f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber * is zero, or more than one emulator connected (or if you use -s <serial>
364f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber * with a <serial> that does not designate an emulator)
374f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber */
384f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huberint  adb_send_emulator_command(int  argc, char**  argv);
394f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
404f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber/* return verbose error string from last operation */
414f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huberconst char *adb_error(void);
424f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
434f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber/* read a standard adb status response (OKAY|FAIL) and
444f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber** return 0 in the event of OKAY, -1 in the event of FAIL
454f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber** or protocol error
464f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber*/
474f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huberint adb_status(int fd);
484f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
494f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber#endif
504f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber