Add image generation for edimax routers
authorFlorian Fainelli <florian@openwrt.org>
Wed, 21 Mar 2007 15:04:07 +0000 (15:04 +0000)
committerFlorian Fainelli <florian@openwrt.org>
Wed, 21 Mar 2007 15:04:07 +0000 (15:04 +0000)
SVN-Revision: 6627

Makefile
src/mksyshdr.c [new file with mode: 0644]

index 9f5346b449c0f97c3c9ffaea468a9c304b21c956..88e3a4964c4f988bd7ed6db087bcc96667609f20 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -26,6 +26,7 @@ define Build/Compile
        $(call cc,ptgen)
        $(call cc,airlink)
        $(call cc,srec2bin)
+       $(call cc,mksyshdr)
 endef
 
 define Build/Install
diff --git a/src/mksyshdr.c b/src/mksyshdr.c
new file mode 100644 (file)
index 0000000..9c6888e
--- /dev/null
@@ -0,0 +1,44 @@
+#include <stdlib.h>
+#include <stdio.h>
+int main(int argc, char* argv[])
+{
+       FILE* fp;
+       long  nImgSize;
+       char* pHeader1 = "CSYS";
+       long  nHeader2 = 0x80500000;
+
+       if (argc != 3)
+       {
+               printf("Usage: mksyshdr <header file> <image file>\n");
+               return -1;
+       }
+
+       fp = fopen(argv[2], "rb");
+       if (fp != NULL)
+       {
+               fseek(fp, 0, SEEK_END);
+               nImgSize = ftell(fp);
+               fclose(fp);
+               fp = fopen(argv[1], "wb+");
+               if (fp != NULL)
+               {
+                       fwrite(pHeader1,  sizeof(char), 4, fp);
+                       fwrite(&nHeader2, sizeof(long), 1, fp);
+                       fwrite(&nImgSize, sizeof(long), 1, fp);
+                       fclose(fp);
+               }
+               else
+               {
+                       printf("Cannot create %s.\n", argv[1]);
+                       return -1;
+               }
+       }
+       else
+       {
+               printf("Cannot open %s.\n", argv[2]);
+               return -1;
+       }
+
+       return 0;
+}
+