First revision

This commit is contained in:
Laurent Vivier 2004-12-21 20:05:31 +00:00
parent 0e11baa633
commit 3538ecd3c2
2 changed files with 69 additions and 0 deletions

View File

@ -0,0 +1,40 @@
static __attribute__((used)) char* rcsid = "$CVSHeader$";
/*
*
* (c) 2004 Laurent Vivier <LaurentVivier@wanadoo.fr>
*
*/
/*
* See http://developer.apple.com/technotes/tn/tn1189.html
*
*/
#include <string.h>
#include "partition.h"
#include "libemile.h"
int emile_map_has_apple_driver(emile_map_t *map)
{
int block, size, type, part;
int i;
int ret;
for (i = 0; i < emile_map_get_driver_number(map); i++)
{
emile_map_get_driver_info(map, i, &block, &size, &type);
part = emile_map_seek_driver_partition(map, block);
ret = emile_map_read(map, part);
if (ret == -1)
return -1;
if (strncmp(map->partition.PartType,
APPLE_DRIVER, strlen(APPLE_DRIVER)) == 0)
return 1;
}
return 0;
}

View File

@ -0,0 +1,29 @@
static __attribute__((used)) char* rcsid = "$CVSHeader$";
/*
*
* (c) 2004 Laurent Vivier <LaurentVivier@wanadoo.fr>
*
*/
#include "libemile.h"
int emile_map_seek_driver_partition(emile_map_t *map, int base)
{
int start;
int count;
int i;
int ret;
for (i = 0; i < emile_map_get_number(map); i++)
{
ret = emile_map_read(map, i);
if (ret == -1)
return -1;
emile_map_get_partition_geometry(map, &start, &count);
if (base == start)
return i;
}
return -1;
}