summaryrefslogtreecommitdiff
path: root/src/sys
AgeCommit message (Collapse)Author
2016-01-18Disable IPV6_ADD_MEMBERSHIP on freebsdUser Vagrant
2016-01-18allow improper_ctypes for size_tMattis Marjak
2016-01-18fix on macMattis Marjak
2016-01-18update libc to 0.2.2Mattis Marjak
2016-01-18Add POSIX function raise()Philipp Matthias Schaefer
2016-01-18Publish SockFlags from nix::sys::signal.Philipp Matthias Schaefer
This brings them in alignment with other things republished from the OS specific nix::sys::signal::signal.
2016-01-15add aarch64 supportBrian Martin
2015-12-22Fix broken tests on nightlyCarl Lerche
2015-12-22add NSIG constantPhilipp Matthias Schaefer
glibc defines this constant as "the total number of signals defined. Since the signal numbers are allocated consecutively, NSIG is also one greater than the largest defined signal number."
2015-12-22Implement support for getsockopt of peer credentials using the Linux ↵Magnus Hoff
specific SO_PEERCRED
2015-12-04socket(): add protocol argument (breaking change)Alexander Polakov
2015-12-03add function for handling PTRACE_SETOPTIONS nicelyDavid Roundy
2015-12-03support more flags to waitpid and wait on linuxDavid Roundy
2015-12-03NetBSD tweaks for kqueue supportZachary Tong
2015-12-03Statvfs improvementsBrandon W Maister
* Implement `Default` * Add documentation * Add some convenience wrappers
2015-11-20netbsd supportJeremy Fitzhardinge
2015-10-28Fix handling of sockaddr_un lengthsGeoffrey Thomas
The returned length of AF_UNIX sockaddrs is significant, and generally does not match the length of the entire structure. For filesystem sockets, this is ignorable because the path is also NUL-terminated, but for unbound sockets (e.g., a socketpair) or abstract-namespace sockets (a Linux extension where the address is an arbitrary bytestring), we need to keep track of the length. Fixes #177. Also add a UnixAddr::new_abstract function and some better handling of abstract-namespace socket addresses to fix #169.
2015-10-20Move a few bindings behind featuresCarl Lerche
2015-10-07Add sys::select::FdSet::clear.Utkarsh Kukreti
2015-10-06Add support for sendmsg(2), recvmsg(2), and cmsg(3)Geoffrey Thomas
The best specification for control message layout appears to be [RFC 2292, section 4](https://tools.ietf.org/html/rfc2292#section-4), despite this not being a wire protocol. These definitions have also been checked against glibc 2.19 <bits/socket.h> and Linux 4.0 <linux/socket.h>, and tested on Debian 8.1 and FreeBSD 10.2 x86_64. The API differs a bit from the cmsg(3) API for type-safety reasons (and also because the cmsg(3) API is terrible). See test/sys/test_socket.rs for an example. Only supports SCM_RIGHTS at the moment. Fixes #88.
2015-09-28statfs() & fstatfs()Alexander Polakov
2015-09-28sys/event: add kevent_ts to better expose kevent timeoutLuca Barbieri
This allows to specify no timeout and allows to specify any timespec timeout.
2015-09-28quotactl() API for linuxAlexander Polakov
2015-09-28Revert "Add support for sendmsg(2), recvmsg(2), and cmsg(4)"Carl Lerche
This reverts commit 046af7d1ba82506f9bc48e62ac0584361025fc02.
2015-09-28Add sys::select::FdSet and sys::select::select.Utkarsh Kukreti
2015-09-24Add support for sendmsg(2), recvmsg(2), and cmsg(4)Geoffrey Thomas
The best specification for control message layout appears to be [RFC 2292, section 4](https://tools.ietf.org/html/rfc2292#section-4), despite this not being a wire protocol. These definitions have also been checked against glibc 2.19 <bits/socket.h> and Linux 4.0 <linux/socket.h>, and tested on Debian 8.1 and FreeBSD 10.2 x86_64. The API differs a bit from the cmsg(4) API for type-safety reasons (and also because the cmsg(4) API is terrible). See test/sys/test_socket.rs for an example. Only supports SCM_RIGHTS at the moment. Fixes #88.
2015-09-15ioctl: only run ioctl doctest under linuxPaul Osborne
2015-09-15ioctl: correct documentation and add example ioctl! codePaul Osborne
2015-09-15ioctl: make ioctl functions publicPaul Osborne
Consumers of the API may control visibility by means of a module. The following is a useful pattern that may be used by implementors (here for a couple of i2cdev ioctl definitions): mod ioctl { ioctl!(bad set_i2c_slave_address with super::I2C_SLAVE); ioctl!(bad i2c_smbus with super::I2C_SMBUS); } This resolves #184.
2015-09-15ioctl: clean up source file for ioctlsPaul Osborne
Readability was unecessarily impaired via a myriad of attributes to hide constants from the documentation. If these attributes are exposed publically, including them in the documentation makes sense.
2015-09-10Add signalfd supportAlex Gulyás
2015-09-09Add/Fix support for DragonFly BSDMichael Neumann
2015-09-03Fix test failures on FreeBSDGeoffrey Thomas
2015-09-03Fix the struct packing of EpollEventAlex Gulyás
2015-08-25Add memfd functionalityDavid Henningsson
2015-08-14ioctl: fix bugs with op generation for writesPaul Osborne
These had ior! rather than iow! previously. ior! is obviously not correct for write operations.
2015-08-14ioctl: do not make macro generated functions publicPaul Osborne
if code incorporating these macros wants to publicly export the functions they may do so by doing the following: pub ioctl!(...); Since the functions are unsafe, in many cases exposing the functions publicly will not be desirable.
2015-08-12ioctl: remove defunct readme for ioctl subsystemPaul Osborne
2015-08-12ioctl: return result type rather than raw integerPaul Osborne
This change also adds macro usages in the tests. Nothing is asserted but the use of the macros provides a basic compile-time check that is otherwise missing. Signed-off-by: Paul Osborne <osbpau@gmail.com>
2015-08-12ioctl: reintroduce libc ioctl workaround until we can use updated liblibcPaul Osborne
This PR fixes the issue upstream https://github.com/rust-lang/rust/pull/26809 but no version 0.2.0 of the crate has been published as of yet. Signed-off-by: Paul Osborne <osbpau@gmail.com>
2015-08-12ioctl: remove all but command encodingCorey Richardson
2015-08-12Merge mips into powerpc; rename Union_Unnamed16 to ff_effect_dataCorey Richardson
2015-08-12remove osx-specific Debug implCorey Richardson
2015-08-12Update docsCorey Richardson
2015-08-12Update some stuff for upstream bitflags changesCorey Richardson
2015-08-12Completely revamp sys::ioctl to use cmr/ioctl's approachCorey Richardson
This is more type-safe. Also, the old code wasn't cross-platform at all even though it claimed to be. It wasn't even portable across architectures on Linux.
2015-08-10Make eventfds compile againDavid Henningsson
2015-07-27Make it compatible for Android.Tim JIANG
* Fixed an unused_import error in `termios.rs` for Android. * Fixed undefined references to `preadv` and `pwritev` for Android - At least they don't exist from API level 3 to 21. * Fixed the uid > 0 and gid > 0 checks in `stat`'s tests - Running the tests by root is possible, especially when running on a rooted Android device. Those changes made rust-nix buildable (again) on Android. All the tests passed as well.
2015-07-20Derive Clone for EpollEvent on android.Carl Lerche
Fixes #165
2015-07-13Remove import on those platforms where it is unused.Laurence Tratt