return grub_errno;
}
+static grub_err_t
+grub_hfs_mtime (grub_device_t device, grub_int32_t *tm)
+{
+ struct grub_hfs_data *data;
+
+ data = grub_hfs_mount (device->disk);
+
+ if (data)
+ *tm = grub_be_to_cpu32 (data->sblock.mtime) - 2082844800;
+ else
+ *tm = 0;
+
+ grub_free (data);
+ return grub_errno;
+}
+
+
static grub_err_t
grub_hfs_uuid (grub_device_t device, char **uuid)
{
.close = grub_hfs_close,
.label = grub_hfs_label,
.uuid = grub_hfs_uuid,
+ .mtime = grub_hfs_mtime,
.next = 0
};
struct grub_hfs_sblock
{
grub_uint16_t magic;
- grub_uint8_t unused[18];
+ grub_uint32_t ctime;
+ grub_uint32_t mtime;
+ grub_uint8_t unused[10];
grub_uint32_t blksz;
grub_uint8_t unused2[4];
grub_uint16_t first_block;