2 #include <config-util.h>
8 #include <grub/util/misc.h>
9 #include <grub/emu/hostdisk.h>
10 #include <grub/emu/getroot.h>
13 #include <StorageDefs.h>
15 enum grub_dev_abstraction_types
16 grub_util_get_dev_abstraction_os (const char *os_dev
__attribute__((unused
)))
18 return GRUB_DEV_ABSTRACTION_NONE
;
22 grub_util_pull_device_os (const char *os_dev
__attribute__ ((unused
)),
23 enum grub_dev_abstraction_types ab
__attribute__ ((unused
)))
29 grub_util_get_grub_dev_os (const char *os_dev
__attribute__ ((unused
)))
35 grub_guess_root_devices (const char *dir_in
)
37 dev_t dv
= dev_for_path (dir_in
);
40 if (fs_stat_dev (dv
, &inf
) != B_OK
)
42 ret
= xmalloc (2 * sizeof (ret
[0]));
43 ret
[0] = xstrdup (inf
.device_name
);
49 grub_util_find_partition_start_os (const char *dev
)
53 int fd
= open (dev
, O_RDONLY
);
56 if (ioctl (fd
, B_GET_PARTITION_INFO
, &part
, sizeof (part
)) < 0)
63 fd
= open (part
.device
, O_RDONLY
);
66 if (ioctl (fd
, B_GET_GEOMETRY
, &geo
, sizeof (geo
)) < 0)
68 ret
/= geo
.bytes_per_sector
? : 512;
74 grub_util_part_to_disk (const char *os_dev
,
75 struct stat
*st
__attribute__ ((unused
)),
80 int fd
= open (os_dev
, O_RDONLY
);
84 return xstrdup (os_dev
);
85 if (ioctl (fd
, B_GET_PARTITION_INFO
, &part
, sizeof (part
)) < 0)
88 return xstrdup (os_dev
);
90 ret
= xstrdup (part
.device
);
97 grub_util_biosdisk_is_floppy (grub_disk_t disk
)
101 dname
= grub_util_biosdisk_get_osdev (disk
);
103 return (strncmp (dname
, "/dev/disk/floppy/", sizeof ("/dev/disk/floppy/") - 1)