#ifndef _ROVM_GC_H
#define _ROVM_GC_H

enum gc_type
  {
    GC_OBJECTREF
  };

extern int init_rovm_gc (struct rovm *, rc_pool_t *);
extern int gc_run (struct rovm *);
extern void *gc_alloc (struct rovm *, struct ticket *, size_t);
extern void *gc_calloc (struct rovm *, struct ticket *, size_t);
extern void *gc_tcalloc (struct rovm *, struct ticket *, size_t, enum gc_type);
extern char *gc_strndup (struct rovm *, struct ticket *, char *, size_t);

#endif
