aboutsummaryrefslogtreecommitdiff
path: root/mirai.old/utils/types/result.zig
diff options
context:
space:
mode:
Diffstat (limited to 'mirai.old/utils/types/result.zig')
-rw-r--r--mirai.old/utils/types/result.zig27
1 files changed, 27 insertions, 0 deletions
diff --git a/mirai.old/utils/types/result.zig b/mirai.old/utils/types/result.zig
new file mode 100644
index 0000000..9596353
--- /dev/null
+++ b/mirai.old/utils/types/result.zig
@@ -0,0 +1,27 @@
+//! Invocation result utilities
+
+const invocations = @import("../../common/constants/invocations.zig");
+const handler = @import("../../invocations/handler.zig");
+
+pub const ERROR = invocations.ERROR;
+pub const NO_DATA = invocations.NO_DATA;
+
+pub inline fn set_error(ctx: *handler.InvocationContext) void {
+ ctx.rax = ERROR;
+}
+
+pub inline fn set_no_data(ctx: *handler.InvocationContext) void {
+ ctx.rax = NO_DATA;
+}
+
+pub inline fn set_ok(ctx: *handler.InvocationContext) void {
+ ctx.rax = 0;
+}
+
+pub inline fn set_value(ctx: *handler.InvocationContext, value: u64) void {
+ ctx.rax = value;
+}
+
+pub inline fn is_error(value: u64) bool {
+ return value == ERROR;
+}