From eb9c17f5adac0b5a624561fe28859d2e2bf29af1 Mon Sep 17 00:00:00 2001 From: Laurent Vivier Date: Thu, 1 Nov 2007 22:07:17 +0000 Subject: [PATCH] Add map_get_blocksize() --- libmap/Makefile | 2 +- libmap/libmap.h | 4 ++++ libmap/map_get_blocksize.c | 12 ++++++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 libmap/map_get_blocksize.c diff --git a/libmap/Makefile b/libmap/Makefile index 5f4d817..3179666 100644 --- a/libmap/Makefile +++ b/libmap/Makefile @@ -30,7 +30,7 @@ SOURCES = map_bootblock_get_type.c map_bootblock_is_valid.c \ map_set_bootinfo.c map_set_driver_info.c map_set_driver_number.c \ map_set_partition_name.c map_set_partition_type.c map_set_startup.c \ map_write.c map_block0_write.c map_read_sector.c \ - map_write_sector.c + map_write_sector.c map_get_blocksize.c HEADERS = libmap.h diff --git a/libmap/libmap.h b/libmap/libmap.h index 40bcd06..cfb526c 100644 --- a/libmap/libmap.h +++ b/libmap/libmap.h @@ -121,11 +121,14 @@ struct Partition { #define APPLE_PATCHES "Apple_Patches" #define MAP_NAME_LEN 256 +#define MAP_BLOCKSIZE 2048 typedef struct { device_io_t *device; int current; struct DriverDescriptor drivers; + char filler1[MAP_BLOCKSIZE-512]; struct Partition partition; + char filler2[MAP_BLOCKSIZE-512]; } map_t; enum { @@ -178,4 +181,5 @@ extern unsigned long map_get_driver_signature(map_t* map); extern int map_block0_write(map_t *map); extern int map_read_sector(map_t* map, off_t block, char *buffer, size_t nb); extern int map_write_sector(map_t* map, off_t block, char *buffer, size_t nb); +extern int map_get_blocksize(map_t *map); #endif diff --git a/libmap/map_get_blocksize.c b/libmap/map_get_blocksize.c new file mode 100644 index 0000000..a80674d --- /dev/null +++ b/libmap/map_get_blocksize.c @@ -0,0 +1,12 @@ +/* + * + * (c) 2007 Laurent Vivier + * + */ + +#include "libmap.h" + +int map_get_blocksize(map_t *map) +{ + return map->device->get_blocksize(map->device->data); +}