Jakub Konka
fc7d87fef1
Move symlink to fs.symlinkAbsolute with SymlinkFlags
...
This way `std.fs.symlinkAbsolute` becomes cross-platform and we can
legally include `SymlinkFlags` as an argument that's only used on
Windows. Also, now `std.os.symlink` generates a compile error on
Windows with a message to instead use `std.os.windows.CreateSymbolicLink`.
Finally, this PR also reshuffles the tests between `std.os.test` and
`std.fs.test`.
2020-07-22 08:51:22 +02:00
Jakub Konka
22362568cf
Refactor
2020-07-22 08:51:22 +02:00
Jakub Konka
3ab5e6b1a9
Ensure we use Win32 prefix in Win32 calls
2020-07-22 08:51:22 +02:00
Jakub Konka
cc9c5c5b0e
Handle relative/absolute symlinks; add more tests
2020-07-22 08:51:22 +02:00
Jakub Konka
a8a02dfbfa
Add smoke test for dir symlinks
2020-07-22 08:51:22 +02:00
Jakub Konka
30f1176a54
Add SymlinkFlags needed to create symlinks to dirs on Win
2020-07-22 08:51:22 +02:00
Jakub Konka
4894de2b32
Fix readlink smoke test
2020-07-22 08:51:22 +02:00
Jakub Konka
99e3e29e2e
Refactor
2020-07-22 08:51:22 +02:00
Jakub Konka
c47cb8d09f
Fix unlinkatW to allow file symlink deletion on Windows
2020-07-22 08:51:22 +02:00
Jakub Konka
ae8abedbed
Use NtCreateFile to get handle to reparse point
2020-07-22 08:51:22 +02:00
Jakub Konka
d17c9b3591
Fix incorrect byte format of REPARSE_DATA_BUFFER struct
2020-07-22 08:51:22 +02:00
Jakub Konka
9b00dc941b
Use windows.CreateFileW to open the reparse point
2020-07-22 08:51:22 +02:00
Jakub Konka
49b5815364
Add windows.ReadLink similar to OpenFile but for reparse points only
2020-07-22 08:51:22 +02:00
Jakub Konka
92d11fd4e9
Debug readlinkW using OpenFile
2020-07-22 08:51:22 +02:00
Jakub Konka
791795a63a
Finish symlink implementation on Windows
2020-07-22 08:51:22 +02:00
Jakub Konka
515c663cd6
Add readlink smoke test
2020-07-22 08:51:22 +02:00
Jakub Konka
cc83d92b0b
Start drafting out os.readlink on Windows
2020-07-22 08:51:22 +02:00
Anthony Arian
3658dd5e89
Merge branch 'master' of https://github.com/ziglang/zig into 5002-fix-entrypoint-with-winmain
2020-07-20 10:25:54 +01:00
Vexu
e85fe13e44
run zig fmt on std lib and self hosted
2020-07-11 20:41:19 +03:00
Shawn Anastasio
ec0d775524
Implement std.os for powerpc64{,le}
2020-07-01 16:10:49 -05:00
Andrew Kelley
0cfe8e5d6f
Merge pull request #5064 from marler8997/newAllocator
...
new allocator interface
2020-06-27 18:21:00 -04:00
Ryan Liptak
626b5eccab
Move fs-specific tests from os/test.zig to fs/test.zig
...
The moved tests do not use `std.os` directly and instead use `std.fs` functions, so it makes more sense for them to be in `fs/test.zig`
2020-06-27 10:17:08 +00:00
Jonathan Marler
dc9648f868
new allocator interface
2020-06-26 13:34:48 -06:00
Jakub Konka
be78b7b648
Implement fstatat targeting WASI
...
Also, add more informative `@compileError` in a few `std.os` functions
that would otherwise yield a cryptic compile error when targeting
WASI. Finally, enhance docs in a few places and add test case for
`fstatat`.
2020-06-24 21:00:21 +02:00
Jakub Konka
c950f0c6c3
Enhance std.os.readlinkat coverage
...
Adds Windows stub (still needs to be implemented on Windows),
adds WASI implementation, adds unit test testing basic chain of
ops: create file -> symlink -> readlink.
2020-06-22 09:40:06 +02:00
Jakub Konka
64078ca924
Enhance std.os.symlinkat coverage
...
Fixes `std.os.symlinkat` compile errors, adds Windows stub (still
needs to be implemented), adds WASI implementation.
2020-06-22 09:14:51 +02:00
Nameless
56220449ab
Add errors to windows.WSAStartup and WSACleanup
2020-06-21 00:13:06 -04:00
Andrew Kelley
da549a72e1
zig fmt
2020-06-20 18:39:15 -04:00
Anthony Arian
5e48ed4a8d
Implement WinMain Callers that Pass Valid Params
2020-06-15 22:46:16 +01:00
Ryan Liptak
f839d34baa
std.os.windows.OpenFile: Handle FILE_IS_A_DIRECTORY status
...
Fixes #5533
2020-06-04 22:53:23 -04:00
Ryan Liptak
95a5f6bf2d
Windows: Handle ERROR_DIRECTORY in std.fs.deleteDirAbsolute when called on a file path
...
ERROR_DIRECTORY (267) is returned from kernel32.RemoveDirectoryW if the path is not a directory. Note also that os.DirectDirError already includes NotDir
Before: error.Unexpected: GetLastError(267): The directory name is invalid.
After: error: NotDir
2020-06-04 22:52:53 -04:00
Andrew Kelley
7fd937fef4
cleanups
...
* improve docs
* add TODO comments for things that don't have open issues
* remove redundant namespacing of struct fields
* guard against ioctl returning EINTR
* remove the general std.os.ioctl function in favor of the specific
ioctl_SIOCGIFINDEX function. This allows us to have a more precise
error set, and more type-safe API.
2020-06-02 15:28:46 -04:00
Luna
6623efd7d4
Change ioctl's request type to i32
2020-06-02 14:56:19 -04:00
Luna
7c71054286
Replace syscall3 to os.ioctl
2020-06-02 14:56:19 -04:00
Luna
c8468bed42
Add std.os.ioctl
2020-06-02 14:56:19 -04:00
Luna
aebf28eba3
Make ifru fields sentinel-terminated
2020-06-02 14:56:06 -04:00
Luna
c60daa255f
Replace C types in declarations
2020-06-02 14:56:06 -04:00
Luna
10ea2db5cb
Replace C shorts by integer types
2020-06-02 14:56:06 -04:00
Luna
cb649b769c
Fix ifreq definition
2020-06-02 14:56:06 -04:00
Luna
2c641c93da
Only resolve scope id when needed
2020-06-02 14:56:06 -04:00
Luna
9c200035f3
Add some interface structs to linux bits
2020-06-02 14:56:06 -04:00
Andrew Kelley
c6764fd254
Merge pull request #5475 from marler8997/windowsDns
...
support name resolution on windows
2020-06-01 15:33:05 -04:00
Alexandros Naskos
215a0d61ab
Fix evented builds on windows with runtime safety on
2020-06-01 14:22:45 -04:00
Jonathan Marler
58fb5b29b6
more windows network fixes
...
* support posix SOCK_NONBLOCK and SOCK_CLOEXEC flags on windows
* fix bugs in os.socket and os.connect to return at the correct place
2020-05-31 10:07:51 -06:00
Veikka Tuominen
899d79f8f0
Merge pull request #5478 from vrischmann/fix-iouring
...
linux: fix IOSQE_BIT decl and io_uring_sqe flags
2020-05-31 16:59:04 +03:00
Vincent Rischmann
636d3ba780
linux: fix IOSQE_BIT decl and io_uring_sqe flags
2020-05-30 16:05:46 +02:00
Alexandros Naskos
dbdacb0938
Fix WSARecvFrom signature
...
The lpFromLen should be a pointer.
2020-05-30 16:46:32 +03:00
Jonathan Marler
2eaab1e65e
more windows network support, including dns
2020-05-29 22:38:48 -06:00
Andrew Kelley
7c8d0cc678
fix pwrite on 32-bit linux
2020-05-25 19:59:39 -04:00
Andrew Kelley
3052fd84c8
fix regression in std.os.windows.fromSysTime
2020-05-25 00:37:47 -04:00