Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

#include <stdint.h>
#include <stddef.h>
#include <stdlib.h>
#include <ohash.h>

static void	*xmalloc(size_t, void *);
static void	*xcalloc(size_t, size_t, void *);
static void	 xfree(void *, void *);


static void *
xmalloc(size_t sz, void *arg) {
	return calloc(1,sz);
}

static void *
xcalloc(size_t nmemb, size_t sz, void *arg)
{
	return calloc(nmemb,sz);
}

static void
xfree(void *p, void *arg)
{
	free(p);
}

int
main(void)
{
	struct ohash h;
	struct ohash_info i;
	i.alloc = xmalloc;
	i.calloc = xcalloc;
	i.free = xfree;
	ohash_init(&h, 2, &i);
	ohash_delete(&h);
	return 0;
}