blob: 20c81cb7af535a73fb59f4bc2e66de7f502e974a [file] [log] [blame]
Michael Clarkf0d08882007-03-13 08:26:18 +00001/*
Michael Clarkf6a6e482007-03-13 08:26:23 +00002 * $Id: printbuf.h,v 1.4 2006/01/26 02:16:28 mclark Exp $
Michael Clarkf0d08882007-03-13 08:26:18 +00003 *
Michael Clarkf6a6e482007-03-13 08:26:23 +00004 * Copyright (c) 2004, 2005 Metaparadigm Pte. Ltd.
Michael Clarkf0d08882007-03-13 08:26:18 +00005 * Michael Clark <michael@metaparadigm.com>
6 *
Michael Clarkf6a6e482007-03-13 08:26:23 +00007 * This library is free software; you can redistribute it and/or modify
8 * it under the terms of the MIT license. See COPYING for details.
Michael Clarkf0d08882007-03-13 08:26:18 +00009 *
10 */
11
12#ifndef _printbuf_h_
13#define _printbuf_h_
14
Michael Clarkaaec1ef2009-02-25 02:31:32 +000015#ifdef __cplusplus
16extern "C" {
17#endif
18
Michael Clark4504df72007-03-13 08:26:20 +000019#undef PRINTBUF_DEBUG
20
Michael Clarkf0d08882007-03-13 08:26:18 +000021struct printbuf {
22 char *buf;
23 int bpos;
24 int size;
25};
26
27extern struct printbuf*
Michael Clark14862b12007-12-07 02:50:42 +000028printbuf_new(void);
Michael Clarkf0d08882007-03-13 08:26:18 +000029
30extern int
Michael Clark68cafad2009-01-06 22:56:57 +000031printbuf_memappend(struct printbuf *p, const char *buf, int size);
Michael Clarkf0d08882007-03-13 08:26:18 +000032
33extern int
34sprintbuf(struct printbuf *p, const char *msg, ...);
35
36extern void
37printbuf_reset(struct printbuf *p);
38
39extern void
40printbuf_free(struct printbuf *p);
41
Michael Clarkaaec1ef2009-02-25 02:31:32 +000042#ifdef __cplusplus
43}
44#endif
45
Michael Clarkf0d08882007-03-13 08:26:18 +000046#endif