Files
Toy/source/toy_module_bundle.h

21 lines
701 B
C

#pragma once
#include "toy_common.h"
#include "toy_ast.h"
#include "toy_module.h"
typedef struct Toy_ModuleBundle {
unsigned char* ptr;
unsigned int capacity;
unsigned int count;
} Toy_ModuleBundle;
//create a bundle
TOY_API void Toy_initModuleBundle(Toy_ModuleBundle* bundle);
TOY_API void Toy_appendModuleBundle(Toy_ModuleBundle* bundle, Toy_Ast* ast); //TODO: raw bytes
TOY_API void Toy_freeModuleBundle(Toy_ModuleBundle* bundle);
//load module bundle with external data (makes an internal copy)
TOY_API void Toy_bindModuleBundle(Toy_ModuleBundle* bundle, unsigned char* ptr, unsigned int size);
TOY_API Toy_Module Toy_extractModuleFromBundle(Toy_ModuleBundle* bundle, unsigned char index);