std/posix_utils
 Source Edit
  A set of helpers for the POSIX module. Raw interfaces are in the other posix*.nim files.
  Imports
  posix, parsecfg, os, since
  
  Types
  
   
    - 
     
Uname = object
  sysname*, nodename*, release*, version*, machine*: string
     
    - Source Edit
    
 
    
  
  Procs
  
   
    
     - 
      
proc fsync(fd: int) {....raises: [OSError], tags: [], forbids: [].}
      
     - 
      synchronize a file's buffer cache to the storage device Source Edit
     
 
     
    
   
    
     - 
      
proc memoryLock(a1: pointer; a2: int) {....raises: [OSError], tags: [], forbids: [].}
      
     - 
      Locks pages starting from a1 for a1 bytes and prevent them from being swapped. Source Edit
     
 
     
    
   
    
     - 
      
proc memoryLockAll(flags: int) {....raises: [OSError], tags: [], forbids: [].}
      
     - 
      
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: [],
    forbids: [].}
      
     - 
      Unlock pages starting from a1 for a1 bytes and allow them to be swapped. Source Edit
     
 
     
    
   
    
     - 
      
proc memoryUnlockAll() {....raises: [OSError], tags: [], forbids: [].}
      
     - 
      Unlocks all memory for the running process to allow swapping. Source Edit
     
 
     
    
   
    
     - 
      
proc mkdtemp(prefix: string): string {....raises: [OSError], tags: [], forbids: [].}
      
     - 
      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
     
 
     
    
   
    
     - 
      
proc mkstemp(prefix: string; suffix = ""): (string, File) {....raises: [OSError],
    tags: [], forbids: [].}
      
     - 
      Creates a unique temporary file from a prefix string. A six-character string will be added. If suffix is provided it will be added to the string The file is created with perms 0600. Returns the filename and a file opened in r/w mode. Source Edit
     
 
     
    
   
    
     - 
      
proc osReleaseFile(): Config {....raises: [IOError, OSError, Exception, ValueError,
                                        KeyError], tags: [ReadDirEffect,
    WriteIOEffect, ReadIOEffect, RootEffect], forbids: [].}
      
     - 
      Gets system identification from 
os-release file and returns it as a parsecfg.Config. You also need to import the parsecfg module to gain access to this object. The os-release file is an official Freedesktop.org open standard. Available in Linux and BSD distributions, except Android and Android-based Linux. os-release file is not available on Windows and OS X by design.
      
      Example:
      import std/parsecfg
when defined(linux):
  let data = osReleaseFile()
  echo "OS name: ", data.getSectionValue("", "NAME") ## the data is up to each distro.
 Source Edit
      
     
    
   
    
     - 
      
proc sendSignal(pid: Pid; signal: int) {....raises: [OSError], tags: [],
    forbids: [].}
      
     - 
      Sends a signal to a running process by calling 
kill. Raise exception in case of failure e.g. process not running. Source Edit
      
     
    
   
    
     - 
      
proc stat(path: string): Stat {....raises: [OSError], tags: [], forbids: [].}
      
     - 
      Returns file status in a 
Stat structure Source Edit
      
     
    
   
    
     - 
      
proc uname(): Uname {....raises: [OSError], tags: [], forbids: [].}
      
     - 
      Provides system information in a 
Uname struct with sysname, nodename, release, version and machine attributes. Source Edit