| Top |
| void | g_mime_stream_construct () |
| ssize_t | g_mime_stream_read () |
| ssize_t | g_mime_stream_write () |
| int | g_mime_stream_flush () |
| gint64 | g_mime_stream_seek () |
| gint64 | g_mime_stream_tell () |
| int | g_mime_stream_reset () |
| gboolean | g_mime_stream_eos () |
| int | g_mime_stream_close () |
| gint64 | g_mime_stream_length () |
| GMimeStream * | g_mime_stream_substream () |
| void | g_mime_stream_set_bounds () |
| ssize_t | g_mime_stream_write_string () |
| ssize_t | g_mime_stream_printf () |
| gint64 | g_mime_stream_write_to_stream () |
| gint64 | g_mime_stream_writev () |
GObject
╰── GMimeStream
├── GMimeStreamBuffer
├── GMimeStreamCat
├── GMimeStreamFile
├── GMimeStreamFilter
├── GMimeStreamFs
├── GMimeStreamGIO
├── GMimeStreamMem
├── GMimeStreamMmap
├── GMimeStreamNull
╰── GMimeStreamPipe
Streams are the fundamental method for reading and writing data
used by GMime. You'll probably notice that the basic API is similar
to that of the low-level Unix I/O layer (read(), write(), lseek(),
etc) with some additional nicities such as a printf-like function.
void g_mime_stream_construct (GMimeStream *stream,gint64 start,gint64 end);
Initializes a new stream with bounds start
and end
.
ssize_t g_mime_stream_read (GMimeStream *stream,char *buf,size_t len);
Attempts to read up to len
bytes from stream
into buf
.
ssize_t g_mime_stream_write (GMimeStream *stream,const char *buf,size_t len);
Attempts to write up to len
bytes of buf
to stream
.
gint64 g_mime_stream_seek (GMimeStream *stream,gint64 offset,GMimeSeekWhence whence);
Repositions the offset of the stream stream
to
the argument offset
according to the
directive whence
as follows:
GMIME_STREAM_SEEK_SET: Seek offset
bytes relative to
the beginning (bound_start) of the stream.
GMIME_STREAM_SEEK_CUR: Seek offset
bytes relative to the
current offset of the stream.
GMIME_STREAM_SEEK_END: Seek offset
bytes relative to the
end of the stream (bound_end if non-negative).
gint64
g_mime_stream_tell (GMimeStream *stream);
Gets the current offset within the stream.
gboolean
g_mime_stream_eos (GMimeStream *stream);
Tests the end-of-stream indicator for stream
.
gint64
g_mime_stream_length (GMimeStream *stream);
Gets the length of the stream.
GMimeStream * g_mime_stream_substream (GMimeStream *stream,gint64 start,gint64 end);
Creates a new substream of stream
with bounds start
and end
.
void g_mime_stream_set_bounds (GMimeStream *stream,gint64 start,gint64 end);
Set the bounds on a stream.
ssize_t g_mime_stream_write_string (GMimeStream *stream,const char *str);
Writes string
to stream
.
ssize_t g_mime_stream_printf (GMimeStream *stream,const char *fmt,...);
Write formatted output to a stream.
gint64 g_mime_stream_write_to_stream (GMimeStream *src,GMimeStream *dest);
Attempts to write the source stream to the destination stream.
gint64 g_mime_stream_writev (GMimeStream *stream,GMimeStreamIOVector *vector,size_t count);
Writes at most count
blocks described by vector
to stream
.
typedef struct {
void *data;
size_t len;
} GMimeStreamIOVector;
An I/O vector for use with g_mime_stream_writev().