9c6888e7736d202aa5228674cf7c35a5853248f6
[librecmc/librecmc.git] / tools / firmware-utils / src / mksyshdr.c
1 #include <stdlib.h>
2 #include <stdio.h>
3 int main(int argc, char* argv[])
4 {
5         FILE* fp;
6         long  nImgSize;
7         char* pHeader1 = "CSYS";
8         long  nHeader2 = 0x80500000;
9
10         if (argc != 3)
11         {
12                 printf("Usage: mksyshdr <header file> <image file>\n");
13                 return -1;
14         }
15
16         fp = fopen(argv[2], "rb");
17         if (fp != NULL)
18         {
19                 fseek(fp, 0, SEEK_END);
20                 nImgSize = ftell(fp);
21                 fclose(fp);
22                 fp = fopen(argv[1], "wb+");
23                 if (fp != NULL)
24                 {
25                         fwrite(pHeader1,  sizeof(char), 4, fp);
26                         fwrite(&nHeader2, sizeof(long), 1, fp);
27                         fwrite(&nImgSize, sizeof(long), 1, fp);
28                         fclose(fp);
29                 }
30                 else
31                 {
32                         printf("Cannot create %s.\n", argv[1]);
33                         return -1;
34                 }
35         }
36         else
37         {
38                 printf("Cannot open %s.\n", argv[2]);
39                 return -1;
40         }
41
42         return 0;
43 }
44