Commit Graph

72 Commits

Author SHA1 Message Date
1672020ebb posix/flock: disable this class if under Windows 2024-02-21 14:55:29 +10:00
aca6d6fd08 posix/flock: add missing include guard 2022-09-19 11:03:44 +10:00
1c0ff49bb0 posix/flock: add the lval-ref fd constructor 2022-09-14 14:18:06 +10:00
c69a508757 posix/interface: add forgotten stdlib header 2022-07-25 11:58:59 +10:00
3d085c4de7 posix: add flock wrapper 2022-01-19 11:24:15 +10:00
50b2105df5 build: clang-tidy fixes 2021-04-19 14:52:22 +10:00
92afaf38ec build: avoid double underscore header guards 2021-04-14 15:35:49 +10:00
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
8beada1646 debug: split debug headers into components 2019-05-17 12:26:08 +10:00
c3c36a662b posix/ostream: protect win32 against missing stat members 2019-05-05 09:30:00 +10:00
577d7f5887 posix: prefer char strings for the time being 2019-05-04 11:33:43 +10:00
5fb87ea4c4 posix/ostream: add stat ostream operators 2019-04-26 12:11:42 +10:00
cd8a2d9816 posix/util: add stat wrappers 2019-04-26 12:11:25 +10:00
6dadff769e posix: prefer invoke over manual calls 2019-02-24 21:34:27 +11:00
0349d24473 posix/interface: move data holding into the container 2019-02-02 20:39:32 +11:00
a64e721cf0 posix/interface: add initial interface query logic 2019-02-02 19:09:35 +11:00
46ff7299bf posix/socket: allow binding with sockaddr 2019-02-02 18:11:30 +11: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
2ad86d28a5 posix/except: add try_call 2018-09-10 12:36:42 +10: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
1b92ac5f61 posix/socket: add defaulting wrapper for recvfrom 2018-07-27 21:06:25 +10:00
d99b257268 posix/socket: add wrappers for sendto and recvfrom 2018-07-27 18:29:43 +10:00
f0eb3f0775 posix/socket: add wrappers for connect and bind 2018-07-27 18:29:30 +10:00
cf800a35da move construction/assignment should be noexcept where possible 2018-07-24 15:48:50 +10:00
a4844fa7ed posix/except: add 'what' member for code class 2018-07-05 13:45:10 +10:00
5b9eae9b25 posix/except: add templated error_code 2018-04-01 14:43:28 +10:00
0e3fa05f05 build: migrate from ipp files to pure hpp files
ipp files weren't a great way of keeping things clean, and IDEs have a
little trouble dealing with the split configuration. this simplifies
debugging a great deal.
2018-02-28 11:49:13 +11:00
1f270f760f posix/fd: increment iterators by sizeof(ValueT) not byte count 2018-02-26 10:54:55 +11:00
8c8a252d9f build: prefer nodiscard over warn_unused_result 2018-02-01 13:47:42 +11:00
fd03c344b2 fd: remove const from members that modify fd state 2018-02-01 13:47:14 +11:00
9045e16476 io: expose only view style read/write from io module
Allow the destination file-like object to implement whatever style
writers and readers they want, but don't expose those directly via the
io module.
2018-01-31 19:30:48 +11:00
0f450b5b1c p/socket: correctly iterate through name lookups 2017-12-30 13:40:04 +11:00
a979b253f5 socket: correctly iterate over lookup entries 2017-12-26 17:27:36 +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
ce64396da4 posix/socket: add a convenience wrapper for sockets 2017-12-22 18:38:30 +11:00
a6af7a8657 posix/fd: add explicit native conversion function 2017-12-22 18:34:30 +11:00
d80855aedf posix/except: add exception class for EAI_* codes 2017-12-22 18:34:00 +11:00
bfcd63ec65 posix/fd: add read overloads that take char/byte views 2017-12-19 18:18:10 +11:00