2007-03-15 17:30:04 +00:00
|
|
|
/*
|
2007-06-26 22:21:22 +00:00
|
|
|
* buf.h: buffers for libvirt
|
2007-03-15 17:30:04 +00:00
|
|
|
*
|
2007-06-26 22:21:22 +00:00
|
|
|
* Copyright (C) 2005-2007 Red Hat, Inc.
|
2007-03-15 17:30:04 +00:00
|
|
|
*
|
|
|
|
* See COPYING.LIB for the License of this software
|
|
|
|
*
|
|
|
|
* Daniel Veillard <veillard@redhat.com>
|
|
|
|
*/
|
|
|
|
|
2007-06-26 22:21:22 +00:00
|
|
|
#ifndef __VIR_BUFFER_H__
|
|
|
|
#define __VIR_BUFFER_H__
|
2007-03-15 17:30:04 +00:00
|
|
|
|
|
|
|
#include "internal.h"
|
|
|
|
|
|
|
|
/**
|
2007-06-26 22:21:22 +00:00
|
|
|
* virBuffer:
|
2007-03-15 17:30:04 +00:00
|
|
|
*
|
|
|
|
* A buffer structure.
|
|
|
|
*/
|
2007-06-26 22:21:22 +00:00
|
|
|
typedef struct _virBuffer virBuffer;
|
|
|
|
typedef virBuffer *virBufferPtr;
|
|
|
|
struct _virBuffer {
|
2007-03-15 17:30:04 +00:00
|
|
|
char *content; /* The buffer content UTF8 */
|
|
|
|
unsigned int use; /* The buffer size used */
|
|
|
|
unsigned int size; /* The buffer size */
|
|
|
|
};
|
|
|
|
|
2007-06-26 22:21:22 +00:00
|
|
|
virBufferPtr virBufferNew(unsigned int size);
|
|
|
|
void virBufferFree(virBufferPtr buf);
|
|
|
|
char *virBufferContentAndFree(virBufferPtr buf);
|
|
|
|
int virBufferAdd(virBufferPtr buf, const char *str, int len);
|
|
|
|
int virBufferVSprintf(virBufferPtr buf, const char *format, ...)
|
2007-03-15 17:30:04 +00:00
|
|
|
ATTRIBUTE_FORMAT(printf, 2, 3);
|
2007-06-26 22:21:22 +00:00
|
|
|
int virBufferStrcat(virBufferPtr buf, ...);
|
2007-07-09 11:24:52 +00:00
|
|
|
int virBufferEscapeString(virBufferPtr buf, const char *format, const char *str);
|
2007-03-15 17:30:04 +00:00
|
|
|
|
2007-06-26 22:21:22 +00:00
|
|
|
#endif /* __VIR_BUFFER_H__ */
|