summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2017-04-09Split socket consts. test across ARM arch.Zac Berkowitz
2017-04-09Removed tests on ARM for non-existant constants.Zac Berkowitz
2017-04-09Removed unused libc imports in termios.Zac Berkowitz
2017-04-09Added missing syscalls for powerpcZac Berkowitz
2017-04-09Re-enabled errorno test for not_android.Zac Berkowitz
2017-04-09Removed some socket constants from arch=armZac Berkowitz
2017-04-09Fixed constants for MIPSZac Berkowitz
2017-04-09Fixes nix-rust/nix#532Zac Berkowitz
2017-04-09Switched bsd speed_t def. to libc::speed_tZac Berkowitz
2017-03-22add support `readlink|readlinkat`Jörg Thalheim
2017-03-21add support for `fstatat`Jörg Thalheim
2017-03-21add support for `openat`Jörg Thalheim
2017-03-18Actually mark mmap and related functions as `unsafe`Kevin Mehall
The nix::sys::mman::mmap documentation says > Calls to mmap are inherently unsafe, so they must be made in an unsafe block. however, the function was not actually marked unsafe. * `munmap` should also be `unsafe` for obvious reasons. * `madvise` should be `unsafe` because of the MADV_DONTNEED flag. * `mlock` was already marked `unsafe` * `munlock` and `msync` don't strictly need to be `unsafe` despite taking pointers AFAICT, but are marked `unsafe` for consistency and in case they add additional flags in the future.
2017-03-02Remove revents from PollFd::newBryant Mairs
revents is an output field so regardless of what value it is set to it will be overwritten by many of the function calls that take a PollFd. The only value that makes sense for the caller to pass in in `EventFlags::empty()` so we just hardcode that instead of making the caller do it.
2017-02-28fcntl: Expose FcntlArg variants at the module levelKamal Marhubi
This allows importing them directly from `nix::fcntl` which is more ergonomic than needing to use them via `FcntlArg`.
2017-02-27fcntl: Support getting and setting pipe size on LinuxKamal Marhubi
2017-02-27Auto merge of #506 - asomers:aio3, r=posborneHomu
Improve AIO API - Turn most `aio_*` functions into `AioCb` methods - Add runtime checks to `AioCb` methods - Implement `Drop` for `AioCb`
2017-02-26Auto merge of #520 - Susurrus:master, r=fiveopHomu
Add ppoll() This will currently fail CI, as the necessary changes haven't hit libc yet. That is tracked in rust-lang/libc#537. This does build on my computer using the changes tracked on that PR, so I'd appreciate any visual review of this code as it should be "done". I also wanted to get this submitted so hopefully it'd be in the queue for the 0.8 release.
2017-02-26Auto merge of #526 - Fulkerson:master, r=posborneHomu
Remove EPOLLWAKEUP and SIGEV_THREAD_ID when cross-compiling to MIPS. With this nix builds for mipsel-unknown-linux-gnu.
2017-02-26Auto merge of #518 - berkowski:baud_constants, r=posborneHomu
Added BaudRate enum for termios Issue #514 Does not provide `BaudRate::EXTA` or `BaudRate::EXTB` constants. These seem to alias to `B19200` and `B38400` respectively and so break the 1:1 mapping needed by `From`. I don't know their historic use.
2017-02-25Remove EPOLLWAKEUP and SIGEV_THREAD_ID when cross-compiling to MIPS.Johan Anderholm
2017-02-25Add ppoll()Bryant Mairs
2017-02-25epoll: Use libc_bitflags for EpollFlagsKamal Marhubi
This is possible now that EPOLLEXCLUSIVE was added to libc in https://github.com/rust-lang/libc/pull/526
2017-02-24impl Debug for AioCb and SigevNotifyAlan Somers
Also, fix style bug in AIO tests
2017-02-25Using baud constants from libcZac Berkowitz
New baud constants landed in rust-lang/libc#530, we'll use them.
2017-02-25Corrected linux baud constants to octalsZac Berkowitz
2017-02-25Added BaudRate enum for termiosZac Berkowitz
Issue #514
2017-02-23Auto merge of #503 - Idolf:bitflags, r=kamalmarhubiHomu
Fix the style for bitflags! Prefer `libc_bitflags!` over `bitflags!`. Prefer `libc::CONSTANTS` over writing the constant manually. This makes #501 unnecessary, since upstream now contains the `O_TMPFILE` constant.
2017-02-22Fix the inner type of EpollFlagsMathias Svensson
2017-02-23Auto merge of #513 - yxd-hde:fix-musl, r=posborneHomu
Fix unresolved name error when building with musl. See: https://git.musl-libc.org/cgit/musl/tree/src/time/timer_create.c#n126
2017-02-19Fix the style for bitflags!Mathias Svensson
Prefer libc_bitflags! over bitflags!. Prefer libc::CONSTANTS over writing the constant manually.
2017-02-18Auto merge of #508 - aidanhs:aphs-major-minor-macros, r=posborneHomu
Implement major/minor macros, correct mkdev It appears that the previous `mkdev` was based on the kernel headers (https://github.com/torvalds/linux/blob/v4.7/include/linux/kdev_t.h#L6) which (I guess) is the internal kernel dev_t. Scrolling down the file you can see some bitshifting operations to do conversions. The new implementation(s) are based on [musl](http://git.musl-libc.org/cgit/musl/tree/include/sys/sysmacros.h?id=dbbb3734d8c0176feabd6c46e2e85bbc3b8a60af) and [glibc](https://github.molgen.mpg.de/git-mirror/glibc/blob/20003c49884422da7ffbc459cdeee768a6fee07b/sysdeps/unix/sysv/linux/sys/sysmacros.h#L38), which are in agreement about how dev_t should be handled. (as it happens I suspect we could omit the shift by 32 since I don't see that in the kernel headers, but doesn't hurt to take the conservative route and mimic the libcs)
2017-02-17Implement major/minor macros, correct mkdevAidan Hobson Sayers
2017-02-16Fix some identifiers in commentsAlan Somers
2017-02-16Update bitflags to 0.7Simon Sapin
2017-02-16Fix unresolved name error when building with musl.YANG Xudong
2017-02-14Auto merge of #438 - chaosagent:wait-ptrace, r=kamalmarhubiHomu
wait: Support ptrace events for Linux Adds new WaitStatus value `PtraceEvent`. Implementation of #273 that only affects Linux/Android.
2017-02-05Implement Drop for AioCbAlan Somers
If an AioCb has any in-kernel state, AioCb.drop will print a warning and wait for it to complete.
2017-02-05Add runtime checks to AioCb methodsAlan Somers
Prevent immutable buffers from being used with aio_read or lio_listio with LIO_READ. AioCb.from_slice no longer needs to be unsafe.
2017-01-26Turn most aio functions into AioCb methodsAlan Somers
2017-01-26Auto merge of #483 - asomers:aio2, r=posborneHomu
Add POSIX AIO support POSIX AIO is a standard for asynchronous file I/O. Read, write, and fsync operations can all take place in the background, with completion notification delivered by a signal, by a new thread, by kqueue, or not at all. The SigEvent class, used for AIO notifications among other things, is also added.
2017-01-25Add PhantomData to AioCb to track buffer's lifetimeAlan Somers
2017-01-19unistd: add fchdir(2)Luca Bruno
This introduces a wrapper for fchdir(2), allowing a process to change directory based on an open file descriptor. The underlying function is available in libc crate since 0.2.20.
2017-01-15sethostname: convert to taking OsStr refPaul Osborne
Baed on discussions on the related PR, sethostname now takes an `S: AsRef<OsStr>` in order to allow for a greater range of inputs that allow for a more fluid interface. Signed-off-by: Paul Osborne <osbpau@gmail.com>
2017-01-15unistd: document and change implementation of gethostnamePaul Osborne
Previously gethostname just mutated a buffer. We now provide a slightly more usable (but still allocation free) API that ensures that the returned buffer is NUL-terminated. We give back a `&CStr` instead of requiring that the user do all of the conversions from `&[u8]` when we know we are dealing with a `&CStr`. Signed-off-by: Paul Osborne <osbpau@gmail.com>
2017-01-15unistd: add docs for gethostname and tweak APIPaul Osborne
Although the underlying C API does take a pointer to a set of characters, it is a requirement of almost every operating system that these bytes not contain a premature NUL character or other special characters. In other words, you want a `&str`. Changing this to make the API make a bit more sense. Signed-off-by: Paul Osborne <osbpau@gmail.com>
2017-01-11Auto merge of #486 - hicqu:master, r=fiveopHomu
fix #480 and add simple test cases for that. r? @fiveop
2017-01-11Auto merge of #489 - fiveop:fixcopyinto, r=fiveopHomu
Fix ControlMessage::encode_into when encoding multiple messages copy_bytes updates dst so that it points after the bytes that were just copied into it. encode_into did not advance the buffer in the same way when encoding the data. See #473
2017-01-11Auto merge of #492 - domsj:fix-eventfd-feature, r=fiveopHomu
fix build for eventfd feature
2017-01-11Auto merge of #496 - fiveop:consolidate_socketaddr_storage, r=@fiveopHomu
Always use libc's socketaddr_storage Since rust-lang/rust#23425 is closed, we no longer need the special case.