summaryrefslogtreecommitdiff
path: root/src/c_api.zig
blob: 11ff763bb1099e910c312957c8279480e801fd14 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
// client
export fn zaprus_init() c_int {
    SaprusClient.init() catch return 1;
    return 0;
}

export fn zaprus_deinit() c_int {
    SaprusClient.deinit();
    return 0;
}

export fn zaprus_send_relay(payload: [*]const u8, len: usize, dest: [*]u8) c_int {
    SaprusClient.sendRelay(payload[0..len], dest[0..4].*, allocator) catch return 1;
    return 0;
}

export fn zaprus_connect(payload: [*]const u8, len: usize, output: *SaprusConnection) c_int {
    output.* = (SaprusClient.connect(payload[0..len], allocator) catch return 1).?;
    return 0;
}

const std = @import("std");

const zaprus = @import("./root.zig");
const SaprusClient = zaprus.Client;
const SaprusConnection = zaprus.Connection;

const allocator = std.heap.c_allocator;

test {
    std.testing.refAllDeclsRecursively(@This());
}