ffi_os.nut 343 B

12345678910111213141516171819
  1. local l = ffi.load("libc.so.6")
  2. local function _(r, f, p) {
  3. this[f] <- l.bind_func(r, f, p)
  4. }
  5. _("i", "open", ["s", "i", "i"])
  6. _("i", "read", ["i", "P", "I"])
  7. _("i", "write", ["i", "P", "I"])
  8. _("i", "close", ["i"])
  9. _("i", "perror", ["s"])
  10. local errno = l.bind_var("i", "errno")
  11. function _errno() {
  12. return errno.get()
  13. }
  14. return this;