diff options
author | Oleksij Rempel <o.rempel@pengutronix.de> | 2017-03-22 10:14:39 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2017-03-30 08:23:20 +0200 |
commit | b0a0d7c05dde1476b249aa8d6d36de0189e9eeab (patch) | |
tree | 03652cb3484dc69b97b46e449cc8d37d1b3c3992 /commands | |
parent | eba85be0f25dd1af9cdab3af2a4f98b14fe9c41e (diff) | |
download | barebox-b0a0d7c05dde1476b249aa8d6d36de0189e9eeab.tar.gz barebox-b0a0d7c05dde1476b249aa8d6d36de0189e9eeab.tar.xz |
add seed command
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'commands')
-rw-r--r-- | commands/Kconfig | 6 | ||||
-rw-r--r-- | commands/Makefile | 1 | ||||
-rw-r--r-- | commands/seed.c | 44 |
3 files changed, 51 insertions, 0 deletions
diff --git a/commands/Kconfig b/commands/Kconfig index bc0885c69d..ab8e09aa45 100644 --- a/commands/Kconfig +++ b/commands/Kconfig @@ -2115,6 +2115,12 @@ config CMD_SPD_DECODE help decode spd eeprom +config CMD_SEED + tristate + prompt "seed" + help + Seed the pseudo random number generator (PRNG) + # end Miscellaneous commands endmenu diff --git a/commands/Makefile b/commands/Makefile index 601f15fc38..ab59021562 100644 --- a/commands/Makefile +++ b/commands/Makefile @@ -120,3 +120,4 @@ obj-$(CONFIG_CMD_DHRYSTONE) += dhrystone.o obj-$(CONFIG_CMD_SPD_DECODE) += spd_decode.o obj-$(CONFIG_CMD_MMC_EXTCSD) += mmc_extcsd.o obj-$(CONFIG_CMD_NAND_BITFLIP) += nand-bitflip.o +obj-$(CONFIG_CMD_SEED) += seed.o diff --git a/commands/seed.c b/commands/seed.c new file mode 100644 index 0000000000..e378cd7635 --- /dev/null +++ b/commands/seed.c @@ -0,0 +1,44 @@ +/* + * (c) 2017 Oleksij Rempel <kernel@pengutronix.de> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include <common.h> +#include <command.h> +#include <stdlib.h> +#include <linux/ctype.h> + +static int do_seed(int argc, char *argv[]) +{ + if (argc < 2) + return COMMAND_ERROR_USAGE; + + if (isdigit(*argv[1])) { + srand(simple_strtoul(argv[1], NULL, 0)); + return 0; + } + + printf("numerical parameter expected\n"); + return 1; +} + +BAREBOX_CMD_HELP_START(seed) +BAREBOX_CMD_HELP_TEXT("Seed the pseudo random number generator") +BAREBOX_CMD_HELP_END + +BAREBOX_CMD_START(seed) + .cmd = do_seed, + BAREBOX_CMD_DESC("seed the PRNG") + BAREBOX_CMD_OPTS("VALUE") + BAREBOX_CMD_GROUP(CMD_GRP_MISC) + BAREBOX_CMD_HELP(cmd_seed_help) +BAREBOX_CMD_END |