diff options
Diffstat (limited to 'package/hostapd/files/multicall.c')
-rw-r--r-- | package/hostapd/files/multicall.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/package/hostapd/files/multicall.c b/package/hostapd/files/multicall.c new file mode 100644 index 0000000..c8e814b --- /dev/null +++ b/package/hostapd/files/multicall.c @@ -0,0 +1,28 @@ +#include <stdio.h> +#include <string.h> +#include <stdbool.h> + +extern int hostapd_main(int argc, char **argv); +extern int wpa_supplicant_main(int argc, char **argv); + +int main(int argc, char **argv) +{ + bool restart = false; + const char *prog = argv[0]; + +restart: + if (strstr(argv[0], "hostapd")) + return hostapd_main(argc, argv); + else if (strstr(argv[0], "wpa_supplicant")) + return wpa_supplicant_main(argc, argv); + + if (!restart && argc > 1) { + argv++; + argc--; + restart = true; + goto restart; + } + + fprintf(stderr, "Invalid command.\nUsage: %s wpa_supplicant|hostapd [<arguments>]\n", prog); + return 255; +} |