#pragma once
#include <stdbool.h>
#include <stddef.h>
#ifdef __cplusplus
#define SOLC_NOEXCEPT noexcept
#else
#define SOLC_NOEXCEPT
#endif
#ifdef __cplusplus
extern "C" {
#endif
typedef void (*CStyleReadFileCallback)(void* _context, char const* _kind, char const* _data, char** o_contents, char** o_error);
char const* solidity_license() SOLC_NOEXCEPT;
char const* solidity_version() SOLC_NOEXCEPT;
char* solidity_alloc(size_t _size) SOLC_NOEXCEPT;
void solidity_free(char* _data) SOLC_NOEXCEPT;
char* solidity_compile(char const* _input, CStyleReadFileCallback _readCallback, void* _readContext) SOLC_NOEXCEPT;
void solidity_reset() SOLC_NOEXCEPT;
#ifdef __cplusplus
}
#endif