From 7e5c0b4599068448a0c7cf97788672878b4d433a Mon Sep 17 00:00:00 2001
From: florian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Wed, 21 Mar 2007 15:04:07 +0000
Subject: Add image generation for edimax routers

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@6627 3c298f89-4303-0410-b956-a3cf2f4a3e73
---
 tools/firmware-utils/src/mksyshdr.c | 44 +++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)
 create mode 100644 tools/firmware-utils/src/mksyshdr.c

(limited to 'tools/firmware-utils/src')

diff --git a/tools/firmware-utils/src/mksyshdr.c b/tools/firmware-utils/src/mksyshdr.c
new file mode 100644
index 000000000..8f6604c6a
--- /dev/null
+++ b/tools/firmware-utils/src/mksyshdr.c
@@ -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;
+}
+
-- 
cgit v1.2.3