dasm: Move some definitions around.
authorMichael Buesch <mb@bu3sch.de>
Sun, 18 Nov 2007 14:10:24 +0000 (15:10 +0100)
committerMichael Buesch <mb@bu3sch.de>
Sun, 18 Nov 2007 14:10:24 +0000 (15:10 +0100)
Signed-off-by: Michael Buesch <mb@bu3sch.de>
disassembler/Makefile
disassembler/main.c
disassembler/main.h
disassembler/util.h

index e664722dbbc8ebc42741a3ffe0824277756af805..efb41257142ae4790df665bfa7cad8f195ee08c1 100644 (file)
@@ -15,6 +15,8 @@ main.o: main.h util.h list.h args.h
 
 util.o: util.h
 
+args.o: args.h main.h util.h
+
 $(BIN): $(OBJECTS)
        $(CC) $(CFLAGS) -o $(BIN) $(OBJECTS) $(LDFLAGS)
 
index 8ae804077b7055552788cac7fffd80a346a0b958..7fc8536384ec27c54259a02a9ac09532902b69b8 100644 (file)
@@ -11,6 +11,7 @@
  *   GNU General Public License for more details.
  */
 
+#include "main.h"
 #include "list.h"
 #include "util.h"
 #include "args.h"
 #include <stdlib.h>
 #include <string.h>
 
-#define ARRAY_SIZE(x)  (sizeof(x)/sizeof(x[0]))
-
-/* The header that fwcutter puts in to every .fw file */
-struct fw_header {
-       /* Type of the firmware data */
-       uint8_t type;
-       /* Version number of the firmware data format */
-       uint8_t ver;
-       uint8_t __padding[2];
-       /* Size of the data. For ucode and PCM this is in bytes.
-        * For IV this is in number-of-ivs. */
-       uint32_t size;
-} __attribute__ ((__packed__));
-
 
 struct bin_instruction {
        unsigned int opcode;
@@ -699,11 +686,11 @@ static int read_input(struct disassembler_context *ctx)
                fprintf(stderr, "Corrupt input file (not fwcutter output)\n");
                goto err_close;
        }
-       if (hdr.type != 'u') {
+       if (hdr.type != FW_TYPE_UCODE) {
                fprintf(stderr, "Corrupt input file. Not a microcode image.\n");
                goto err_close;
        }
-       if (hdr.ver != 1) {
+       if (hdr.ver != FW_HDR_VER) {
                fprintf(stderr, "Invalid input file header version.\n");
                goto err_close;
        }
index d3ceb3741171953a8b3a3bdfec8dad70f4604571..354d00196f574ad9916722eee162f21e7588b3c9 100644 (file)
@@ -3,6 +3,28 @@
 
 #include <stdio.h>
 
+#include "util.h"
+
+
+/* The header that fwcutter also puts in to every .fw file */
+struct fw_header {
+       /* Type of the firmware data */
+       uint8_t type;
+       /* Version number of the firmware data format */
+       uint8_t ver;
+       uint8_t __padding[2];
+       /* Size of the data. For ucode and PCM this is in bytes.
+        * For IV this is in number-of-ivs. (big-endian!) */
+       be32_t size;
+} __attribute__ ((__packed__));
+
+/* struct fw_header -> type */
+#define FW_TYPE_UCODE  'u'
+#define FW_TYPE_PCM    'p'
+#define FW_TYPE_IV     'i'
+/* struct fw_header -> ver */
+#define FW_HDR_VER     0x01
+
 
 FILE *infile;
 FILE *outfile;
index 843d34708be84c89ba51a2b9fb76f42d87c20926..72dedf46b48a9961071f351ce8009668413fe0ba 100644 (file)
@@ -2,6 +2,10 @@
 #define BCM43xx_DASM_UTIL_H_
 
 #include <stdlib.h>
+#include <stdint.h>
+
+
+#define ARRAY_SIZE(x)  (sizeof(x)/sizeof(x[0]))
 
 
 void dump(const char *data,
@@ -13,4 +17,8 @@ void * xmalloc(size_t size);
 char * xstrdup(const char *str);
 void * xrealloc(void *in, size_t size);
 
+typedef _Bool bool;
+
+typedef uint32_t be32_t;
+
 #endif /* BCM43xx_DASM_UTIL_H_ */