posix_utils

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

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. Returs 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