aboutsummaryrefslogtreecommitdiff
path: root/src/lib/linux_os.rs
diff options
context:
space:
mode:
authorGraydon Hoare <[email protected]>2010-06-23 21:03:09 -0700
committerGraydon Hoare <[email protected]>2010-06-23 21:03:09 -0700
commitd6b7c96c3eb29b9244ece0c046d3f372ff432d04 (patch)
treeb425187e232966063ffc2f0d14c04a55d8f004ef /src/lib/linux_os.rs
parentInitial git commit. (diff)
downloadrust-d6b7c96c3eb29b9244ece0c046d3f372ff432d04.tar.xz
rust-d6b7c96c3eb29b9244ece0c046d3f372ff432d04.zip
Populate tree.
Diffstat (limited to 'src/lib/linux_os.rs')
-rw-r--r--src/lib/linux_os.rs19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/lib/linux_os.rs b/src/lib/linux_os.rs
new file mode 100644
index 00000000..a775a97a
--- /dev/null
+++ b/src/lib/linux_os.rs
@@ -0,0 +1,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;
+}