diff options
author | Samuel Williams <samuel.williams@oriontransfer.co.nz> | 2023-05-24 09:15:20 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-24 09:15:20 +0900 |
commit | 28056a6d161417bd7b3aed8099f59f4ac164b351 (patch) | |
tree | bf10d11f371f09f73bdc4eebd6bd6f0e360f9f08 /include | |
parent | 9592bc703922933c4196748a0e7221a53ad50b9b (diff) |
Add support for pread/pwrite on windows. (#7827)
Notes
Notes:
Merged-By: ioquatix <samuel@codeotaku.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/ruby/win32.h | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/include/ruby/win32.h b/include/ruby/win32.h index 197eb8a802..50713e9d6c 100644 --- a/include/ruby/win32.h +++ b/include/ruby/win32.h @@ -147,8 +147,16 @@ typedef int clockid_t; #define open rb_w32_uopen #define close(h) rb_w32_close(h) #define fclose(f) rb_w32_fclose(f) -#define read(f, b, s) rb_w32_read(f, b, s) -#define write(f, b, s) rb_w32_write(f, b, s) + +#define read(f, b, s) rb_w32_read(f, b, s, NULL) +#define write(f, b, s) rb_w32_write(f, b, s, NULL) + +#define HAVE_PREAD +#define pread(f, b, s, o) rb_w32_pread(f, b, s, o) + +#define HAVE_PWRITE +#define pwrite(f, b, s, o) rb_w32_pwrite(f, b, s, o) + #define getpid() rb_w32_getpid() #undef HAVE_GETPPID #define HAVE_GETPPID 1 @@ -714,8 +722,10 @@ int rb_w32_wopen(const WCHAR *, int, ...); int rb_w32_close(int); int rb_w32_fclose(FILE*); int rb_w32_pipe(int[2]); -ssize_t rb_w32_read(int, void *, size_t); -ssize_t rb_w32_write(int, const void *, size_t); +ssize_t rb_w32_read(int, void *, size_t, rb_off_t *offset); +ssize_t rb_w32_write(int, const void *, size_t, rb_off_t *offset); +ssize_t rb_w32_pread(int, void *, size_t, rb_off_t offset); +ssize_t rb_w32_pwrite(int, const void *, size_t, rb_off_t offset); rb_off_t rb_w32_lseek(int, rb_off_t, int); int rb_w32_uutime(const char *, const struct utimbuf *); int rb_w32_uutimes(const char *, const struct timeval *); |