Skip to content

C / C++

The C ABI hub. A single wickra_terminal.h header + prebuilt library links from C, C++, or any C-capable language. Drive a terminal with the JSON command protocol.

bash
# prebuilt wickra_terminal.h + library per platform:
# github.com/wickra-lib/wickra-terminal/releases
c
#include "wickra_terminal.h"

const char *config = "{\"sources\":[{\"Synth\":{\"seed\":1}}],"
                     "\"layout\":{\"panels\":[{\"kind\":\"Chart\","
                     "\"rect\":{\"x\":0,\"y\":0,\"w\":100,\"h\":100}}]}}";

WickraTerminal *term = wickra_terminal_new(config);

char *out = NULL;
wickra_terminal_command(term, "{\"type\":\"Subscribe\",\"source\":0,\"symbol\":\"BTC/USDT\"}", &out);
wickra_terminal_free_string(out);

int code = wickra_terminal_command(term, "{\"type\":\"Tick\"}", &out);  // 0 on success
if (code == 0) {
    printf("%s\n", out);           // JSON frame
    wickra_terminal_free_string(out);
}
wickra_terminal_free(term);

The header is generated by cbindgen and is the same ABI the C#, Go, Java and R bindings link against.

More