diff options
author | Tianjie Xu <xunchang@google.com> | 2019-04-12 02:41:48 +0200 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2019-04-12 02:41:48 +0200 |
commit | de013b52b12e8e8a4ad00a1b4eea9fa5a738079d (patch) | |
tree | 065bc9ebdd836949a7de3923237b2605c055020d /minadbd/minadbd.cpp | |
parent | Merge "Build libinstall as a static library." am: 38d5e60874 am: a8cc70fbe1 (diff) | |
parent | Merge "Add socket communication between recovery and minadbd" am: 6c5f70b9b2 (diff) | |
download | android_bootable_recovery-de013b52b12e8e8a4ad00a1b4eea9fa5a738079d.tar android_bootable_recovery-de013b52b12e8e8a4ad00a1b4eea9fa5a738079d.tar.gz android_bootable_recovery-de013b52b12e8e8a4ad00a1b4eea9fa5a738079d.tar.bz2 android_bootable_recovery-de013b52b12e8e8a4ad00a1b4eea9fa5a738079d.tar.lz android_bootable_recovery-de013b52b12e8e8a4ad00a1b4eea9fa5a738079d.tar.xz android_bootable_recovery-de013b52b12e8e8a4ad00a1b4eea9fa5a738079d.tar.zst android_bootable_recovery-de013b52b12e8e8a4ad00a1b4eea9fa5a738079d.zip |
Diffstat (limited to 'minadbd/minadbd.cpp')
-rw-r--r-- | minadbd/minadbd.cpp | 48 |
1 files changed, 36 insertions, 12 deletions
diff --git a/minadbd/minadbd.cpp b/minadbd/minadbd.cpp index 349189cc7..57158ad57 100644 --- a/minadbd/minadbd.cpp +++ b/minadbd/minadbd.cpp @@ -14,30 +14,54 @@ * limitations under the License. */ -#include "minadbd.h" - #include <errno.h> +#include <fcntl.h> #include <signal.h> #include <stdio.h> #include <stdlib.h> +#include <strings.h> + +#include <android-base/logging.h> +#include <android-base/parseint.h> #include "adb.h" #include "adb_auth.h" #include "transport.h" -int minadbd_main() { - adb_device_banner = "sideload"; +#include "minadbd_services.h" +#include "minadbd_types.h" + +int main(int argc, char** argv) { + android::base::InitLogging(argv, &android::base::StderrLogger); + // TODO(xunchang) implement a command parser + if (argc != 3 || strcmp("--socket_fd", argv[1]) != 0) { + LOG(ERROR) << "minadbd has invalid arguments, argc: " << argc; + exit(kMinadbdArgumentsParsingError); + } + + int socket_fd; + if (!android::base::ParseInt(argv[2], &socket_fd)) { + LOG(ERROR) << "Failed to parse int in " << argv[2]; + exit(kMinadbdArgumentsParsingError); + } + if (fcntl(socket_fd, F_GETFD, 0) == -1) { + PLOG(ERROR) << "Failed to get minadbd socket"; + exit(kMinadbdSocketIOError); + } + SetMinadbdSocketFd(socket_fd); + + adb_device_banner = "sideload"; - signal(SIGPIPE, SIG_IGN); + signal(SIGPIPE, SIG_IGN); - // We can't require authentication for sideloading. http://b/22025550. - auth_required = false; + // We can't require authentication for sideloading. http://b/22025550. + auth_required = false; - init_transport_registration(); - usb_init(); + init_transport_registration(); + usb_init(); - VLOG(ADB) << "Event loop starting"; - fdevent_loop(); + VLOG(ADB) << "Event loop starting"; + fdevent_loop(); - return 0; + return 0; } |