Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.

This commit is contained in:
Vladimir 'phcoder' Serbinenko 2013-10-14 02:11:59 +02:00
parent 84379b61d2
commit 6de292cb9b
8 changed files with 67 additions and 19 deletions

View file

@ -505,7 +505,7 @@ grub_cryptodisk_open (const char *name, grub_disk_t disk)
if (dev->cheat)
{
if (!GRUB_UTIL_FD_IS_VALID (dev->cheat_fd))
dev->cheat_fd = grub_util_fd_open (dev->cheat, O_RDONLY);
dev->cheat_fd = grub_util_fd_open (dev->cheat, GRUB_UTIL_FD_O_RDONLY);
if (!GRUB_UTIL_FD_IS_VALID (dev->cheat_fd))
return grub_error (GRUB_ERR_IO, N_("cannot open `%s': %s"),
dev->cheat, strerror (errno));

View file

@ -210,7 +210,7 @@ make_uuid (const struct grub_geli_phdr *header,
char *
grub_util_get_geli_uuid (const char *dev)
{
grub_util_fd_t fd = grub_util_fd_open (dev, O_RDONLY);
grub_util_fd_t fd = grub_util_fd_open (dev, GRUB_UTIL_FD_O_RDONLY);
grub_uint64_t s;
unsigned log_secsize;
grub_uint8_t hdr[512];

View file

@ -151,7 +151,7 @@ grub_util_biosdisk_open (const char *name, grub_disk_t disk)
{
grub_util_fd_t fd;
fd = grub_util_fd_open (map[drive].device, O_RDONLY);
fd = grub_util_fd_open (map[drive].device, GRUB_UTIL_FD_O_RDONLY);
if (!GRUB_UTIL_FD_IS_VALID(fd))
return grub_error (GRUB_ERR_UNKNOWN_DEVICE, N_("cannot open `%s': %s"),
@ -232,12 +232,7 @@ grub_util_fd_open_device (const grub_disk_t disk, grub_disk_addr_t sector, int f
*max = ~0ULL;
#ifdef O_SYNC
flags |= O_SYNC;
#endif
#ifdef O_FSYNC
flags |= O_FSYNC;
#endif
flags |= GRUB_UTIL_FD_O_SYNC;
if (data->dev && strcmp (data->dev, map[disk->id].device) == 0 &&
data->access_mode == (flags & O_ACCMODE))
@ -293,7 +288,7 @@ grub_util_biosdisk_read (grub_disk_t disk, grub_disk_addr_t sector,
{
grub_util_fd_t fd;
grub_disk_addr_t max = ~0ULL;
fd = grub_util_fd_open_device (disk, sector, O_RDONLY, &max);
fd = grub_util_fd_open_device (disk, sector, GRUB_UTIL_FD_O_RDONLY, &max);
if (!GRUB_UTIL_FD_IS_VALID (fd))
return grub_errno;
@ -328,7 +323,7 @@ grub_util_biosdisk_write (grub_disk_t disk, grub_disk_addr_t sector,
{
grub_util_fd_t fd;
grub_disk_addr_t max = ~0ULL;
fd = grub_util_fd_open_device (disk, sector, O_WRONLY, &max);
fd = grub_util_fd_open_device (disk, sector, GRUB_UTIL_FD_O_WRONLY, &max);
if (!GRUB_UTIL_FD_IS_VALID (fd))
return grub_errno;
@ -364,7 +359,7 @@ grub_util_biosdisk_flush (struct grub_disk *disk)
if (!GRUB_UTIL_FD_IS_VALID (data->fd))
{
grub_disk_addr_t max;
data->fd = grub_util_fd_open_device (disk, 0, O_RDONLY, &max);
data->fd = grub_util_fd_open_device (disk, 0, GRUB_UTIL_FD_O_RDONLY, &max);
if (!GRUB_UTIL_FD_IS_VALID (data->fd))
return grub_errno;
}
@ -408,7 +403,7 @@ grub_util_check_file_presence (const char *p)
{
#if defined (__MINGW32__) || defined(__CYGWIN__)
HANDLE h;
h = grub_util_fd_open (p, O_RDONLY);
h = grub_util_fd_open (p, GRUB_UTIL_FD_O_RDONLY);
if (!GRUB_UTIL_FD_IS_VALID(h))
return 0;
CloseHandle (h);

View file

@ -194,19 +194,23 @@ grub_util_fd_seek (grub_util_fd_t fd, const char *name, grub_uint64_t off)
grub_util_fd_t
grub_util_fd_open (const char *os_dev, int flags)
{
DWORD flg = 0;
DWORD flg = 0, crt;
LPTSTR dev = grub_util_get_windows_path (os_dev);
grub_util_fd_t ret;
if (flags & O_WRONLY)
if (flags & GRUB_UTIL_FD_O_WRONLY)
flg |= GENERIC_WRITE;
if (flags & O_RDONLY)
if (flags & GRUB_UTIL_FD_O_RDONLY)
flg |= GENERIC_READ;
flg = GENERIC_READ;
if (flags & GRUB_UTIL_FD_O_CREATTRUNC)
crt = CREATE_ALWAYS;
else
crt = OPEN_EXISTING;
ret = CreateFile (dev, flg, FILE_SHARE_READ | FILE_SHARE_WRITE,
0, OPEN_EXISTING, 0, 0);
0, crt, 0, 0);
free (dev);
grub_util_info ("handle = %p", ret);
return ret;
}