nim-sds/library/libsds.h
2025-04-16 11:47:17 +03:00

62 lines
1.7 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 libsds`
// from the root repo folder and the header should be created in
// nimcache/release/libsds/libsds.h
#ifndef __libsds__
#define __libsds__
#include <stddef.h>
#include <stdint.h>
// 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 (*SdsCallBack) (int callerRet, const char* msg, size_t len, void* userData);
// --- Core API Functions ---
void* NewReliabilityManager(const char* channelId, SdsCallBack callback, void* userData);
void SetEventCallback(void* ctx, SdsCallBack callback, void* userData);
int CleanupReliabilityManager(void* ctx, SdsCallBack callback, void* userData);
int ResetReliabilityManager(void* ctx, SdsCallBack callback, void* userData);
int WrapOutgoingMessage(void* ctx,
void* message,
size_t messageLen,
const char* messageId,
SdsCallBack callback,
void* userData);
int UnwrapReceivedMessage(void* ctx,
void* message,
size_t messageLen,
SdsCallBack callback,
void* userData);
int MarkDependenciesMet(void* ctx,
char** messageIDs,
size_t count,
SdsCallBack callback,
void* userData);
int StartPeriodicTasks(void* ctx, SdsCallBack callback, void* userData);
#ifdef __cplusplus
}
#endif
#endif /* __libsds__ */