From 87a660d1ea54f126ffdc0b16d223bc6be0d3a31e Mon Sep 17 00:00:00 2001 From: Rob Kendrick Date: Thu, 26 Oct 2006 01:10:46 +0000 Subject: Import initial work on theme container handling code and simple command-line tool to create and dismantal them. Still a little grungy, and doesn't check in enough places for memory exhaustion. svn path=/trunk/netsurf/; revision=3017 --- utils/container.h | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 utils/container.h (limited to 'utils/container.h') diff --git a/utils/container.h b/utils/container.h new file mode 100644 index 000000000..c96a79921 --- /dev/null +++ b/utils/container.h @@ -0,0 +1,39 @@ +/* + * This file is part of NetSurf, http://netsurf.sourceforge.net/ + * Licensed under the GNU General Public License, + * http://www.opensource.org/licenses/gpl-license + * Copyright 2006 Rob Kendrick + */ + +/** \file + * Container format handling for themes etc. */ + +#ifndef __CONTAINER_H__ +#define __CONTAINER_H__ + +#include + +struct container_ctx; + +/* reading interface */ +struct container_ctx *container_open(const char *filename); +const unsigned char *container_get(struct container_ctx *ctx, + const unsigned char *entryname, + u_int32_t *size); +const unsigned char *container_get_name(struct container_ctx *ctx); +const unsigned char *container_get_author(struct container_ctx *ctx); +const unsigned char *container_iterate(struct container_ctx *ctx, + int *state); + +/* creating interface */ +struct container_ctx *container_create(const char *filename, + const unsigned char *name, + const unsigned char *author); +void container_add(struct container_ctx *ctx, const unsigned char *entryname, + const unsigned char *data, + const u_int32_t datalen); + +/* common interface */ +void container_close(struct container_ctx *ctx); + +#endif /* __CONTAINER_H__ */ -- cgit v1.2.3