| 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().