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

@ -39,6 +39,22 @@ struct grub_util_fd
};
typedef struct grub_util_fd *grub_util_fd_t;
enum grub_util_fd_open_flags_t
{
GRUB_UTIL_FD_O_RDONLY = O_RDONLY,
GRUB_UTIL_FD_O_WRONLY = O_WRONLY,
GRUB_UTIL_FD_O_RDWR = O_RDWR,
GRUB_UTIL_FD_O_CREAT = O_CREAT,
GRUB_UTIL_FD_O_SYNC = (0
#ifdef O_SYNC
| O_SYNC
#endif
#ifdef O_FSYNC
| O_FSYNC
#endif
)
};
#define GRUB_UTIL_FD_INVALID NULL
#define GRUB_UTIL_FD_IS_VALID(x) ((x) != GRUB_UTIL_FD_INVALID)
#define GRUB_UTIL_FD_STAT_IS_FUNCTIONAL 0

View file

@ -25,6 +25,10 @@
#include <grub/symbol.h>
#include <grub/types.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#if defined (__NetBSD__)
/* NetBSD uses /boot for its boot block. */
# define DEFAULT_DIRECTORY "/"GRUB_DIR_NAME
@ -32,6 +36,22 @@
# define DEFAULT_DIRECTORY "/"GRUB_BOOT_DIR_NAME"/"GRUB_DIR_NAME
#endif
enum grub_util_fd_open_flags_t
{
GRUB_UTIL_FD_O_RDONLY = O_RDONLY,
GRUB_UTIL_FD_O_WRONLY = O_WRONLY,
GRUB_UTIL_FD_O_RDWR = O_RDWR,
GRUB_UTIL_FD_O_CREATTRUNC = O_CREAT | O_TRUNC,
GRUB_UTIL_FD_O_SYNC = (0
#ifdef O_SYNC
| O_SYNC
#endif
#ifdef O_FSYNC
| O_FSYNC
#endif
)
};
#define DEFAULT_DEVICE_MAP DEFAULT_DIRECTORY "/device.map"
typedef int grub_util_fd_t;

View file

@ -31,6 +31,15 @@ typedef HANDLE grub_util_fd_t;
#define DEFAULT_DIRECTORY "C:\\"GRUB_BOOT_DIR_NAME"\\"GRUB_DIR_NAME
#define DEFAULT_DEVICE_MAP DEFAULT_DIRECTORY "/device.map"
enum grub_util_fd_open_flags_t
{
GRUB_UTIL_FD_O_RDONLY = 1,
GRUB_UTIL_FD_O_WRONLY = 2,
GRUB_UTIL_FD_O_RDWR = 3,
GRUB_UTIL_FD_O_CREATTRUNC = 4,
GRUB_UTIL_FD_O_SYNC = 0,
};
LPTSTR
grub_util_utf8_to_tchar (const char *in);
char *