ableos/sysdata/libraries/stn/src/buffer.hb

27 lines
839 B
Plaintext
Raw Normal View History

2024-09-18 03:38:49 -05:00
string := @use("string.hb")
2024-07-07 08:35:07 -05:00
2024-10-23 15:22:28 -05:00
recv := fn($Expr: type, buffer_id: int, memory_map_location: ^u8): ^Expr {
return @eca(4, buffer_id, memory_map_location, @sizeof(Expr))
2024-07-07 08:35:07 -05:00
}
2024-10-23 15:22:28 -05:00
write := fn($Expr: type, msg: ^Expr, buffer_id: int): void {
return @eca(3, buffer_id, msg, @sizeof(Expr))
2024-07-07 08:35:07 -05:00
}
2024-10-25 10:37:38 -05:00
recv_length := fn(buffer_id: int, memory_map_location: ^u8, length: int): void {
return @eca(4, buffer_id, memory_map_location, length)
}
write_length := fn(msg: ^u8, buffer_id: int, length: int): void {
return @eca(3, buffer_id, msg, length)
}
2024-10-20 06:36:34 -05:00
BufferMsg := packed struct {operation: u8, msg: ^u8, msg_len: uint}
create := fn(msg: ^u8): int {
2024-10-20 06:36:34 -05:00
return @eca(3, 0, BufferMsg.(0, msg, @inline(string.length, msg)), @sizeof(BufferMsg))
}
search := fn(msg: ^u8): int {
2024-10-20 06:36:34 -05:00
return @eca(3, 0, BufferMsg.(3, msg, @inline(string.length, msg)), @sizeof(BufferMsg))
2024-07-20 12:54:58 -05:00
}