00001 /* 00002 * $Id: printbuf.h,v 1.4 2006/01/26 02:16:28 mclark Exp $ 00003 * 00004 * Copyright (c) 2004, 2005 Metaparadigm Pte. Ltd. 00005 * Michael Clark <michael@metaparadigm.com> 00006 * 00007 * This library is free software; you can redistribute it and/or modify 00008 * it under the terms of the MIT license. See COPYING for details. 00009 * 00010 */ 00011 00012 #ifndef _printbuf_h_ 00013 #define _printbuf_h_ 00014 00015 #undef PRINTBUF_DEBUG 00016 00017 struct printbuf { 00018 char *buf; 00019 int bpos; 00020 int size; 00021 }; 00022 00023 extern struct printbuf* 00024 printbuf_new(void); 00025 00026 extern int 00027 printbuf_memappend(struct printbuf *p, const char *buf, int size); 00028 00029 extern int 00030 sprintbuf(struct printbuf *p, const char *msg, ...); 00031 00032 extern void 00033 printbuf_reset(struct printbuf *p); 00034 00035 extern void 00036 printbuf_free(struct printbuf *p); 00037 00038 #endif