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 000000000..c8e814bb5 --- /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; +}  | 
