about summary refs log tree commit diff
path: root/src/lib/linux_os.rs
blob: a775a97ab7c6c50afa7dfb1941b64b040730f316 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import _str.sbuf;
import _vec.vbuf;

native mod libc = "libc.so.6" {

  fn open(sbuf s, int flags) -> int;
  fn read(int fd, vbuf buf, uint count) -> int;
  fn write(int fd, vbuf buf, uint count) -> int;
  fn close(int fd) -> int;

  type dir;
  // readdir is a mess; handle via wrapper function in rustrt.
  fn opendir(sbuf d) -> dir;
  fn closedir(dir d) -> int;

  fn getenv(sbuf n) -> sbuf;
  fn setenv(sbuf n, sbuf v, int overwrite) -> int;
  fn unsetenv(sbuf n) -> int;
}