@salang/sa 0.1.3 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/sa.js +13 -1
- package/package.json +8 -7
- package/sa_std/alloc/layout.sal +12 -0
- package/sa_std/alloc/prelude.sa +1 -0
- package/sa_std/alloc/prelude.sal +1 -0
- package/sa_std/alloc/string.sa +3 -0
- package/sa_std/alloc/vec.sa +684 -0
- package/sa_std/alloc/vec.sal +4 -0
- package/sa_std/any.sa +130 -0
- package/sa_std/any.sal +23 -0
- package/sa_std/array.sa +1876 -0
- package/sa_std/ascii.sa +2 -0
- package/sa_std/ascii.sal +1 -0
- package/sa_std/async.sla +116 -0
- package/sa_std/binary_heap.sa +3003 -0
- package/sa_std/binary_heap.sal +7 -0
- package/sa_std/borrow.sa +171 -0
- package/sa_std/borrow.sal +13 -0
- package/sa_std/btree_map.sa +2210 -0
- package/sa_std/btree_map.sal +11 -0
- package/sa_std/btree_set.sa +1072 -0
- package/sa_std/btree_set.sal +6 -0
- package/sa_std/char.sa +1309 -0
- package/sa_std/char.sal +50 -0
- package/sa_std/cmp.sa +554 -0
- package/sa_std/cmp.sal +14 -0
- package/sa_std/collections/binary_heap.sa +1 -0
- package/sa_std/collections/btree_map.sa +1 -0
- package/sa_std/collections/btree_set.sa +1 -0
- package/sa_std/collections/hashmap.sa +1 -0
- package/sa_std/collections/hashset.sa +1 -0
- package/sa_std/collections/linked_list.sa +1120 -0
- package/sa_std/collections/linked_list.sal +10 -0
- package/sa_std/collections/prelude.sa +7 -0
- package/sa_std/collections/prelude.sal +1 -0
- package/sa_std/collections/vec_deque.sa +1 -0
- package/sa_std/collections.sal +13 -0
- package/sa_std/convert.sa +1115 -0
- package/sa_std/convert.sal +24 -0
- package/sa_std/core/arc.sa +233 -0
- package/sa_std/core/arc.sal +4 -0
- package/sa_std/core/ascii.sa +784 -0
- package/sa_std/core/ascii.sal +34 -0
- package/sa_std/core/bit.sa +41 -0
- package/sa_std/core/box.sa +1 -0
- package/sa_std/core/box.sal +2 -0
- package/sa_std/core/cell.sa +108 -0
- package/sa_std/core/cell.sal +5 -0
- package/sa_std/core/cleanup.sa +26 -0
- package/sa_std/core/control.sa +20 -0
- package/sa_std/core/derive.sa +60 -0
- package/sa_std/core/derive.sal +1 -0
- package/sa_std/core/dispatch.sa +7 -0
- package/sa_std/core/dispatch.sal +5 -0
- package/sa_std/core/future.sa +777 -0
- package/sa_std/core/future.sal +73 -0
- package/sa_std/core/hash.sa +48 -0
- package/sa_std/core/iter.sa +2805 -0
- package/sa_std/core/iter.sal +4 -0
- package/sa_std/core/loop.sa +60 -0
- package/sa_std/core/mem.sa +220 -0
- package/sa_std/core/option.sa +825 -0
- package/sa_std/core/option.sal +11 -0
- package/sa_std/core/panic.sa +23 -0
- package/sa_std/core/panic.sal +12 -0
- package/sa_std/core/prelude.sa +18 -0
- package/sa_std/core/prelude.sal +18 -0
- package/sa_std/core/rc.sa +225 -0
- package/sa_std/core/rc.sal +4 -0
- package/sa_std/core/refcell.sa +283 -0
- package/sa_std/core/refcell.sal +13 -0
- package/sa_std/core/result.sa +708 -0
- package/sa_std/core/result.sal +6 -0
- package/sa_std/core/rust_patterns.sal +295 -0
- package/sa_std/core/sa_core.sa +84 -0
- package/sa_std/core/slice.sa +4021 -0
- package/sa_std/core/slice.sal +7 -0
- package/sa_std/core/task.sa +112 -0
- package/sa_std/core/task.sal +15 -0
- package/sa_std/core/trait_object.sa +26 -0
- package/sa_std/core/trait_object.sal +4 -0
- package/sa_std/core/waker.sa +289 -0
- package/sa_std/core/waker.sal +31 -0
- package/sa_std/core/weak.sa +2 -0
- package/sa_std/core/weak.sal +4 -0
- package/sa_std/cow.sa +3 -0
- package/sa_std/cow.sal +2 -0
- package/sa_std/cstring.sa +3 -0
- package/sa_std/cstring.sal +2 -0
- package/sa_std/default.sa +99 -0
- package/sa_std/duration.sa +3 -0
- package/sa_std/duration.sal +2 -0
- package/sa_std/encoding/json.sa +259 -0
- package/sa_std/encoding/json.sai +54 -0
- package/sa_std/encoding/json.sal +35 -0
- package/sa_std/encoding/prelude.sa +1 -0
- package/sa_std/encoding/prelude.sal +0 -0
- package/sa_std/env.sa +390 -0
- package/sa_std/env.sai +25 -0
- package/sa_std/error.sa +253 -0
- package/sa_std/error.sal +44 -0
- package/sa_std/ffi/cstring.sa +3 -0
- package/sa_std/ffi/cstring.sal +1 -0
- package/sa_std/ffi/prelude.sa +2 -0
- package/sa_std/ffi/prelude.sal +2 -0
- package/sa_std/ffi.sa +635 -0
- package/sa_std/ffi.sal +51 -0
- package/sa_std/fmt.sa +2 -0
- package/sa_std/fmt.sai +18 -0
- package/sa_std/fmt.sal +35 -0
- package/sa_std/fs.sa +1023 -0
- package/sa_std/fs.sai +127 -0
- package/sa_std/fs.sal +51 -0
- package/sa_std/future.sa +2 -0
- package/sa_std/future.sal +1 -0
- package/sa_std/hash.sa +1486 -0
- package/sa_std/hash.sal +13 -0
- package/sa_std/hashmap.sa +1962 -0
- package/sa_std/hashmap.sal +20 -0
- package/sa_std/hashset.sa +1004 -0
- package/sa_std/hashset.sal +18 -0
- package/sa_std/http2.sa +78 -0
- package/sa_std/http2.sai +26 -0
- package/sa_std/http2.sal +36 -0
- package/sa_std/instant.sa +3 -0
- package/sa_std/instant.sal +2 -0
- package/sa_std/io/buf_reader.sa +43 -0
- package/sa_std/io/buf_writer.sa +35 -0
- package/sa_std/io/bufio.sa +4 -0
- package/sa_std/io/bufio.sal +4 -0
- package/sa_std/io/prelude.sa +1 -0
- package/sa_std/io/prelude.sal +1 -0
- package/sa_std/io/print.sa +2 -0
- package/sa_std/io/print.sai +3 -0
- package/sa_std/io.sa +925 -0
- package/sa_std/io.sai +25 -0
- package/sa_std/io.sal +84 -0
- package/sa_std/iter.sa +2 -0
- package/sa_std/iter.sal +1 -0
- package/sa_std/join_handle.sa +3 -0
- package/sa_std/join_handle.sal +2 -0
- package/sa_std/libsa_async.sa +80 -0
- package/sa_std/m_async.sa +137 -0
- package/sa_std/m_async.sal +30 -0
- package/sa_std/m_async.sla +2 -0
- package/sa_std/manually_drop.sa +3 -0
- package/sa_std/manually_drop.sal +2 -0
- package/sa_std/marker/phantom_data.sa +3 -0
- package/sa_std/marker/phantom_data.sal +1 -0
- package/sa_std/marker/prelude.sa +4 -0
- package/sa_std/marker/prelude.sal +4 -0
- package/sa_std/marker.sa +220 -0
- package/sa_std/marker.sal +15 -0
- package/sa_std/math.sa +84 -0
- package/sa_std/math.sai +10 -0
- package/sa_std/mem/manually_drop.sa +3 -0
- package/sa_std/mem/manually_drop.sal +1 -0
- package/sa_std/mem/prelude.sa +2 -0
- package/sa_std/mem/prelude.sal +2 -0
- package/sa_std/mem.sa +564 -0
- package/sa_std/mem.sal +40 -0
- package/sa_std/modstate.sai +19 -0
- package/sa_std/net.sa +4227 -0
- package/sa_std/net.sai +239 -0
- package/sa_std/net.sal +159 -0
- package/sa_std/netx.sa +85 -0
- package/sa_std/netx.sai +11 -0
- package/sa_std/netx.sal +39 -0
- package/sa_std/nonzero.sa +3 -0
- package/sa_std/nonzero.sal +2 -0
- package/sa_std/num/nonzero.sa +3 -0
- package/sa_std/num/nonzero.sal +1 -0
- package/sa_std/num/prelude.sa +3 -0
- package/sa_std/num/prelude.sal +3 -0
- package/sa_std/num.sa +17302 -0
- package/sa_std/num.sai +11 -0
- package/sa_std/num.sal +341 -0
- package/sa_std/ops.sa +1884 -0
- package/sa_std/ops.sal +68 -0
- package/sa_std/option.sa +2 -0
- package/sa_std/option.sal +1 -0
- package/sa_std/os/fd.sa +96 -0
- package/sa_std/os/fd.sai +7 -0
- package/sa_std/os/fd.sal +11 -0
- package/sa_std/os/prelude.sa +2 -0
- package/sa_std/os/prelude.sal +1 -0
- package/sa_std/os/unix_ffi.sa +271 -0
- package/sa_std/panic.sa +1 -0
- package/sa_std/panic.sal +1 -0
- package/sa_std/path.sa +3170 -0
- package/sa_std/path.sal +12 -0
- package/sa_std/phantom_data.sa +3 -0
- package/sa_std/phantom_data.sal +2 -0
- package/sa_std/pin.sa +79 -0
- package/sa_std/pin.sal +5 -0
- package/sa_std/plugin_async.sa +90 -0
- package/sa_std/plugin_async.sal +29 -0
- package/sa_std/plugin_async.sla +4 -0
- package/sa_std/plugin_http_async.sa +46 -0
- package/sa_std/plugin_http_server.sa +61 -0
- package/sa_std/plugin_http_server.sla +2 -0
- package/sa_std/plugin_sqlite.sa +106 -0
- package/sa_std/plugin_sqlite.sla +2 -0
- package/sa_std/prelude.sa +60 -0
- package/sa_std/prelude.sal +55 -0
- package/sa_std/process.sa +916 -0
- package/sa_std/process.sai +57 -0
- package/sa_std/process.sal +27 -0
- package/sa_std/ptr.sa +503 -0
- package/sa_std/ptr.sal +2 -0
- package/sa_std/result.sa +2 -0
- package/sa_std/result.sal +1 -0
- package/sa_std/rust_core.sa +51 -0
- package/sa_std/rust_core.sal +26 -0
- package/sa_std/sa.mod +7 -0
- package/sa_std/sort.sa +156 -0
- package/sa_std/str.sla +13 -0
- package/sa_std/string.sa +12240 -0
- package/sa_std/string.sai +25 -0
- package/sa_std/string.sal +17 -0
- package/sa_std/string_format.sa +269 -0
- package/sa_std/sync/atomic.sa +1500 -0
- package/sa_std/sync/atomic.sal +45 -0
- package/sa_std/sync/barrier.sa +105 -0
- package/sa_std/sync/barrier.sal +7 -0
- package/sa_std/sync/condvar.sa +240 -0
- package/sa_std/sync/condvar.sal +4 -0
- package/sa_std/sync/mpsc.sa +758 -0
- package/sa_std/sync/mpsc.sal +42 -0
- package/sa_std/sync/mpsc_list.sa +255 -0
- package/sa_std/sync/mpsc_list.sal +3 -0
- package/sa_std/sync/mutex.sa +182 -0
- package/sa_std/sync/mutex.sal +7 -0
- package/sa_std/sync/once.sa +371 -0
- package/sa_std/sync/once.sal +31 -0
- package/sa_std/sync/poison.sa +36 -0
- package/sa_std/sync/poison.sal +11 -0
- package/sa_std/sync/prelude.sa +8 -0
- package/sa_std/sync/prelude.sal +7 -0
- package/sa_std/sync/rwlock.sa +369 -0
- package/sa_std/sync/rwlock.sal +13 -0
- package/sa_std/task.sa +2 -0
- package/sa_std/task.sal +1 -0
- package/sa_std/term.sa +2 -0
- package/sa_std/term.sai +10 -0
- package/sa_std/term.sal +33 -0
- package/sa_std/testing/assert.sai +4 -0
- package/sa_std/testing/mock_io.sa +174 -0
- package/sa_std/testing/mock_io.sal +5 -0
- package/sa_std/testing/prelude.sa +2 -0
- package/sa_std/testing/prelude.sal +1 -0
- package/sa_std/text/prelude.sa +1 -0
- package/sa_std/text/prelude.sal +1 -0
- package/sa_std/text/regex.sa +2 -0
- package/sa_std/text/regex.sai +9 -0
- package/sa_std/text/regex.sal +33 -0
- package/sa_std/thread/join_handle.sa +3 -0
- package/sa_std/thread/join_handle.sal +1 -0
- package/sa_std/thread/prelude.sa +4 -0
- package/sa_std/thread/prelude.sal +3 -0
- package/sa_std/thread.sa +160 -0
- package/sa_std/thread.sai +11 -0
- package/sa_std/thread.sal +4 -0
- package/sa_std/thread_local.sa +45 -0
- package/sa_std/thread_local.sai +9 -0
- package/sa_std/time/duration.sa +3 -0
- package/sa_std/time/duration.sal +1 -0
- package/sa_std/time/instant.sa +3 -0
- package/sa_std/time/instant.sal +1 -0
- package/sa_std/time/prelude.sa +4 -0
- package/sa_std/time/prelude.sal +4 -0
- package/sa_std/time.sa +850 -0
- package/sa_std/time.sai +37 -0
- package/sa_std/time.sal +35 -0
- package/sa_std/time.sla +67 -0
- package/sa_std/tls_client.sai +39 -0
- package/sa_std/vec.sa +5754 -0
- package/sa_std/vec.sal +1 -0
- package/sa_std/vec_deque.sa +4925 -0
- package/sa_std/vec_deque.sal +8 -0
- package/sa_std/vec_runtime_macros.sa +11 -0
- package/sa_std/ws_client.sai +57 -0
package/sa_std/fs.sai
ADDED
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
// SA-facing contracts for the Zig-backed sa_std.fs module.
|
|
2
|
+
// File handles are opaque owned ptr values and must be closed explicitly.
|
|
3
|
+
@extern sa_fs_file_open(&path: ptr, path_len: u64, flags: u32) -> i32
|
|
4
|
+
@extern sa_fs_file_create(&path: ptr, path_len: u64) -> i32
|
|
5
|
+
@extern sa_fs_file_close(file: u64) -> i32
|
|
6
|
+
|
|
7
|
+
@extern sa_fs_file_read(file: u64, &buf: ptr, cap: u64) -> i32
|
|
8
|
+
@extern sa_fs_file_read_exact(file: u64, &buf: ptr, len: u64) -> i32
|
|
9
|
+
@extern sa_fs_file_write(file: u64, &buf: ptr, len: u64) -> i32
|
|
10
|
+
@extern sa_fs_file_write_all(file: u64, &buf: ptr, len: u64) -> i32
|
|
11
|
+
@extern sa_fs_file_flush(file: u64) -> i32
|
|
12
|
+
@extern sa_fs_file_sync_data(file: u64) -> i32
|
|
13
|
+
@extern sa_fs_file_sync(file: u64) -> i32
|
|
14
|
+
@extern sa_fs_file_truncate(file: u64, new_size: u64) -> i32
|
|
15
|
+
@extern sa_fs_file_seek(file: u64, whence: u32, offset: i64) -> i32
|
|
16
|
+
|
|
17
|
+
@extern sa_std_fs_open_read(&path: ptr, path_len: u64, &out_handle: ptr) -> i32
|
|
18
|
+
@extern sa_std_fs_open_write(&path: ptr, path_len: u64, truncate: u32, &out_handle: ptr) -> i32
|
|
19
|
+
@extern sa_std_fs_open_options(&path: ptr, path_len: u64, flags: u32, create_mode: u32, custom_flags: u32, &out_handle: ptr) -> i32
|
|
20
|
+
@extern sa_std_fs_file_from_raw_fd(fd: i32, &out_handle: ptr) -> i32
|
|
21
|
+
@extern sa_std_fs_file_read(file: u64, &buf: ptr, cap: u64, &out_read: ptr) -> i32
|
|
22
|
+
@extern sa_std_fs_file_read_at(file: u64, &buf: ptr, cap: u64, offset: u64, &out_read: ptr) -> i32
|
|
23
|
+
@extern sa_std_fs_file_read_exact_at(file: u64, &buf: ptr, len: u64, offset: u64) -> i32
|
|
24
|
+
@extern sa_std_fs_file_write(file: u64, &buf: ptr, len: u64, &out_written: ptr) -> i32
|
|
25
|
+
@extern sa_std_fs_file_write_at(file: u64, &buf: ptr, len: u64, offset: u64, &out_written: ptr) -> i32
|
|
26
|
+
@extern sa_std_fs_file_write_all_at(file: u64, &buf: ptr, len: u64, offset: u64) -> i32
|
|
27
|
+
@extern sa_std_fs_file_seek(file: u64, whence: u32, offset: i64, &out_pos: ptr) -> i32
|
|
28
|
+
@extern sa_std_fs_remove(&path: ptr, path_len: u64) -> i32
|
|
29
|
+
@extern sa_std_fs_exists(&path: ptr, path_len: u64) -> i32
|
|
30
|
+
@extern sa_std_fs_try_exists(&path: ptr, path_len: u64, &out_exists: ptr) -> i32
|
|
31
|
+
@extern sa_std_fs_len(&path: ptr, path_len: u64, &out_len: ptr) -> i32
|
|
32
|
+
@extern sa_std_fs_read_file(&path: ptr, path_len: u64, max_bytes: u64, &out_handle: ptr) -> i32
|
|
33
|
+
@extern sa_std_fs_read_to_string(&path: ptr, path_len: u64, max_bytes: u64, &out_handle: ptr) -> i32
|
|
34
|
+
@extern sa_std_fs_read_file_base64(&path: ptr, path_len: u64, max_bytes: u64, &out_handle: ptr) -> i32
|
|
35
|
+
@extern sa_std_fs_read_dir_json(&path: ptr, path_len: u64, max_entries: u64, &out_handle: ptr) -> i32
|
|
36
|
+
@extern sa_std_fs_read_dir_entries(&path: ptr, path_len: u64, max_entries: u64, &out_handle: ptr) -> i32
|
|
37
|
+
@extern sa_std_fs_dir_entries_get(entries: u64, index: u64, &out_entry: ptr) -> i32
|
|
38
|
+
@extern sa_std_fs_metadata(&path: ptr, path_len: u64, &out_handle: ptr) -> i32
|
|
39
|
+
@extern sa_std_fs_metadata_json(&path: ptr, path_len: u64, &out_handle: ptr) -> i32
|
|
40
|
+
@extern sa_std_fs_metadata_free(metadata: u64) -> i32
|
|
41
|
+
@extern sa_std_fs_canonicalize(&path: ptr, path_len: u64, &out_handle: ptr) -> i32
|
|
42
|
+
@extern sa_std_close(handle: u64) -> i32
|
|
43
|
+
|
|
44
|
+
// Whole-file reads return an owned buffer handle. Free it with sa_fs_read_buffer_free.
|
|
45
|
+
@extern sa_fs_read_file(&path: ptr, path_len: u64, max_bytes: u64) -> u64!
|
|
46
|
+
@extern sa_fs_read_to_string(&path: ptr, path_len: u64, max_bytes: u64) -> u64!
|
|
47
|
+
@extern sa_fs_write_file(&path: ptr, path_len: u64, &buf: ptr, len: u64) -> i32
|
|
48
|
+
@extern sa_fs_read_buffer_data(buffer: u64) -> &ptr
|
|
49
|
+
@extern sa_fs_read_buffer_len(buffer: u64) -> u64
|
|
50
|
+
@extern sa_fs_read_buffer_free(^buffer: u64) -> i32
|
|
51
|
+
@extern sa_fs_read_file_base64(&path: ptr, path_len: u64, max_bytes: u64) -> u64!
|
|
52
|
+
@extern sa_fs_write_file_base64(&path: ptr, path_len: u64, &data_base64: ptr, data_base64_len: u64) -> i32
|
|
53
|
+
@extern sa_fs_read_dir_json(&path: ptr, path_len: u64, max_entries: u64) -> u64!
|
|
54
|
+
@extern sa_fs_dir_buffer_data(buffer: u64) -> &ptr
|
|
55
|
+
@extern sa_fs_dir_buffer_len(buffer: u64) -> u64
|
|
56
|
+
@extern sa_fs_dir_buffer_free(^buffer: u64) -> i32
|
|
57
|
+
@extern sa_fs_read_dir_entries(&path: ptr, path_len: u64, max_entries: u64) -> u64!
|
|
58
|
+
@extern sa_fs_dir_entries_len(entries: u64) -> u64
|
|
59
|
+
@extern sa_fs_dir_entries_free(^entries: u64) -> i32
|
|
60
|
+
@extern sa_fs_dir_entry_name_ptr(entry: u64) -> &ptr
|
|
61
|
+
@extern sa_fs_dir_entry_name_len(entry: u64) -> u64
|
|
62
|
+
@extern sa_fs_dir_entry_file_name_ptr(entry: u64) -> &ptr
|
|
63
|
+
@extern sa_fs_dir_entry_file_name_len(entry: u64) -> u64
|
|
64
|
+
@extern sa_fs_dir_entry_kind(entry: u64) -> u32
|
|
65
|
+
@extern sa_fs_dir_entry_ino(entry: u64) -> u64
|
|
66
|
+
@extern sa_fs_dir_entry_free(^entry: u64) -> i32
|
|
67
|
+
|
|
68
|
+
@extern sa_fs_metadata(&path: ptr, path_len: u64) -> u64!
|
|
69
|
+
@extern sa_fs_metadata_json(&path: ptr, path_len: u64) -> u64!
|
|
70
|
+
@extern sa_fs_metadata_is_file(metadata: u64) -> u8
|
|
71
|
+
@extern sa_fs_metadata_is_directory(metadata: u64) -> u8
|
|
72
|
+
@extern sa_fs_metadata_is_symlink(metadata: u64) -> u8
|
|
73
|
+
@extern sa_fs_metadata_is_block_device(metadata: u64) -> u8
|
|
74
|
+
@extern sa_fs_metadata_is_char_device(metadata: u64) -> u8
|
|
75
|
+
@extern sa_fs_metadata_is_fifo(metadata: u64) -> u8
|
|
76
|
+
@extern sa_fs_metadata_is_socket(metadata: u64) -> u8
|
|
77
|
+
@extern sa_fs_metadata_modified_ms(metadata: u64) -> i64
|
|
78
|
+
@extern sa_fs_metadata_created_ms(metadata: u64) -> i64
|
|
79
|
+
@extern sa_fs_metadata_accessed_ms(metadata: u64) -> i64
|
|
80
|
+
@extern sa_fs_metadata_changed_ms(metadata: u64) -> i64
|
|
81
|
+
@extern sa_fs_metadata_len(metadata: u64) -> u64
|
|
82
|
+
@extern sa_fs_metadata_mode(metadata: u64) -> u32
|
|
83
|
+
@extern sa_fs_metadata_uid(metadata: u64) -> u32
|
|
84
|
+
@extern sa_fs_metadata_gid(metadata: u64) -> u32
|
|
85
|
+
@extern sa_fs_metadata_ino(metadata: u64) -> u64
|
|
86
|
+
@extern sa_fs_metadata_dev(metadata: u64) -> u64
|
|
87
|
+
@extern sa_fs_metadata_nlink(metadata: u64) -> u64
|
|
88
|
+
@extern sa_fs_metadata_rdev(metadata: u64) -> u64
|
|
89
|
+
@extern sa_fs_metadata_blksize(metadata: u64) -> u64
|
|
90
|
+
@extern sa_fs_metadata_blocks(metadata: u64) -> u64
|
|
91
|
+
@extern sa_fs_metadata_st_dev(metadata: u64) -> u64
|
|
92
|
+
@extern sa_fs_metadata_st_ino(metadata: u64) -> u64
|
|
93
|
+
@extern sa_fs_metadata_st_mode(metadata: u64) -> u32
|
|
94
|
+
@extern sa_fs_metadata_st_nlink(metadata: u64) -> u64
|
|
95
|
+
@extern sa_fs_metadata_st_uid(metadata: u64) -> u32
|
|
96
|
+
@extern sa_fs_metadata_st_gid(metadata: u64) -> u32
|
|
97
|
+
@extern sa_fs_metadata_st_rdev(metadata: u64) -> u64
|
|
98
|
+
@extern sa_fs_metadata_st_size(metadata: u64) -> u64
|
|
99
|
+
@extern sa_fs_metadata_st_atime(metadata: u64) -> i64
|
|
100
|
+
@extern sa_fs_metadata_st_atime_nsec(metadata: u64) -> i64
|
|
101
|
+
@extern sa_fs_metadata_st_mtime(metadata: u64) -> i64
|
|
102
|
+
@extern sa_fs_metadata_st_mtime_nsec(metadata: u64) -> i64
|
|
103
|
+
@extern sa_fs_metadata_st_ctime(metadata: u64) -> i64
|
|
104
|
+
@extern sa_fs_metadata_st_ctime_nsec(metadata: u64) -> i64
|
|
105
|
+
@extern sa_fs_metadata_st_blksize(metadata: u64) -> u64
|
|
106
|
+
@extern sa_fs_metadata_st_blocks(metadata: u64) -> u64
|
|
107
|
+
@extern sa_fs_metadata_free(metadata: u64) -> i32!
|
|
108
|
+
@extern sa_fs_remove_file(&path: ptr, path_len: u64) -> i32
|
|
109
|
+
@extern sa_fs_rename(&from_path: ptr, from_len: u64, &to_path: ptr, to_len: u64) -> i32
|
|
110
|
+
@extern sa_fs_make_dir(&path: ptr, path_len: u64) -> i32
|
|
111
|
+
@extern sa_fs_make_dir_mode(&path: ptr, path_len: u64, mode: u32) -> i32
|
|
112
|
+
@extern sa_fs_create_dir(&path: ptr, path_len: u64) -> i32
|
|
113
|
+
@extern sa_fs_create_dir_mode(&path: ptr, path_len: u64, mode: u32) -> i32
|
|
114
|
+
@extern sa_fs_remove_dir(&path: ptr, path_len: u64) -> i32
|
|
115
|
+
@extern sa_fs_remove_dir_all(&path: ptr, path_len: u64) -> i32
|
|
116
|
+
@extern sa_fs_remove_path(&path: ptr, path_len: u64) -> i32
|
|
117
|
+
@extern sa_fs_copy_file(&from_path: ptr, from_len: u64, &to_path: ptr, to_len: u64) -> i32
|
|
118
|
+
@extern sa_fs_set_permissions(&path: ptr, path_len: u64, mode: u32) -> i32
|
|
119
|
+
@extern sa_fs_set_times_ms(&path: ptr, path_len: u64, accessed_ms: i64, modified_ms: i64) -> i32
|
|
120
|
+
@extern sa_fs_hard_link(&from_path: ptr, from_len: u64, &to_path: ptr, to_len: u64) -> i32
|
|
121
|
+
@extern sa_fs_symlink(&target_path: ptr, target_len: u64, &link_path: ptr, link_len: u64) -> i32
|
|
122
|
+
@extern sa_fs_chown(&path: ptr, path_len: u64, uid: u32, gid: u32, has_uid: u32, has_gid: u32) -> i32
|
|
123
|
+
@extern sa_fs_lchown(&path: ptr, path_len: u64, uid: u32, gid: u32, has_uid: u32, has_gid: u32) -> i32
|
|
124
|
+
@extern sa_fs_fchown(file: u64, uid: u32, gid: u32, has_uid: u32, has_gid: u32) -> i32
|
|
125
|
+
@extern sa_fs_chroot(&path: ptr, path_len: u64) -> i32
|
|
126
|
+
@extern sa_fs_mkfifo(&path: ptr, path_len: u64, mode: u32) -> i32
|
|
127
|
+
@extern sa_std_fs_read_link(&path: ptr, path_len: u64, &out_handle: ptr) -> i32
|
package/sa_std/fs.sal
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
#def SA_FS_OK = 0
|
|
2
|
+
#def SA_FS_ERR_UNKNOWN = 1
|
|
3
|
+
#def SA_FS_ERR_NOT_FOUND = 2
|
|
4
|
+
#def SA_FS_ERR_PERMISSION_DENIED = 3
|
|
5
|
+
#def SA_FS_ERR_ALREADY_EXISTS = 4
|
|
6
|
+
#def SA_FS_ERR_INVALID_PATH = 5
|
|
7
|
+
#def SA_FS_ERR_IS_DIR = 6
|
|
8
|
+
#def SA_FS_ERR_NOT_DIR = 7
|
|
9
|
+
|
|
10
|
+
#def SA_FS_OPEN_READ = 1
|
|
11
|
+
#def SA_FS_OPEN_WRITE = 2
|
|
12
|
+
#def SA_FS_OPEN_CREATE = 4
|
|
13
|
+
#def SA_FS_OPEN_TRUNCATE = 8
|
|
14
|
+
#def SA_FS_OPEN_APPEND = 16
|
|
15
|
+
#def SA_FS_OPEN_MODE_DEFAULT = 438
|
|
16
|
+
#def SA_FS_CHOWN_ID_UNCHANGED = 4294967295
|
|
17
|
+
|
|
18
|
+
#def SA_FS_CUSTOM_APPEND = 1024
|
|
19
|
+
#def SA_FS_CUSTOM_NONBLOCK = 2048
|
|
20
|
+
#def SA_FS_CUSTOM_DSYNC = 4096
|
|
21
|
+
#def SA_FS_CUSTOM_DIRECT = 16384
|
|
22
|
+
#def SA_FS_CUSTOM_DIRECTORY = 65536
|
|
23
|
+
#def SA_FS_CUSTOM_NOFOLLOW = 131072
|
|
24
|
+
#def SA_FS_CUSTOM_CLOEXEC = 524288
|
|
25
|
+
#def SA_FS_CUSTOM_SYNC = 1052672
|
|
26
|
+
|
|
27
|
+
#def SA_FS_SEEK_START = 0
|
|
28
|
+
#def SA_FS_SEEK_CURRENT = 1
|
|
29
|
+
#def SA_FS_SEEK_END = 2
|
|
30
|
+
|
|
31
|
+
#def SA_FS_FILE_REGULAR = 1
|
|
32
|
+
#def SA_FS_FILE_DIR = 2
|
|
33
|
+
#def SA_FS_FILE_SYMLINK = 3
|
|
34
|
+
#def SA_FS_FILE_OTHER = 255
|
|
35
|
+
|
|
36
|
+
#def SaFsReadBuffer_SIZE = 24
|
|
37
|
+
#def SaFsReadBuffer_ptr = +0
|
|
38
|
+
#def SaFsReadBuffer_len = +8
|
|
39
|
+
#def SaFsReadBuffer_cap = +16
|
|
40
|
+
|
|
41
|
+
#def SaFsPermissions_SIZE = 4
|
|
42
|
+
#def SaFsPermissions_mode = +0
|
|
43
|
+
#def SA_FS_PERM_WRITE_BITS = 146
|
|
44
|
+
#def SA_FS_PERM_OWNER_WRITE = 128
|
|
45
|
+
|
|
46
|
+
#def SaFsMetadata_SIZE = 32
|
|
47
|
+
#def SaFsMetadata_kind = +0
|
|
48
|
+
#def SaFsMetadata_permissions = +4
|
|
49
|
+
#def SaFsMetadata_len = +8
|
|
50
|
+
#def SaFsMetadata_modified_unix_sec = +16
|
|
51
|
+
#def SaFsMetadata_created_unix_sec = +24
|
package/sa_std/future.sa
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@import "core/future.sal"
|