$NetBSD: patch-aw,v 1.1.1.1 2007/10/20 15:32:11 noud4 Exp $ --- rfddump.c.orig 2006-04-30 22:59:15.000000000 +0200 +++ rfddump.c 2007-10-20 16:55:33.000000000 +0200 @@ -24,8 +24,12 @@ #include #include +#if __NetBSD__ +#include +#else #include #include +#endif /* next is an array of mapping for each corresponding sector */ #define RFD_MAGIC 0x9193 @@ -45,7 +49,11 @@ int header_sectors; int data_sectors; int header_size; +#if __NetBSD__ + uint16_t *header; +#else __u16 *header; +#endif int sector_count; int *sector_map; const char *mtd_filename; @@ -137,7 +145,11 @@ return -1; } +#if __NetBSD__ + if (le16_to_cpu(rfd->header[0]) != RFD_MAGIC) { +#else if (__le16_to_cpu(rfd->header[0]) != RFD_MAGIC) { +#endif if (rfd->verbose) printf("Block #%02d: Magic missing\n", block); @@ -146,7 +158,11 @@ sectors = 0; for (i=0; idata_sectors; i++) { +#if __NetBSD__ + uint16_t entry = le16_to_cpu(rfd->header[i + HEADER_MAP_OFFSET]); +#else __u16 entry = __le16_to_cpu(rfd->header[i + HEADER_MAP_OFFSET]); +#endif if (entry == SECTOR_FREE || entry == SECTOR_DELETED) continue; @@ -184,7 +200,11 @@ struct rfd rfd; int i, blocks_found; int out_fd = 0; +#if __NetBSD__ + uint8_t sector[512]; +#else __u8 sector[512]; +#endif int blank, rc, cylinders; process_options(argc, argv, &rfd); @@ -240,13 +260,21 @@ rfd.header_sectors = ((HEADER_MAP_OFFSET + sectors_per_block) * +#if __NetBSD__ + sizeof(uint16_t) + SECTOR_SIZE - 1) / SECTOR_SIZE; +#else sizeof(__u16) + SECTOR_SIZE - 1) / SECTOR_SIZE; +#endif rfd.data_sectors = sectors_per_block - rfd.header_sectors; cylinders = ((rfd.block_count - 1) * rfd.data_sectors - 1) / SECTORS_PER_TRACK; rfd.sector_count = cylinders * SECTORS_PER_TRACK; rfd.header_size = +#if __NetBSD__ + (HEADER_MAP_OFFSET + rfd.data_sectors) * sizeof(uint16_t); +#else (HEADER_MAP_OFFSET + rfd.data_sectors) * sizeof(__u16); +#endif rfd.header = malloc(rfd.header_size); if (!rfd.header) {