File indexing completed on 2025-05-11 08:24:19
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015 #ifdef HAVE_CONFIG_H
0016 #include "config.h"
0017 #endif
0018
0019 #include <ctype.h>
0020 #include <stdio.h>
0021 #include <string.h>
0022
0023 #include <rtems.h>
0024 #include <rtems/shell.h>
0025 #include <rtems/stringto.h>
0026 #include "internal.h"
0027
0028 static int rtems_shell_main_mfill(
0029 int argc,
0030 char *argv[]
0031 )
0032 {
0033 unsigned long tmp;
0034 void *addr;
0035 size_t size;
0036 unsigned char value;
0037
0038 if ( argc != 4 ) {
0039 fprintf(stderr,"%s: too few arguments\n", argv[0]);
0040 return -1;
0041 }
0042
0043
0044
0045
0046 if ( rtems_string_to_pointer(argv[1], &addr, NULL) ) {
0047 printf( "Address argument (%s) is not a number\n", argv[1] );
0048 return -1;
0049 }
0050
0051 if ( rtems_string_to_unsigned_long(argv[2], &tmp, NULL, 0) ) {
0052 printf( "Size argument (%s) is not a number\n", argv[2] );
0053 return -1;
0054 }
0055 size = (size_t) tmp;
0056
0057 if ( rtems_string_to_unsigned_char(argv[3], &value, NULL, 0) ) {
0058 printf( "Value argument (%s) is not a number\n", argv[3] );
0059 return -1;
0060 }
0061
0062
0063
0064
0065 memset(addr, value, size);
0066
0067 return 0;
0068 }
0069
0070 rtems_shell_cmd_t rtems_shell_MFILL_Command = {
0071 "mfill",
0072 "mfill address size value",
0073 "mem",
0074 rtems_shell_main_mfill,
0075 NULL,
0076 NULL
0077 };