Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
This commit is contained in:
parent
84379b61d2
commit
6de292cb9b
8 changed files with 67 additions and 19 deletions
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue