1
0

ArkCInterop.swift 2.1 KB

123456789101112131415161718192021222324
  1. // CInterop.swift
  2. // Provides C standard library functions for bare metal / ArkOS
  3. @_silgen_name("fopen") public func fopen(_ path: UnsafePointer<CChar>, _ mode: UnsafePointer<CChar>) -> OpaquePointer?
  4. @_silgen_name("fclose") @discardableResult public func fclose(_ fp: OpaquePointer) -> Int32
  5. @_silgen_name("fputs") @discardableResult public func fputs(_ s: UnsafePointer<CChar>, _ fp: OpaquePointer) -> Int32
  6. @_silgen_name("fgets") public func fgets(_ s: UnsafeMutablePointer<CChar>, _ n: Int32, _ fp: OpaquePointer) -> UnsafeMutablePointer<CChar>?
  7. @_silgen_name("unlink") @discardableResult public func unlink(_ path: UnsafePointer<CChar>) -> Int32
  8. @_silgen_name("usleep") @discardableResult public func usleep(_ useconds: UInt32) -> Int32
  9. @_silgen_name("waitpid") @discardableResult public func waitpid(_ pid: Int32, _ status: UnsafeMutablePointer<Int32>?, _ options: Int32) -> Int32
  10. @_silgen_name("ark_errno") public func ark_errno() -> Int32
  11. @_silgen_name("strerror") public func strerror(_ errnum: Int32) -> UnsafePointer<CChar>!
  12. @_silgen_name("strdup") public func strdup(_ s: UnsafePointer<CChar>) -> UnsafeMutablePointer<CChar>!
  13. @_silgen_name("fread") public func fread(_ ptr: UnsafeMutableRawPointer, _ size: Int, _ nitems: Int, _ stream: OpaquePointer) -> Int
  14. @_silgen_name("feof") public func feof(_ stream: OpaquePointer) -> Int32
  15. @_silgen_name("ark_open2_c") public func ark_open2(_ path: UnsafePointer<CChar>, _ flags: Int32) -> Int32
  16. @_silgen_name("ark_open3_c") public func ark_open(_ path: UnsafePointer<CChar>, _ flags: Int32, _ mode: Int32) -> Int32
  17. @_silgen_name("ark_opendir") public func ark_opendir(_ name: UnsafePointer<CChar>) -> OpaquePointer?
  18. @_silgen_name("ark_closedir") @discardableResult public func ark_closedir(_ dirp: OpaquePointer) -> Int32
  19. @_silgen_name("ark_readdir") public func ark_readdir(_ dirp: OpaquePointer) -> OpaquePointer?
  20. @_silgen_name("ark_dirent_name") public func ark_dirent_name(_ entry: OpaquePointer) -> UnsafePointer<CChar>
  21. @_silgen_name("ark_getline") public func ark_getline(_ lineptr: UnsafeMutablePointer<UnsafeMutablePointer<CChar>?>, _ n: UnsafeMutablePointer<Int>, _ stream: OpaquePointer) -> Int
  22. public let WNOHANG: Int32 = 1