gmime-stream

Name

gmime-stream -- 

Synopsis



struct      GMimeStream;
enum        GMimeSeekWhence;
#define     GMIME_STREAM                    (stream)
void        g_mime_stream_construct         (GMimeStream *stream,
                                             GMimeStream *stream_template,
                                             int type,
                                             off_t start,
                                             off_t end);
void        g_mime_stream_ref               (GMimeStream *stream);
void        g_mime_stream_unref             (GMimeStream *stream);
ssize_t     g_mime_stream_read              (GMimeStream *stream,
                                             char *buf,
                                             size_t len);
ssize_t     g_mime_stream_write             (GMimeStream *stream,
                                             char *buf,
                                             size_t len);
int         g_mime_stream_flush             (GMimeStream *stream);
off_t       g_mime_stream_seek              (GMimeStream *stream,
                                             off_t offset,
                                             GMimeSeekWhence whence);
off_t       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);
ssize_t     g_mime_stream_length            (GMimeStream *stream);
GMimeStream* g_mime_stream_substream        (GMimeStream *stream,
                                             off_t start,
                                             off_t end);
void        g_mime_stream_set_bounds        (GMimeStream *stream,
                                             off_t start,
                                             off_t end);
ssize_t     g_mime_stream_write_string      (GMimeStream *stream,
                                             const char *string);
ssize_t     g_mime_stream_printf            (GMimeStream *stream,
                                             const char *fmt,
                                             ...);
ssize_t     g_mime_stream_write_to_stream   (GMimeStream *src,
                                             GMimeStream *dest);
size_t      g_mime_stream_writev            (GMimeStream *stream,
                                             IOVector *vector,
                                             size_t count);

Description

Details

struct GMimeStream

struct GMimeStream {
	/* Note: these are private fields!! */
	GMimeStream *super_stream;
	
	int type;
	int refcount;
	
	off_t position;
	off_t bound_start;
	off_t bound_end;
	
	void     (*destroy) (GMimeStream *stream);
	
	ssize_t  (*read)    (GMimeStream *stream, char *buf, size_t len);
	ssize_t  (*write)   (GMimeStream *stream, char *buf, size_t len);
	int      (*flush)   (GMimeStream *stream);
	int      (*close)   (GMimeStream *stream);
	gboolean (*eos)     (GMimeStream *stream);
	int      (*reset)   (GMimeStream *stream);
	off_t    (*seek)    (GMimeStream *stream, off_t offset, GMimeSeekWhence whence);
	off_t    (*tell)    (GMimeStream *stream);
	ssize_t  (*length)  (GMimeStream *stream);
	GMimeStream *(*substream) (GMimeStream *stream, off_t start, off_t end);
};


enum GMimeSeekWhence

typedef enum {
	GMIME_STREAM_SEEK_SET = SEEK_SET,
	GMIME_STREAM_SEEK_CUR = SEEK_CUR,
	GMIME_STREAM_SEEK_END = SEEK_END,
} GMimeSeekWhence;


GMIME_STREAM()

#define GMIME_STREAM(stream)  ((GMimeStream *) stream)

stream : 


g_mime_stream_construct ()

void        g_mime_stream_construct         (GMimeStream *stream,
                                             GMimeStream *stream_template,
                                             int type,
                                             off_t start,
                                             off_t end);

Initializes a new stream of type type, using the virtual methods from stream_template, with bounds start and end.

stream : stream
stream_template : stream template
type : stream type
start : start boundary
end : end boundary


g_mime_stream_ref ()

void        g_mime_stream_ref               (GMimeStream *stream);

Ref's a stream.

stream : stream


g_mime_stream_unref ()

void        g_mime_stream_unref             (GMimeStream *stream);

Unref's a stream.

stream : stream


g_mime_stream_read ()

ssize_t     g_mime_stream_read              (GMimeStream *stream,
                                             char *buf,
                                             size_t len);

Attempts to read up to len bytes from stream into buf.

stream : stream
buf : buffer
len : buffer length
Returns :the number of bytes read or -1 on fail.


g_mime_stream_write ()

ssize_t     g_mime_stream_write             (GMimeStream *stream,
                                             char *buf,
                                             size_t len);

Attempts to write up to len bytes of buf to stream.

stream : stream
buf : buffer
len : buffer length
Returns :the number of bytes written or -1 on fail.


g_mime_stream_flush ()

int         g_mime_stream_flush             (GMimeStream *stream);

Sync's the stream to disk.

stream : stream
Returns :0 on success or -1 on fail.


g_mime_stream_seek ()

off_t       g_mime_stream_seek              (GMimeStream *stream,
                                             off_t 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: The offset is set to offset bytes.

GMIME_STREAM_SEEK_CUR: The offset is set to its current location plus offset bytes.

GMIME_STREAM_SEEK_END: The offset is set to the size of the stream plus offset bytes.

stream : stream
offset : positional offset
whence : seek directive
Returns :the resultant position on success or -1 on fail.


g_mime_stream_tell ()

off_t       g_mime_stream_tell              (GMimeStream *stream);

stream : stream
Returns :the current position within the stream.


g_mime_stream_reset ()

int         g_mime_stream_reset             (GMimeStream *stream);

Resets the stream.

stream : stream
Returns :0 on success or -1 on fail.


g_mime_stream_eos ()

gboolean    g_mime_stream_eos               (GMimeStream *stream);

Tests the end-of-stream indicator for stream.

stream : stream
Returns :TRUE on EOS or FALSE otherwise.


g_mime_stream_close ()

int         g_mime_stream_close             (GMimeStream *stream);

Closes the stream.

stream : stream
Returns :0 on success or -1 on fail.


g_mime_stream_length ()

ssize_t     g_mime_stream_length            (GMimeStream *stream);

stream : stream
Returns :the length of the stream or -1 on fail.


g_mime_stream_substream ()

GMimeStream* g_mime_stream_substream        (GMimeStream *stream,
                                             off_t start,
                                             off_t end);

stream : stream
start : start boundary
end : end boundary
Returns :a substream of stream with bounds start and end.


g_mime_stream_set_bounds ()

void        g_mime_stream_set_bounds        (GMimeStream *stream,
                                             off_t start,
                                             off_t end);

Set the bounds on a stream.

stream : stream
start : start boundary
end : end boundary


g_mime_stream_write_string ()

ssize_t     g_mime_stream_write_string      (GMimeStream *stream,
                                             const char *string);

Writes string to stream.

stream : stream
string : string to write
Returns :the number of bytes written.


g_mime_stream_printf ()

ssize_t     g_mime_stream_printf            (GMimeStream *stream,
                                             const char *fmt,
                                             ...);

Write formatted output to a stream.

stream : stream
fmt : format
... : arguments
Returns :the number of bytes written.


g_mime_stream_write_to_stream ()

ssize_t     g_mime_stream_write_to_stream   (GMimeStream *src,
                                             GMimeStream *dest);

Attempts to write stream src to stream dest.

src : source stream
dest : destination stream
Returns :the number of bytes written.


g_mime_stream_writev ()

size_t      g_mime_stream_writev            (GMimeStream *stream,
                                             IOVector *vector,
                                             size_t count);

Writes at most count blocks described by vector to stream.

stream : stream
vector : i/o vector
count : number of vector elements
Returns :the number of bytes written.