--- fwmaker/src/fwmaker.c 2026/01/04 18:08:18 1.1.1.1 +++ fwmaker/src/fwmaker.c 2026/01/04 18:59:16 1.3 @@ -1,3 +1,48 @@ +/************************************************************************* +* (C) 2025 AITNET ltd - Sofia/Bulgaria - +* by Michael Pounov +* +* $Author: misho $ +* $Id: fwmaker.c,v 1.3 2026/01/04 18:59:16 misho Exp $ +* +************************************************************************** +The ELWIX and AITNET software is distributed under the following +terms: + +All of the documentation and software included in the ELWIX and AITNET +Releases is copyrighted by ELWIX - Sofia/Bulgaria + +Copyright 2004 - 2025 + by Michael Pounov . All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: +This product includes software developed by Michael Pounov +ELWIX - Embedded LightWeight unIX and its contributors. +4. Neither the name of AITNET nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY AITNET AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. +*/ #include "global.h" #include "cmds.h" #include "image.h" @@ -8,6 +53,7 @@ struct tagMtd mtd; char image[MAXPATHLEN]; int imgfd; size_t imgsiz; +u_char fillCh = 0x0; void @@ -16,8 +62,9 @@ Usage() printf( " -= FWMAKER =- Firmware maker software ver.%s\n" " (C)`25 ELWIX by Michael Pounov \n" "==================================================\n" - " Syntax: fwmaker [-options] [commands]\n\n" + " Syntax: fwmaker [-options] [command [args]]\n\n" "\t-i\t\t\tPrompt command\n" + "\t-C \t\tFill empty bytes [default=0x0]\n" "\t-d <0xmask>\t\tDebug mode\n" "\t-v\t\t\tVerbose, more -v more verbosity\n" "\t-h\t\t\tHelp, this screen\n", "0.1"); @@ -29,6 +76,9 @@ prepareCli() cli_addCommand(line, "image", 1, cmd_Image, "image command", "image management"); cli_addCommand(line, "mtd", 1, cmd_Mtd, "mtd command", "mtd partition"); cli_addCommand(line, "show", 1, cmd_Show, "show command", "shows parameters"); + + cli_addCommand(line, "fill_byte", 2, cmd_FillCh, "fill_byte command", + "fill image empty areas with byte"); } int @@ -37,8 +87,11 @@ main(int argc, char **argv) int ch, imode = 0, ret = 0; char **args, cmdline[BUFSIZ] = { 0 }; - while ((ch = getopt(argc, argv, "hvid:")) != -1) + while ((ch = getopt(argc, argv, "hvid:C:")) != -1) switch (ch) { + case 'C': + fillCh = (u_char) strtol(optarg, NULL, 0); + break; case 'i': imode = 42; break;