Age | Commit message (Collapse) | Author |
|
This is a straight port of @abbradar's work in #276, with
two (somewhat weak) tests and a bit of documentation.
|
|
887: Implement Debug trait for PollFd (Fixes #885) r=asomers a=kccqzy
This is useful when using printf-style debugging to observe the variables and
of the program.
This is discussed in issue #885.
Co-authored-by: Zhouyu Qian <qzy@qzy.io>
|
|
This is useful when using printf-style debugging to observe the variables of
the program.
Also includes a test.
Fixes #885.
|
|
883: Expose `preadv` and `pwritev` on BSDs r=asomers a=morrowa
This addresses issue #690.
It exposes the `preadv` and `pwritev` functions on supported BSDs (not including Apple platforms).
Co-authored-by: Andrew Morrow <andrew.d.morrow@gmail.com>
|
|
|
|
882: Update CHANGELOG for #833 r=Susurrus a=Susurrus
Forgot to mention the big changes in #833 before it was merged.
Co-authored-by: Bryant Mairs <bryantmairs@google.com>
|
|
|
|
833: Refactor the ioctl API and documentation r=posborne a=Susurrus
I still need to flesh out the docs for the different `ioctl_*!` variants that now exist. I separated them into different macros so they can have their own docs, which should help discoverability. And when macro namespacing comes around this will be a pretty neatly documented API I think (though we'll likely want to rename these macros again at that point).
* Split `ioctl!` into separate macros. This makes documentation easier to read.
* Expose `request_code_*!` in the documentation to make the `ioctl_*_bad` macros easier to use.
* Reorganize the file hierarchy to be simpler
cc @gabrielesvelto @posborne @jethrogb
Co-authored-by: Bryant Mairs <bryantmairs@google.com>
|
|
While usually `ioctl()` passes a pointer, the function call has been
overloaded to allow integers to be passed. For some platforms this
is an `int` and on others it's a `ulong`.
Fixes #824.
|
|
ioctls on FreeBSD and DragonflyBSD have a separate request code generation
macro `_IOWINT` which is now exposed as `request_code_write_int`.
`ioctl_write_int` is also fixed on these platforms to use this new request
|
|
* Split `ioctl!` into separate macros. This makes documentation easier to read.
* For every `ioctl_*!` macro include a description of the macro arguments as, the
function prototype for the generated wrapper function, and an example if we have one.
* Expose `request_code_*!` in the documentation to make the `ioctl_*_bad` macros easier to use.
* Reorganize the file hierarchy to be simpler
|
|
872: Change sys::aio::lio_listio to sys::aio::LioCb::listio r=asomers a=asomers
The new LioCb structure allows us to control the exact arguments passed
to lio_listio, guaranteeing that each call gets a unique storage
location for the list argument. This prevents clients from misusing
lio_listio in a way that causes events to get dropped from a kqueue
Fixes #870
|
|
It helps deal with errors like EAGAIN, which can result in a subset of
an LioCb's operations being queued. The test is only enabled on
FreeBSD, because it requires intimate knowledge of AIO system limits.
|
|
876: add mlockall and munlockall r=asomers a=afck
Closes #875
|
|
877: Replace the gcc crate by cc r=asomers a=Eijebong
|
|
|
|
|
|
|
|
857: Add chmod, fchmod, fchmodat functions r=asomers a=antage
|
|
|
|
Supporting the bytes crate was unnecessarily specific. This change
replaces from_bytes and from_bytes_mut with from_boxed_slice and
from_boxed_mut_slice, which can work with anything that implements
Borrow<[u8]> and BorrowMut<[u8]>, respectively.
|
|
A double panic can screw up the first panic's stack trace. Better not
to assert! anything when the thread is already panicing.
|
|
The new LioCb structure allows us to control the exact arguments passed
to lio_listio, guaranteeing that each call gets a unique storage
location for the list argument. This prevents clients from misusing
lio_listio in a way that causes events to get dropped from a kqueue
Fixes #870
|
|
873: add SO_MARK SetSockOpt for Linux r=asomers a=mcginty
SO_MARK allows traffic to be filtered by a "tag" using fwmark (see: https://www.linux.org/docs/man8/tc-fw.html).
Tested on Linux as root - the test will skip over when not being run as root, as I noticed a few other tests do this in the suite already.
|
|
|
|
860: Update the release procedure r=asomers a=Susurrus
Be more explicit about the development version to specify after doing a release.
cc @nox
Closes #468
|
|
869: Change SigAction::flags to use from_bits_truncated r=asomers a=Detegr
On Linux, if the signal trampoline code is in the C library, sigaction
sets the SA_RESTORER flag (0x04000000) in the sa_flags field of old
sigaction (see sigreturn(2)).
This is not intended for application use and is missing from SaFlags,
therefore from_bits fails and unwrapping panics the user program.
This fix just drops the bits that are not defined in SaFlags.
|
|
On Linux, if the signal trampoline code is in the C library, sigaction
sets the SA_RESTORER flag (0x04000000) in the sa_flags field of old
sigaction (see sigreturn(2)).
This is not intended for application use and is missing from SaFlags,
therefore from_bits fails and unwrapping panics the user program.
This fix just drops the bits that are not defined in SaFlags.
|
|
825: FreeBSD: cfmakesane, EVFILT_* r=Susurrus a=myfreeweb
Depends on: https://github.com/rust-lang/libc/pull/887
|
|
Don't change the version in `Cargo.toml` after publishing to crates.io
as it's unnecessary extra manual work.
|
|
846: Export socket options related macros r=Susurrus a=mexus
In this PR I've added docs to that macros and exported them.
I've also made related structs/traits to be public as well.
Hope I didn't forget anything :)
Reference issue: #577.
|
|
|
|
|
|
|
|
|
|
Fix markdown in the CHANGELOG
|
|
|
|
832: make statfs/statvfs to be available everywhere r=asomers a=ignatenkobrain
libc reads sys/statvfs.h on all OS except Windows which nix doesn't care
about.
Closes: https://github.com/nix-rust/nix/issues/831
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
|
|
libc reads sys/statvfs.h on all OS except Windows which nix doesn't care
about.
Closes: https://github.com/nix-rust/nix/issues/831
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
|
|
853: Update `InterfaceFlags` r=Susurrus a=LuoZijun
Add Flags: `IFF_NO_PI`, `IFF_TUN`, `IFF_TAP`.
|
|
Add Flags: `IFF_NO_PI`, `IFF_TUN`, `IFF_TAP`.
|
|
852: Add step function to ptrace r=Susurrus a=xd009642
Added step function to ptrace, this follows the same form as the PTRACE_CONTINUE by advanced the tracee by a single step!
Found when I was updating to nix 0.10.0 that this function had been missed out. Minor addition as `SINGLESTEP` works the same as `CONTINUE`
|
|
851: Added `getsid` in `::nix::unistd` r=asomers a=ggriffiniii
Resolves Issue #850
|
|
|
|
830: Add alarm r=asomers a=Thomasdezeeuw
Fixed #828.
|
|
856: Re-add ifaddrs module r=asomers a=Susurrus
Mistakingly removed in d1be45d8405.
Fixes #855.
|
|
Example now matches something more akin to an actual usecase.
|
|
Mistakingly removed in d1be45d8405
|
|
This module has two functions;
set: set an alarm, and
cancel: cancels a previously set alarm.
|
|
|