| GMime Library Reference Manual |
|---|
enum GMimeStreamBufferMode; struct GMimeStreamBuffer; GMimeStream* g_mime_stream_buffer_new (GMimeStream *source, GMimeStreamBufferMode mode);ssize_t g_mime_stream_buffer_gets (GMimeStream *stream, char *buf,size_t max); void g_mime_stream_buffer_readln (GMimeStream *stream,GByteArray *buffer);
typedef enum {
GMIME_STREAM_BUFFER_CACHE_READ,
GMIME_STREAM_BUFFER_BLOCK_READ,
GMIME_STREAM_BUFFER_BLOCK_WRITE,
} GMimeStreamBufferMode;struct GMimeStreamBuffer {
GMimeStream parent_object;
GMimeStream *source;
unsigned char *buffer;
unsigned char *bufptr;
unsigned char *bufend;
ssize_t buflen;
GMimeStreamBufferMode mode;
};GMimeStream* g_mime_stream_buffer_new (GMimeStream *source, GMimeStreamBufferMode mode);
Creates a new GMimeStreamBuffer object.
| source : | source stream |
| mode : | buffering mode |
| Returns : | a new buffer stream with source source and mode mode. |
ssize_t g_mime_stream_buffer_gets (GMimeStream *stream, char *buf,size_t max);
Reads in at most one less than max characters from stream and stores them into the buffer pointed to by buf. Reading stops after an EOS or newline (#'\n'). If a newline is read, it is stored into the buffer. A #'\0' is stored after the last character in the buffer.
| stream : | stream |
| buf : | line buffer |
| max : | max length of a line |
| Returns : | the number of characters read into buf on success and -1 on fail. |
void g_mime_stream_buffer_readln (GMimeStream *stream,GByteArray *buffer);
Reads a single line into buffer.
| stream : | stream |
| buffer : | output buffer |
| <<< gmime-stream | gmime-stream-cat >>> |