blob: c34aa00567e6fc855e3eafdfbe5a839d4808f1f3 [file] [log] [blame]
/*
* 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 <stdio.h>
#include <string.h>
#include <unistd.h>
#include <stdlib.h>
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;
}