#define sh_pread pread64
#define sh_pwrite pwrite64
#define sh_stat stat64
+#define sh_fstat fstat64
+typedef struct stat64 sh_stat_t;
#else /* !CONFIG_LFS */
#define sh_pread pread
#define sh_pwrite pwrite
#define sh_stat stat
+#define sh_fstat fstat
+typedef struct stat sh_stat_t;
#endif /* !CONFIG_LFS */
+#if defined(_POSIX_SYNCHRONIZED_IO) && (_POSIX_SYNCHRONIZED_IO > 0)
+#define sh_fdatasync fdatasync
+#else
+#define sh_fdatasync fsync
+#endif
+
#define HAVE_PREAD
static inline sh_off_t
-sh_file_size(byte *name)
+sh_file_size(const char *name)
{
int fd = sh_open(name, O_RDONLY);
if (fd < 0)