   }
 
   public func mkdir(dirPath: String, mode: UInt32 = DEFAULT_DIR_MODE) -> Int32 {
-    return retry { _mkdir(dirPath, mode) }
+    return retry { Glibc.mkdir(dirPath, mode) }
   }
 
   public func read(fd: Int32, address: UnsafeMutablePointer<Void>,
       length: Int) -> Int {
-    return retry { _read(fd, address, length) }
+    return retry { Glibc.read(fd, address, length) }
   }
 
   public func write(fd: Int32, address: UnsafePointer<Void>,
       length: Int) -> Int {
-    return retry { _write(fd, address, length) }
+    return retry { Glibc.write(fd, address, length) }
   }
 
   public func writeString(fd: Int32, string: String) -> Int {

      case .RE, .ReadWithCloexec: op = "re"
      case .WE, .WriteWithCloexec: op = "we"
    }
    return _popen(command, op)
  }

  public func pclose(fp: UnsafeMutablePointer<FILE>) -> Int32 {
    return _pclose(fp)
  }

  public func getenv(key: String) -> String? {
    let vp = _getenv(key)
    return vp != nil ? String.fromCString(vp) : nil
  }

  public func isatty(fd: Int32) -> Bool {
    return _isatty(fd) == 1
  }

  public func strlen(sp: UnsafePointer<CChar>) -> UInt {
    return _strlen(sp)
  }

  public func sleep(n: UInt32) {

public enum SysError: ErrorType {
  case InvalidOpenFileOperation(operation: String)
}

public enum FileOperation: Int {
  case R
