(initial_size := 1024, allocator := context.allocator) -> BufferStream {
return .{
.{ vtable = ^buffer_stream_vtable },
- make([..] u8, 1024, allocator = allocator)
+ make([..] u8, initial_size, allocator = allocator)
};
}
}
localtime :: __time_localtime
gmtime :: __time_gmtime
+to_epoch :: __time_mktime
strftime :: (buf: [] u8, format: [] u8, tm: ^Timestamp) -> str {
f := cast(cstr) core.alloc.from_stack(format.length + 1);
#foreign "onyx_runtime" {
__time_localtime :: (time: u64, tm: ^Timestamp) -> void ---
__time_gmtime :: (time: u64, tm: ^Timestamp) -> void ---
+ __time_mktime :: (tm: ^Timestamp) -> u64 ---
__time_strftime :: (buf: [] u8, format: cstr, tm: ^Timestamp) -> u32 ---
}
}
ONYX_FUNC(__time_localtime)
ONYX_FUNC(__time_gmtime)
ONYX_FUNC(__time_strftime)
+ ONYX_FUNC(__time_mktime)
ONYX_FUNC(__net_create_socket)
ONYX_FUNC(__net_close_socket)
results->data[0] = WASM_I32_VAL(len);
return NULL;
}
+
+ONYX_DEF(__time_mktime, (WASM_I32), (WASM_I64)) {
+ struct tm *time = (struct tm *) ONYX_PTR(params->data[0].of.i32);
+ results->data[0] = WASM_I64_VAL(mktime(time));
+ return NULL;
+}
+