# posix_utils

Dark Mode

- Manual
- Standard library
- Index
- devel, stable

Search:
Group by:

A set of helpers for the POSIX module. Raw interfaces are in the other posix*.nim files.

# Imports

posix

# Types

    Uname = object
      sysname*, nodename*, release*, version*, machine*: string

  Source Edit

# Procs

    proc uname(): Uname {...}{.raises: [OSError], tags: [].}

  Provides system information in a `Uname` struct with sysname, nodename, release, version and machine attributes.

  Examples:

      echo uname().nodename, uname().release, uname().version
      doAssert uname().sysname.len != 0

  Source Edit

    proc fsync(fd: int) {...}{.raises: [OSError], tags: [].}

  synchronize a file's buffer cache to the storage device Source Edit

    proc stat(path: string): Stat {...}{.raises: [OSError], tags: [].}

  Returns file status in a `Stat` structure Source Edit

    proc memoryLock(a1: pointer; a2: int) {...}{.raises: [OSError], tags: [].}

  Locks pages starting from a1 for a1 bytes and prevent them from being swapped. Source Edit

    proc memoryLockAll(flags: int) {...}{.raises: [OSError], tags: [].}

  Locks all memory for the running process to prevent swapping.

  example:

      memoryLockAll(MCL_CURRENT or MCL_FUTURE)

  Source Edit

    proc memoryUnlock(a1: pointer; a2: int) {...}{.raises: [OSError], tags: [].}

  Unlock pages starting from a1 for a1 bytes and allow them to be swapped. Source Edit

    proc memoryUnlockAll() {...}{.raises: [OSError], tags: [].}

  Unlocks all memory for the running process to allow swapping. Source Edit

    proc sendSignal(pid: Pid; signal: int) {...}{.raises: [OSError], tags: [].}

  Sends a signal to a running process by calling `kill`. Raise exception in case of failure e.g. process not running. Source Edit

    proc mkstemp(prefix: string): (string, File) {...}{.raises: [OSError], tags: [].}

  Creates a unique temporary file from a prefix string. Adds a six chars suffix. The file is created with perms 0600. Returns the filename and a file opened in r/w mode. Source Edit

    proc mkdtemp(prefix: string): string {...}{.raises: [OSError], tags: [].}

  Creates a unique temporary directory from a prefix string. Adds a six chars suffix. The directory is created with permissions 0700. Returns the directory name. Source Edit