go-jsonnet/c-bindings/internal.h
mikehoyle eac7db4471 c-bindings: Add jsonnet_realloc export
This adds the realloc function as an export in c-bindings.go so
that it is included in the generated header and can be used by
dependent libraries.
2022-10-21 17:55:35 +01:00

51 lines
1.9 KiB
C

#pragma once
#include <stdint.h>
struct JsonnetVm {
uintptr_t id;
};
struct JsonnetVm *jsonnet_internal_make_vm_with_id(uintptr_t id);
void jsonnet_internal_free_vm(struct JsonnetVm *x);
struct JsonnetJsonValue {
uintptr_t id;
};
struct JsonnetJsonValue *jsonnet_internal_make_json_with_id(uintptr_t id);
void jsonnet_internal_free_json(struct JsonnetJsonValue *x);
typedef struct JsonnetJsonValue *JsonnetNativeCallback(void *ctx,
const struct JsonnetJsonValue *const *argv,
int *success);
struct JsonnetJsonValue* jsonnet_internal_execute_native(JsonnetNativeCallback *cb,
void *ctx,
const struct JsonnetJsonValue *const *argv,
int *success);
typedef char *JsonnetImportCallback(void *ctx,
const char *base,
const char *rel,
char **found_here,
int *success);
char* jsonnet_internal_execute_import(JsonnetImportCallback *cb,
void *ctx,
const char *base,
const char *rel,
char **found_here,
int *success);
typedef int JsonnetIoWriterCallback(const void *buf, size_t nbytes, int *success);
int jsonnet_internal_execute_writer(JsonnetIoWriterCallback *cb,
const void *buf,
size_t nbytes,
int *success);
void jsonnet_internal_free_string(char *str);
char* jsonnet_internal_realloc(struct JsonnetVm *vm, char *str, size_t sz);