diff --git a/src/sys/aio.rs b/src/sys/aio.rs
index 6166467c0c..014ef67357 100644
--- a/src/sys/aio.rs
+++ b/src/sys/aio.rs
@@ -97,6 +97,7 @@ impl<'a> AioCb<'a> {
/// Constructs a new `AioCb` with no associated buffer.
///
/// The resulting `AioCb` structure is suitable for use with `AioCb::fsync`.
+ ///
/// * `fd` File descriptor. Required for all aio functions.
/// * `prio` If POSIX Prioritized IO is supported, then the operation will
/// be prioritized at the process's priority level minus `prio`
diff --git a/src/sys/mman.rs b/src/sys/mman.rs
index dc21899b71..3fefddab13 100644
--- a/src/sys/mman.rs
+++ b/src/sys/mman.rs
@@ -100,8 +100,7 @@ libc_bitflags!{
libc_enum!{
/// Usage information for a range of memory to allow for performance optimizations by the kernel.
///
- /// Used by [`madvise`].
- /// [`madvise`]: ./fn.madvise.html
+ /// Used by [`madvise`](./fn.madvise.html).
#[repr(i32)]
pub enum MmapAdvise {
/// No further special treatment. This is the default.
diff --git a/src/sys/quota.rs b/src/sys/quota.rs
index 77b133359b..1564c412b9 100644
--- a/src/sys/quota.rs
+++ b/src/sys/quota.rs
@@ -59,11 +59,11 @@ libc_enum!{
QFMT_VFS_OLD,
/// Use the standard VFS v0 quota format.
///
- /// Handles 32-bit UIDs/GIDs and quota limits up to 2^42 bytes/2^32 inodes.
+ /// Handles 32-bit UIDs/GIDs and quota limits up to 232 bytes/232 inodes.
QFMT_VFS_V0,
/// Use the VFS v1 quota format.
///
- /// Handles 32-bit UIDs/GIDs and quota limits of 2^64 bytes/2^64 inodes.
+ /// Handles 32-bit UIDs/GIDs and quota limits of 264 bytes/264 inodes.
QFMT_VFS_V1,
}
}
diff --git a/src/sys/select.rs b/src/sys/select.rs
index 252fa6bcb6..0c826de62c 100644
--- a/src/sys/select.rs
+++ b/src/sys/select.rs
@@ -76,7 +76,7 @@ impl FdSet {
/// # Parameters
///
/// * `nfds`: The highest file descriptor set in any of the passed `FdSet`s, plus 1. If `None`, this
-/// is calculated automatically by calling [`FdSet::highest`] on all descriptor sets and adding 1
+/// is calculated automatically by calling [`FdSet::highest`][1] on all descriptor sets and adding 1
/// to the maximum of that.
/// * `readfds`: File descriptors to check for being ready to read.
/// * `writefds`: File descriptors to check for being ready to write.
@@ -87,7 +87,8 @@ impl FdSet {
/// # References
///
/// [select(2)](http://pubs.opengroup.org/onlinepubs/9699919799/functions/select.html)
-/// [`FdSet::highest`]: struct.FdSet.html#method.highest
+///
+/// [1]: struct.FdSet.html#method.highest
pub fn select<'a, N, R, W, E, T>(nfds: N,
readfds: R,
writefds: W,
diff --git a/src/unistd.rs b/src/unistd.rs
index 52dfbb7094..31af08c2a6 100644
--- a/src/unistd.rs
+++ b/src/unistd.rs
@@ -814,9 +814,10 @@ pub fn write(fd: RawFd, buf: &[u8]) -> Result {
Errno::result(res).map(|r| r as usize)
}
-/// Directive that tells [`lseek`] and [`lseek64`] what the offset is relative to.
-/// [`lseek`]: ./fn.lseek.html
-/// [`lseek64`]: ./fn.lseek64.html
+/// Directive that tells [`lseek`][1] and [`lseek64`][2] what the offset is relative to.
+///
+/// [1]: ./fn.lseek.html
+/// [2]: ./fn.lseek64.html
#[repr(i32)]
pub enum Whence {
/// Specify an offset relative to the start of the file.
@@ -847,7 +848,7 @@ pub enum Whence {
/// Move the read/write file offset.
///
-/// See also [lseek(2)(http://pubs.opengroup.org/onlinepubs/9699919799/functions/lseek.html)
+/// See also [lseek(2)](http://pubs.opengroup.org/onlinepubs/9699919799/functions/lseek.html)
pub fn lseek(fd: RawFd, offset: libc::off_t, whence: Whence) -> Result {
let res = unsafe { libc::lseek(fd, offset, whence as i32) };
@@ -1124,12 +1125,24 @@ pub fn getgroups() -> Result> {
/// specific user and group. For example, given the user `www-data` with UID
/// `33` and the group `backup` with the GID `34`, one could switch the user as
/// follows:
-/// ```
+///
+/// ```rust,no_run
+/// # use std::error::Error;
+/// # use nix::unistd::*;
+/// #
+/// # fn try_main() -> Result<(), Box> {
/// let uid = Uid::from_raw(33);
/// let gid = Gid::from_raw(34);
/// setgroups(&[gid])?;
/// setgid(gid)?;
/// setuid(uid)?;
+/// #
+/// # Ok(())
+/// # }
+/// #
+/// # fn main() {
+/// # try_main().unwrap();
+/// # }
/// ```
#[cfg(not(any(target_os = "ios", target_os = "macos")))]
pub fn setgroups(groups: &[Gid]) -> Result<()> {
@@ -1245,13 +1258,26 @@ pub fn getgrouplist(user: &CStr, group: Gid) -> Result> {
/// UID and GID for the user in the system's password database (usually found
/// in `/etc/passwd`). If the `www-data` user's UID and GID were `33` and `33`,
/// respectively, one could switch the user as follows:
-/// ```
+///
+/// ```rust,no_run
+/// # use std::error::Error;
+/// # use std::ffi::CString;
+/// # use nix::unistd::*;
+/// #
+/// # fn try_main() -> Result<(), Box> {
/// let user = CString::new("www-data").unwrap();
/// let uid = Uid::from_raw(33);
/// let gid = Gid::from_raw(33);
/// initgroups(&user, gid)?;
/// setgid(gid)?;
/// setuid(uid)?;
+/// #
+/// # Ok(())
+/// # }
+/// #
+/// # fn main() {
+/// # try_main().unwrap();
+/// # }
/// ```
#[cfg(not(any(target_os = "ios", target_os = "macos")))]
pub fn initgroups(user: &CStr, group: Gid) -> Result<()> {
@@ -1280,7 +1306,7 @@ pub fn pause() -> Result<()> {
/// Suspend execution for an interval of time
///
-/// See also [sleep(2)(http://pubs.opengroup.org/onlinepubs/009695399/functions/sleep.html#tag_03_705_05)
+/// See also [sleep(2)](http://pubs.opengroup.org/onlinepubs/009695399/functions/sleep.html#tag_03_705_05)
// Per POSIX, does not fail
#[inline]
pub fn sleep(seconds: libc::c_uint) -> c_uint {