| GIO Reference Manual | ||||
|---|---|---|---|---|
#include <gio/gio.h>gpointer (*GReallocFunc) (gpointer data,gsize size); GMemoryOutputStream; GOutputStream* g_memory_output_stream_new (gpointer data,gsize len, GReallocFunc realloc_fn,GDestroyNotify destroy);gpointer g_memory_output_stream_get_data (GMemoryOutputStream *ostream);gsize g_memory_output_stream_get_size (GMemoryOutputStream *ostream);
GMemoryOutputStream is a class for using arbitrary memory chunks as output for GIO streaming output operations.
gpointer (*GReallocFunc) (gpointer data,gsize size);
Changes the size of the memory block pointed to by data to
size bytes.
The function should have the same semantics as realloc()
data : |
memory block to reallocate |
size : |
size to reallocate data to
|
| Returns : | a pointer to the reallocated memory |
typedef struct _GMemoryOutputStream GMemoryOutputStream;
Implements GOutputStream for arbitrary memory chunks.
GOutputStream* g_memory_output_stream_new (gpointer data,gsize len, GReallocFunc realloc_fn,GDestroyNotify destroy);
Creates a new GMemoryOutputStream.
If data is non-NULLrealloc_fn is non-NULLNULLrealloc_fn.
/* a stream that can grow */ stream = g_memory_output_stream_new (NULL, 0, realloc, free); /* a fixed-size stream */ data = malloc (200); stream2 = g_memory_output_stream_new (data, 200, NULL, free);
data : |
pointer to a chunk of memory to use, or NULL |
len : |
the size of data
|
realloc_fn : |
a function with realloc()data needs to be grown, or NULL |
destroy : |
a function to be called on data when the stream is finalized,
or NULL |
| Returns : | A newly created GMemoryOutputStream object. |
gpointer g_memory_output_stream_get_data (GMemoryOutputStream *ostream);
Gets any loaded data from the ostream.
Note that the returned pointer may become invalid on the next write or truncate operation on the stream.
ostream : |
a GMemoryOutputStream |
| Returns : | pointer to the stream's data |
gsize g_memory_output_stream_get_size (GMemoryOutputStream *ostream);
Gets the size of the loaded data from the ostream.
Note that the returned size may become invalid on the next write or truncate operation on the stream.
ostream : |
a GMemoryOutputStream |
| Returns : | the size of the stream's data |