Ignore:
Timestamp:
2011-03-13T15:53:43+01:00 (5 years ago)
Author:
juhosg
Message:

backfire: firmware-utils/wndr3700: allow to specify image magic via command line (backport of r24980)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/backfire/tools/firmware-utils/src/wndr3700.c

    r18569 r26111  
    3838#define BPB 8 /* bits/byte */ 
    3939 
     40#define WNDR3700_MAGIC_LEN      4 
     41 
    4042static uint32_t crc32[1<<BPB]; 
     43static char *magic = "3700"; 
    4144 
    4245static void init_crc32() 
     
    6568 
    6669struct header { 
    67     uint32_t magic; 
     70    unsigned char magic[WNDR3700_MAGIC_LEN]; 
    6871    uint32_t crc; 
    6972    unsigned char stuff[56]; 
     
    7578{ 
    7679        fprintf(stderr, "Error: %s\n", mess); 
    77         fprintf(stderr, "Usage: wndr3700 input_file output_file\n"); 
     80        fprintf(stderr, "Usage: wndr3700 input_file output_file [magic]\n"); 
    7881        fprintf(stderr, "\n"); 
    7982        exit(1); 
     
    9194        // verify parameters 
    9295 
    93         if (argc != 3) 
     96        if (argc < 3) 
    9497                usage("wrong number of arguments"); 
     98 
     99        if (argc > 3) 
     100                magic = argv[3]; 
     101 
     102        if (strlen(magic) != WNDR3700_MAGIC_LEN) { 
     103                fprintf(stderr, "Invalid magic: '%s'\n", magic); 
     104                exit(1); 
     105        } 
    95106 
    96107        // mmap input_file 
     
    111122        memcpy(&header, input_file, sizeof(header)); 
    112123 
    113         header.magic = htonl(0x33373030); /* 3700 in ascii */ 
     124        memcpy(header.magic, magic, WNDR3700_MAGIC_LEN); 
    114125        header.crc = 0; 
    115126 
Note: See TracChangeset for help on using the changeset viewer.