nwaku/library/libwaku.h

63 lines
1.8 KiB
C

// Generated manually and inspired by the one generated by the Nim Compiler.
// In order to see the header file generated by Nim just run `make libwaku`
// from the root repo folder and the header should be created in
// nimcache/release/libwaku/libwaku.h
#ifndef __libwaku__
#define __libwaku__
// The possible returned values for the functions that return int
#define RET_OK 0
#define RET_ERR 1
#define RET_MISSING_CALLBACK 2
#ifdef __cplusplus
extern "C" {
#endif
typedef void (*WakuCallBack) (const char* msg, size_t len_0);
// Creates a new instance of the waku node.
// Sets up the waku node from the given configuration.
int waku_new(const char* configJson, WakuCallBack onErrCb);
void waku_start(void);
void waku_stop(void);
int waku_version(WakuCallBack onOkCb);
void waku_set_event_callback(WakuCallBack callback);
int waku_content_topic(const char* appName,
unsigned int appVersion,
const char* contentTopicName,
const char* encoding,
WakuCallBack onOkCb);
int waku_pubsub_topic(const char* topicName,
WakuCallBack onOkCb);
int waku_default_pubsub_topic(WakuCallBack onOkCb);
int waku_relay_publish(const char* pubSubTopic,
const char* jsonWakuMessage,
unsigned int timeoutMs,
WakuCallBack onErrCb);
int waku_relay_subscribe(const char* pubSubTopic,
WakuCallBack onErrCb);
int waku_relay_unsubscribe(const char* pubSubTopic,
WakuCallBack onErrCb);
int waku_connect(const char* peerMultiAddr,
unsigned int timeoutMs,
WakuCallBack onErrCb);
#ifdef __cplusplus
}
#endif
#endif /* __libwaku__ */