#include <compartment.h>
#include <cstdlib>
#include <debug.hh>
#include <fail-simulator-on-error.h>

/// Expose debugging features unconditionally for this compartment.
using Debug = ConditionalDebug<true, "Claimant compartment">;

void *x;

int __cheri_compartment("claimant") make_claim(void *ptr)
{
	Debug::log("Initial quota: {}", heap_quota_remaining(MALLOC_CAPABILITY));

	if (x != nullptr)
	{
		free(x);
	}

	Timeout t{10};
	heap_claim(MALLOC_CAPABILITY, ptr);
	x = ptr;

	Debug::log("Make Claim : {}", x);
	Debug::log("heap quota: {}", heap_quota_remaining(MALLOC_CAPABILITY));
	return 0;
};

int __cheri_compartment("claimant") show_claim()
{
	Debug::log("Show Claim : {}", x);

	return 0;
}