| GMime 2.6 Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | Object Hierarchy | ||||
enum GMimeSeekWhence; GMimeStreamIOVector; struct GMimeStream; void g_mime_stream_construct (GMimeStream *stream,gint64 start,gint64 end); ssize_t g_mime_stream_read (GMimeStream *stream,char *buf,size_t len); ssize_t g_mime_stream_write (GMimeStream *stream,const char *buf,size_t len); int g_mime_stream_flush (GMimeStream *stream); gint64 g_mime_stream_seek (GMimeStream *stream,gint64 offset,GMimeSeekWhence whence); gint64 g_mime_stream_tell (GMimeStream *stream); int g_mime_stream_reset (GMimeStream *stream); gboolean g_mime_stream_eos (GMimeStream *stream); int g_mime_stream_close (GMimeStream *stream); gint64 g_mime_stream_length (GMimeStream *stream); GMimeStream * g_mime_stream_substream (GMimeStream *stream,gint64 start,gint64 end); void g_mime_stream_set_bounds (GMimeStream *stream,gint64 start,gint64 end); ssize_t g_mime_stream_write_string (GMimeStream *stream,const char *str); ssize_t g_mime_stream_printf (GMimeStream *stream,const char *fmt,...); ssize_t g_mime_stream_write_to_stream (GMimeStream *src,GMimeStream *dest); ssize_t g_mime_stream_writev (GMimeStream *stream,GMimeStreamIOVector *vector,size_t count);
GObject
+----GMimeStream
+----GMimeStreamBuffer
+----GMimeStreamCat
+----GMimeStreamFile
+----GMimeStreamFilter
+----GMimeStreamFs
+----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.
typedef enum {
GMIME_STREAM_SEEK_SET = SEEK_SET,
GMIME_STREAM_SEEK_CUR = SEEK_CUR,
GMIME_STREAM_SEEK_END = SEEK_END
} GMimeSeekWhence;
Relative seek position.
typedef struct {
void *data;
size_t len;
} GMimeStreamIOVector;
An I/O vector for use with g_mime_stream_writev().
void g_mime_stream_construct (GMimeStream *stream,gint64 start,gint64 end);
Initializes a new stream with bounds start and end.
|
a GMimeStream |
|
start boundary |
|
end boundary |
ssize_t g_mime_stream_read (GMimeStream *stream,char *buf,size_t len);
Attempts to read up to len bytes from stream into buf.
|
a GMimeStream |
|
buffer |
|
buffer length |
Returns : |
the number of bytes read or -1 on fail. |
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.
|
a GMimeStream |
|
buffer |
|
buffer length |
Returns : |
the number of bytes written or -1 on fail. |
int g_mime_stream_flush (GMimeStream *stream);
Sync's the stream to disk.
|
a GMimeStream |
Returns : |
0 on success or -1 on fail. |
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).
|
a GMimeStream |
|
positional offset |
|
seek directive |
Returns : |
the resultant position on success or -1 on fail. |
gint64 g_mime_stream_tell (GMimeStream *stream);
Gets the current offset within the stream.
|
a GMimeStream |
Returns : |
the current position within the stream or -1 on fail. |
int g_mime_stream_reset (GMimeStream *stream);
Resets the stream.
|
a GMimeStream |
Returns : |
0 on success or -1 on fail. |
gboolean g_mime_stream_eos (GMimeStream *stream);
Tests the end-of-stream indicator for stream.
|
a GMimeStream |
Returns : |
TRUE on EOS or FALSE otherwise. |
int g_mime_stream_close (GMimeStream *stream);
Closes the stream.
|
a GMimeStream |
Returns : |
0 on success or -1 on fail. |
gint64 g_mime_stream_length (GMimeStream *stream);
Gets the length of the stream.
|
a GMimeStream |
Returns : |
the length of the stream or -1 if unknown. |
GMimeStream * g_mime_stream_substream (GMimeStream *stream,gint64 start,gint64 end);
Creates a new substream of stream with bounds start and end.
|
a GMimeStream |
|
start boundary |
|
end boundary |
Returns : |
a 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.
|
a GMimeStream |
|
start boundary |
|
end boundary |
ssize_t g_mime_stream_write_string (GMimeStream *stream,const char *str);
Writes string to stream.
|
a GMimeStream |
|
string to write |
Returns : |
the number of bytes written or -1 on fail. |
ssize_t g_mime_stream_printf (GMimeStream *stream,const char *fmt,...);
Write formatted output to a stream.
|
a GMimeStream |
|
format |
Returns : |
the number of bytes written or -1 on fail. |
ssize_t g_mime_stream_write_to_stream (GMimeStream *src,GMimeStream *dest);
Attempts to write the source stream to the destination stream.
|
source stream |
|
destination stream |
Returns : |
the number of bytes written or -1 on fail. |
ssize_t g_mime_stream_writev (GMimeStream *stream,GMimeStreamIOVector *vector,size_t count);
Writes at most count blocks described by vector to stream.
|
a GMimeStream |
|
a GMimeStreamIOVector |
|
number of vector elements |
Returns : |
the number of bytes written or -1 on fail. |