string := @use("string.hb") recv := fn(buffer_id: int, memory_map_location: ^u8, length: int): ^u8 { return @eca(4, buffer_id, memory_map_location, length) } write := fn(msg: ^u8, buffer_id: int, length: int): void { return @eca(3, buffer_id, msg, length) } BufferMsg := packed struct {operation: u8, msg: ^u8, msg_len: uint} create := fn(msg: ^u8): int { return @eca(3, 0, BufferMsg.(0, msg, @inline(string.length, msg)), @sizeof(BufferMsg)) } search := fn(msg: ^u8): int { return @eca(3, 0, BufferMsg.(3, msg, @inline(string.length, msg)), @sizeof(BufferMsg)) }