Commit Graph

31 Commits

Author SHA1 Message Date
2778c073a7 posix/fd: only define fallocate wrapper for Linux 2020-11-30 10:46:33 +10:00
3b66bb9066 io: add an fallocate wrapper 2020-11-28 08:39:40 +10:00
450b65e2e5 posix/fd: add an ftruncate wrapper 2020-01-21 13:03:49 +11:00
d0950a97fa posix/fd: fix the win32 pwrite emulation
We had assumed that WriteFile/OVERLAPPED operations didn't modify the
file cursor. This was wrong. We emulate the POSIX behaviour using a few
explicit seek calls.

This introduces an incorrect transient state, but isn't a huge problem
for our use cases.
2019-07-01 15:44:17 +10:00
577d7f5887 posix: prefer char strings for the time being 2019-05-04 11:33:43 +10:00
9e5cfc0dc6 build: many compilation fixes for win32 2019-01-04 17:13:21 +11:00
c34002ae07 posix/fd: add pwrite wrapper 2018-12-17 12:50:05 +11:00
1a82e4fe76 build: transition from experimental filesystem 2018-12-05 19:12:03 +11:00
4fd20d2acf posix/fd: move definition of O_BINARY into public header 2018-08-31 13:57:31 +10:00
1392fb40c9 posix/fd: define O_BINARY for systems without it 2018-08-28 13:01:55 +10:00
8c05cf2e1c posix/fd: double check the user has specified binary mode 2018-08-27 14:17:50 +10:00
1b5dfe437a posix/fd: make dup const
It's not strictly semantically correct, but it greatly simplifies reference
parameter binding in win32 memory mapping
2018-08-22 21:32:43 +10:00
b60aaccf6f build; fix compilation errors under win32
win32 builds are still totally unsupported, untested, and functionally
broken.
2018-08-13 14:52:40 +10:00
f6056153e3 rename root namespace from util to cruft
This places, at long last, the core library code into the same namespace
as the extended library code.
2018-08-05 14:42:02 +10:00
803acc9a87 relicense under MPL-2.0 2018-08-04 15:14:06 +10:00
cf800a35da move construction/assignment should be noexcept where possible 2018-07-24 15:48:50 +10:00
fd03c344b2 fd: remove const from members that modify fd state 2018-02-01 13:47:14 +11:00
39894b5619 fd: add read/write methods for views 2017-12-26 17:26:53 +11:00
fe979fc2a9 fd: add reset and release methods 2017-12-26 17:25:58 +11:00
bfcd63ec65 posix/fd: add read overloads that take char/byte views 2017-12-19 18:18:10 +11:00
c22a5a2a07 posix/fd: prefer error::try_value over explicit checks 2017-12-18 15:57:43 +11:00
77c88438d4 except: move posix/win32 exceptions to own units 2017-12-18 15:46:52 +11:00
34788756d2 build: don't use './' as an include prefix
GCC produces ODR error when including paths of the form './foo' and
'foo' in the same binary. Rather than managing duplication we just
universally pick the absolute form over the relative form.
2017-11-22 16:49:37 +11:00
5a810010fe posix/fd: add lseek member function 2016-10-11 20:58:31 +11:00
4196702b38 posix/fd: add read and write member functions 2016-10-11 20:58:19 +11:00
598c5d4e48 change const char paths to std::filesystem::path 2016-10-08 17:18:18 +11:00
ea5c3befe4 posix/fd: default open mode to 0666 2016-10-07 18:15:07 +11:00
51c8ee84ca posix/fd: add std::string overloads for paths 2016-10-07 18:14:56 +11:00
b949b90dd7 posix/fd: add more comments 2016-10-02 16:34:40 +11:00
152a55ad78 Merge remote-tracking branch 'origin/master' 2016-10-02 16:13:31 +11:00
790728d3b1 posix/fd: extract file descriptor into own unit 2016-10-02 15:50:13 +11:00