summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-04-28select: add pselect syscallAndreas Fuchs
This is a straight port of @abbradar's work in #276, with two (somewhat weak) tests and a bit of documentation.
2018-04-20Merge #887bors[bot]
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>
2018-04-19Implement Debug trait for PollFdZhouyu Qian
This is useful when using printf-style debugging to observe the variables of the program. Also includes a test. Fixes #885.
2018-04-19Merge #883bors[bot]
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>
2018-04-18Support preadv/pwritev on BSDsAndrew Morrow
2018-04-11Merge #882bors[bot]
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>
2018-04-11[skip ci] Update CHANGELOG for #833Bryant Mairs
2018-04-11Merge #833bors[bot]
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>
2018-04-10Correct the third argument to ioctl on appropriate platforms.Bryant Mairs
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.
2018-04-10Implement equivalent for _IOWINT for FreeBSD-like targetsBryant Mairs
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
2018-04-10Refactor the ioctl API and documentationBryant Mairs
* 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
2018-04-07Merge #872bors[bot]
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
2018-04-06Add LioCb::listio_resubmitAlan Somers
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.
2018-03-29Merge #876bors[bot]
876: add mlockall and munlockall r=asomers a=afck Closes #875
2018-03-28Merge #877bors[bot]
877: Replace the gcc crate by cc r=asomers a=Eijebong
2018-03-28Replace the gcc crate by ccBastien Orivel
2018-03-27add docs for memory locking functionsAndreas Fackler
2018-03-27add mlockall and munlockallAndreas Fackler
2018-03-24Merge #857bors[bot]
857: Add chmod, fchmod, fchmodat functions r=asomers a=antage
2018-03-23Add fchmod, fchmodat functions.Anton Ageev
2018-03-22Replace AioCb::from_bytes with more generic from_boxed_sliceAlan Somers
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.
2018-03-22Fix an annoying double panicAlan Somers
A double panic can screw up the first panic's stack trace. Better not to assert! anything when the thread is already panicing.
2018-03-22Change sys::aio::lio_listio to sys::aio::LioCb::listioAlan Somers
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
2018-03-22Merge #873bors[bot]
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.
2018-03-21add SO_MARK SetSockOpt for LinuxJake McGinty
2018-03-21Merge #860bors[bot]
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
2018-03-02Merge #869bors[bot]
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.
2018-03-02Change SigAction::flags to use from_bits_truncatedAntti Keränen
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.
2018-02-21Merge #825bors[bot]
825: FreeBSD: cfmakesane, EVFILT_* r=Susurrus a=myfreeweb Depends on: https://github.com/rust-lang/libc/pull/887
2018-02-19[skip ci] Update the release procedureBryant Mairs
Don't change the version in `Cargo.toml` after publishing to crates.io as it's unnecessary extra manual work.
2018-02-17Merge #846bors[bot]
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.
2018-02-15socket get-/setsockopt: document internal macros, types and traitsmexus
2018-02-12Expose MSG_CMSG_CLOEXEC on *BSDGreg V
2018-02-12Add cfmakesane() on FreeBSDGreg V
2018-02-12Add missing kqueue event filters on FreeBSDGreg V
2018-02-11Merge pull request #859 from Susurrus/fix_changelogAlan Somers
Fix markdown in the CHANGELOG
2018-02-11[skip ci] Fix markdown in the CHANGELOGBryant Mairs
2018-02-09Merge #832bors[bot]
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>
2018-02-08make statfs/statvfs to be available wherever they are availableIgor Gnatenko
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>
2018-02-08Merge #853bors[bot]
853: Update `InterfaceFlags` r=Susurrus a=LuoZijun Add Flags: `IFF_NO_PI`, `IFF_TUN`, `IFF_TAP`.
2018-02-08Update `InterfaceFlags`寧靜
Add Flags: `IFF_NO_PI`, `IFF_TUN`, `IFF_TAP`.
2018-02-07Merge #852bors[bot]
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`
2018-02-06Merge #851bors[bot]
851: Added `getsid` in `::nix::unistd` r=asomers a=ggriffiniii Resolves Issue #850
2018-02-05Add test for getsid.Glenn Griffin
2018-02-03Merge #830bors[bot]
830: Add alarm r=asomers a=Thomasdezeeuw Fixed #828.
2018-02-03Merge #856bors[bot]
856: Re-add ifaddrs module r=asomers a=Susurrus Mistakingly removed in d1be45d8405. Fixes #855.
2018-02-03Updated example to be more meaningfulxd009642
Example now matches something more akin to an actual usecase.
2018-02-02Re-add ifaddrs moduleBryant Mairs
Mistakingly removed in d1be45d8405
2018-02-02Add alarm moduleThomas de Zeeuw
This module has two functions; set: set an alarm, and cancel: cancels a previously set alarm.
2018-02-01Corrected typoxd009642