nim-sds/library/libsds.h
2025-06-17 09:59:46 +02: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* SdsNewReliabilityManager(const char* channelId, SdsCallBack callback, void* userData);
void SdsSetEventCallback(void* ctx, SdsCallBack callback, void* userData);
int SdsCleanupReliabilityManager(void* ctx, SdsCallBack callback, void* userData);
int SdsResetReliabilityManager(void* ctx, SdsCallBack callback, void* userData);
int SdsWrapOutgoingMessage(void* ctx,
void* message,
size_t messageLen,
const char* messageId,
SdsCallBack callback,
void* userData);
int SdsUnwrapReceivedMessage(void* ctx,
void* message,
size_t messageLen,
SdsCallBack callback,
void* userData);
int SdsMarkDependenciesMet(void* ctx,
char** messageIDs,
size_t count,
SdsCallBack callback,
void* userData);
int SdsStartPeriodicTasks(void* ctx, SdsCallBack callback, void* userData);
#ifdef __cplusplus
}
#endif
#endif /* __libsds__ */