lithdew
16fc1b904c
std/os/linux/bits: correct socket option codes for ppc/ppc64
2021-05-03 14:49:10 +09:00
LemonBoy
69a9c1488d
std: Add signal numbers for SPARC
2021-05-01 12:25:40 +02:00
LemonBoy
527053a4e4
std: Import correct errno defs for SPARC
...
Taken from Linux arch/sparc/include/uapi/asm/errno.h
2021-05-01 11:03:59 +02:00
Benjamin Feng
df910b33f4
Add ppc Linux bits
2021-04-10 22:47:22 -05:00
Vincent Rischmann
5ce4524027
os/bits/linux: add IPv6 socket options
2021-04-04 20:43:41 +03:00
Vincent Rischmann
3dd8396a55
os/linux: fix IO_Uring.timeout
...
According to the io_uring PDF (https://kernel.dk/io_uring.pdf ) the
timeout struct must be 64 bits on both 32 and 64 bit architectures.
2021-03-02 14:13:11 +02:00
Vincent Rischmann
3468872d83
os/bits/linux: add the termios cc bits
2021-01-11 15:39:36 -08:00
Robin Voetter
83fad7d4f7
Add IP_ constants
2021-01-08 01:35:52 +01:00
daurnimator
e4c4a0a5f6
Improve uring definitions
2021-01-03 19:52:20 -08:00
Frank Denis
6c2e0c2046
Year++
2020-12-31 15:45:24 -08:00
Andrew Kelley
53987c932c
std.crypto.random: introduce fork safety
...
Everybody gets what they want!
* AT_RANDOM is completely ignored.
* On Linux, MADV_WIPEONFORK is used to provide fork safety.
* On pthread systems, `pthread_atfork` is used to provide fork safety.
* For systems that do not have the capability to provide fork safety,
the implementation falls back to calling getrandom() every time.
* If madvise is unavailable or returns an error, or pthread_atfork
fails for whatever reason, it falls back to calling getrandom() every
time.
* Applications may choose to opt-out of fork safety.
* Applications may choose to opt-in to unconditionally calling
getrandom() for every call to std.crypto.random.fillFn.
* Added `std.meta.globalOption`.
* Added `std.os.madvise` and related bits.
* Bumped up the size of the main thread TLS buffer. See the comment
there for justification.
* Simpler hot path in TLS initialization.
2020-12-18 15:54:01 -07:00
Tau
9b86dde7b9
Add baudrate constants
...
This adds the missing baudrate constants for linux where I've used them
directly.
2020-12-17 19:17:10 +02:00
LemonBoy
629cc6cf28
std: Further siginfo refinements
...
* Define siginfo and sigaction for Darwin
* Define sigaction/handler union for maximum libc compatibility
* Minor correction to some type definitions
2020-12-12 16:44:10 +01:00
LemonBoy
beae3cea17
std: Improve sigaction interface
...
Add a smoke test to prevent regressions.
2020-12-12 13:57:25 +01:00
Andrew Kelley
c9551652b0
Merge pull request #6978 from LemonBoy/statshit
...
Decouple kernel and libc stat definitions
2020-11-05 17:27:22 -05:00
Andrew Kelley
f85d719952
Merge pull request #6895 from jorangreef/fallocate
...
linux: add fallocate()
2020-11-05 17:23:00 -05:00
LemonBoy
346a686b9d
std: Correct stack_t definition for mips
2020-11-04 15:55:06 +01:00
Andrew Kelley
909aae8153
Merge pull request #6792 from koachan/sparc64-linux
...
Initial sparc64-linux bringup
2020-11-01 22:14:56 -05:00
Joran Dirk Greef
2fdb30a571
Add definitions for FALLOC_FL_ mode flags
2020-11-01 11:47:09 +02:00
Andrew Kelley
a41c0b63bb
Merge pull request #6356 from jorangreef/io_uring
...
std: add io_uring library
2020-10-29 18:20:38 -04:00
Koakuma
785153d756
Fix SA_* constants for sparc64
2020-10-25 20:39:32 +07:00
Koakuma
cdbf66e36e
Add sparc64-specific values for the various SA_ and SIG_ constants
2020-10-24 20:05:34 +07:00
Koakuma
de06b0a635
Add sparc64 linux bits
2020-10-24 19:59:04 +07:00
LemonBoy
96fe971051
std: Minor changes to startup code
...
* Smaller startup sequence for ppc64
* Terminate the frame-pointer chain when executing _start
* Make the stack traces work on ppc64
* Make the stack traces coloured on ppc64, some ioctls numbers are
different and the whole set of constants should be audited.
2020-10-19 15:15:43 +02:00
Jan Prudil
aadccc4206
Make std.meta.Int accept a signedness parameter
2020-10-17 14:09:59 +02:00
Benjamin Feng
9de0f15b8e
Rename ix_rss -> ixrss
2020-10-08 15:31:36 -05:00
xackus
4ec26be424
implement {get, set}rlimit for linux
2020-10-04 23:56:10 +02:00
Joran Dirk Greef
c5b4fcaa1c
Add IORING_FEAT_POLL_32BITS
2020-10-03 17:43:08 +02:00
Joran Dirk Greef
5f99d2c240
Define SPLICE, PROVIDE_BUFFERS, REMOVE_BUFFERS and TEE opcodes and flags
2020-09-21 20:15:14 +02:00
Joran Dirk Greef
a853f00410
Add IORING_FEAT_FAST_POLL
2020-09-20 19:51:23 +02:00
Joran Dirk Greef
4bc1b7a7ac
Fix io_uring_sqe to use the names of the first member of each union
...
Now we're really future-proof... no more `opflags` creeping in.
When anonymous unions land, we can start using `accept_flags` etc.
Until then, code using this struct won't break when the kernel adds features.
Refs: https://github.com/ziglang/zig/issues/6349
Refs: https://github.com/ziglang/zig/issues/985
2020-09-19 18:50:24 +02:00
Joran Dirk Greef
e7ae6f2fad
Remove default values from io_uring_sqe struct
2020-09-19 18:14:41 +02:00
Joran Dirk Greef
873d1c80b3
Add splice_fd_in to io_uring_sqe and future-proof for anonymous unions
2020-09-19 16:15:17 +02:00
Joran Dirk Greef
d966fe6319
Add IORING_SQ_CQ_OVERFLOW to std/os/bits/linux.zig
2020-09-17 19:53:34 +02:00
Isaac Freund
b6f4601545
std: add securebits definitions for linux
2020-09-11 22:32:23 +02:00
Isaac Freund
7b961a876b
std: add prctl definition for linux
2020-09-11 22:32:22 +02:00
Andrew Kelley
2315331d23
Merge pull request #5527 from shawnanastasio/ppc64le
...
Implement support for powerpc64{,le}
2020-09-10 15:56:27 -04:00
Jens Goldberg
5bf3e54018
Add the Linux TCP socket options
2020-09-08 13:00:07 -04:00
Veikka Tuominen
41bbadbb9a
Merge pull request #6246 from Vexu/field
...
Remove deprecated fields on `type`
2020-09-05 13:58:02 +03:00
Vexu
1df0f3ac24
update uses of deprecated type field access
2020-09-03 18:10:40 +03:00
Isaac Freund
e8a2aecd2f
std: fix linux uid_t, use uid_t/gid_t in std.os
...
- correct uid_t from i32 to u32 on linux
- define uid_t and gid_t for OSes missing definitions
- use uid_t/gid_t instead of plain u32s throughout std.os
2020-09-03 15:08:37 +02:00
Matthew Knight
0fa3cfdb4a
Bpf: move under os/linux instead of bits ( #6126 )
...
* moved bpf syscall, added some bpf instructions and tests
* had to move bpf out of bits so that a freestanding target could import it
* removed line
* fixed imports
2020-08-22 15:08:01 -04:00
Matt Knight
80fabe1850
fixed bpf namespace
2020-08-21 11:40:35 -07:00
heidezomp
1ca49b92c6
add UTIME_NOW and UTIME_OMIT constants for use in utimensat/futimens
...
copied from lib/libc/include/generic-musl/sys/stat.h
2020-08-20 17:02:58 -04:00
Andrew Kelley
4a69b11e74
add license header to all std lib files
...
add SPDX license identifier
copyright ownership is zig contributors
2020-08-20 16:07:04 -04:00
Matthew Knight
d605af511a
added bpf() syscall and some supporting structs ( #6061 )
...
* added bpf syscall and some supporting structs
* moved bpf to bits and added flags
2020-08-17 22:17:04 -04:00
luna
a6626802f9
Add signalfd support ( #5322 )
...
* add signalfd_siginfo to linux bits
* Cast sigaddset's shift value to u5
* linux: add signalfd4
* os: add signalfd
2020-07-22 17:26:27 -04:00
Shawn Anastasio
ec0d775524
Implement std.os for powerpc64{,le}
2020-07-01 16:10:49 -05: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
aebf28eba3
Make ifru fields sentinel-terminated
2020-06-02 14:56:06 -04:00