os: Add read & write functions.

asyncio-segfault
Paul Sokolovsky 2014-04-19 20:29:59 +03:00
rodzic 221f769fdf
commit 4d76c904a2
1 zmienionych plików z 13 dodań i 0 usunięć

Wyświetl plik

@ -5,6 +5,8 @@ libc = ffi.open("libc.so.6")
errno = libc.var("i", "errno")
mkdir_ = libc.func("i", "mkdir", "si")
read_ = libc.func("i", "read", "iPi")
write_ = libc.func("i", "write", "iPi")
def check_error(ret):
@ -15,3 +17,14 @@ def check_error(ret):
def mkdir(name, mode=0o777):
e = mkdir_(name, mode)
check_error(e)
def read(fd, n):
buf = bytearray(n)
r = read_(fd, buf, n)
check_error(r)
return buf[:r]
def write(fd, buf):
r = write_(fd, buf, len(buf))
check_error(r)
return r