summaryrefslogtreecommitdiff
path: root/chapter-modules/src/main/smp/sys/libc.smp
diff options
context:
space:
mode:
authorCliff Click <cliffc@acm.org>2026-10-24 15:25:58 -0700
committerCliff Click <cliffc@acm.org>2026-10-24 15:25:58 -0700
commit4ae6a06d94b228a5eb67c8473131a791e310c233 (patch)
tree839dfa84f1bfb982122ce62183b6ae4145a4c615 /chapter-modules/src/main/smp/sys/libc.smp
parentc4364363dbd969c9aa27aa7c43fbe6d40544501a (diff)
downloadSimple-4ae6a06d94b228a5eb67c8473131a791e310c233.tar.gz
Simple-4ae6a06d94b228a5eb67c8473131a791e310c233.zip
Rename modules chapter to 28a
Diffstat (limited to 'chapter-modules/src/main/smp/sys/libc.smp')
-rw-r--r--chapter-modules/src/main/smp/sys/libc.smp44
1 files changed, 0 insertions, 44 deletions
diff --git a/chapter-modules/src/main/smp/sys/libc.smp b/chapter-modules/src/main/smp/sys/libc.smp
deleted file mode 100644
index 17ee65cb..00000000
--- a/chapter-modules/src/main/smp/sys/libc.smp
+++ /dev/null
@@ -1,44 +0,0 @@
-
-// libc bindings:
-// https://www.man7.org/linux/man-pages/man2/<libc call>.2.html
-
-// The buffers are int-versions of zero-terminated strings.
-// int buf = aryu8.str0("some_file");
-// buf mode perm-> fd
-{ i64 i32 i32 -> i32 } open = "C";
-// buf perm -> fd
-{ i64 i32 -> i32 } creat = "C";
-
-// fd buf len -> len
-{ i32 i64 u32 -> i32 } write = "C";
-// fd buf len -> len
-{ i32 i64 u32 -> i32 } read = "C";
-// fd -> err
-{ i32 -> i32 } close = "C";
-// path -> err
-{ i64 -> i32 } unlink = "C";
-
-i32 O_RDONLY = 0;
-i32 O_WRONLY = 1;
-i32 O_RDWR = 2;
-i32 O_CREAT = 512; // 02000 on x86_64-pc-cygwin
-i32 O_TRUNC = 1024; // 04000 on x86_64-pc-cygwin
-
-i32 STDIN = 0;
-i32 STDOUT = 1;
-i32 STDERR = 2;
-
-// status
-{ i32 -> i32 } _exit = "C";
-// errno is not an ordinary C data symbol; read it through the native runtime.
-{ i32 } simple_errno = "C";
-val errno = { -> simple_errno(); };
-// addr len prot flags fd off -> void*
-{ i64 i64 i32 i32 i32 i32 -> i64 } mmap = "C";
-// mmap flags
-i32 PROT_EXEC = 4;
-i32 PROT_READ = 1;
-i32 PROT_WRITE= 2;
-i32 PROT_NONE = 0;
-i32 MAP_PRIVATE = 2;
-i32 MAP_ANON = 32;