/* * Copyright 2022 Garmin Ltd. or its subsidiaries * * SPDX-License-Identifier: GPL-2.0 * * Attempts to find and exec the host qemu-bridge-helper program */ #include #include #include #include void try_program(char const* path, char** args) { if (access(path, X_OK) == 0) { execv(path, args); } } int main(int argc, char** argv) { char* var; var = getenv("QEMU_BRIDGE_HELPER"); if (var && var[0] != '\0') { execvp(var, argv); return 1; } if (argc == 2 && strcmp(argv[1], "--help") == 0) { fprintf(stderr, "Helper function to find and exec qemu-bridge-helper. Set QEMU_BRIDGE_HELPER to override default search path\n"); return 0; } try_program("/usr/libexec/qemu-bridge-helper", argv); try_program("/usr/lib/qemu/qemu-bridge-helper", argv); fprintf(stderr, "No bridge helper found\n"); return 1; }