Lines Matching refs:data

365   struct grub_util_biosdisk_data *data;
373 disk->data = data = xmalloc (sizeof (struct grub_util_biosdisk_data));
374 data->dev = NULL;
375 data->access_mode = 0;
376 data->fd = -1;
377 data->is_disk = 0;
378 data->device_map = map[drive].device_map;
412 data->is_disk = 1;
782 struct grub_util_biosdisk_data *data = disk->data;
812 if (data->dev && strcmp (data->dev, dev) == 0 &&
813 data->access_mode == (flags & O_ACCMODE))
816 fd = data->fd;
820 free (data->dev);
821 if (data->fd != -1)
823 if (data->access_mode == O_RDWR || data->access_mode == O_WRONLY)
825 fsync (data->fd);
827 if (data->is_disk)
828 ioctl (data->fd, BLKFLSBUF, 0);
832 close (data->fd);
833 data->fd = -1;
845 data->dev = xstrdup (dev);
846 data->access_mode = (flags & O_ACCMODE);
847 data->fd = fd;
872 if (data->dev && strcmp (data->dev, map[disk->id].device) == 0 &&
873 data->access_mode == (flags & O_ACCMODE))
875 grub_dprintf ("hostdisk", "reusing open device `%s'\n", data->dev);
876 fd = data->fd;
880 free (data->dev);
881 if (data->fd != -1)
883 if (data->access_mode == O_RDWR || data->access_mode == O_WRONLY)
885 fsync (data->fd);
887 if (data->is_disk)
888 ioctl (data->fd, BLKFLSBUF, 0);
891 close (data->fd);
892 data->fd = -1;
898 data->dev = xstrdup (map[disk->id].device);
899 data->access_mode = (flags & O_ACCMODE);
900 data->fd = fd;
1082 struct grub_util_biosdisk_data *data = disk->data;
1086 if (data->fd == -1)
1088 data->fd = open_device (disk, 0, O_RDONLY);
1089 if (data->fd < 0)
1092 fsync (data->fd);
1094 if (data->is_disk)
1095 ioctl (data->fd, BLKFLSBUF, 0);
1103 struct grub_util_biosdisk_data *data = disk->data;
1105 free (data->dev);
1106 if (data->fd != -1)
1108 if (data->access_mode == O_RDWR || data->access_mode == O_WRONLY)
1110 close (data->fd);
1112 free (data);