## GMimeStreamFile

GMimeStreamFile — A Standard-C FILE-based stream

## Functions

GMimeStream * | g_mime_stream_file_new ()
GMimeStream * | g_mime_stream_file_open ()
GMimeStream * | g_mime_stream_file_new_with_bounds ()
gboolean | g_mime_stream_file_get_owner ()
void | g_mime_stream_file_set_owner ()

## Types and Values

struct | GMimeStreamFile

## Object Hierarchy

        GObject
        ╰── GMimeStream
            ╰── GMimeStreamFile

## Description

A simple GMimeStream implementation that sits on top of the Standard C FILE pointer based I/O layer. Unlike GMimeStreamFs, a GMimeStreamFile will typically buffer read and write operations at the FILE level and so it may be wasteful to wrap one in a GMimeStreamBuffer stream.

## Functions

### g_mime_stream_file_new ()

    GMimeStream *
    g_mime_stream_file_new (FILE *fp);

Creates a new GMimeStreamFile object around `fp` .

Note: The created GMimeStreamFile object will own the FILE pointer passed in.

#### Parameters

fp | a FILE pointer |

#### Returns

a stream using `fp` .

### g_mime_stream_file_open ()

    GMimeStream *
    g_mime_stream_file_open (const char *path,
                             const char *mode,
                             GError **err);

Creates a new GMimeStreamFile object for the specified `path` .

#### Parameters

path | the path to a file |
mode | as in fopen(3) |
err | a GError |

#### Returns

a stream using for reading and/or writing to the specified file path or `NULL` on error.

[transfer full]

### g_mime_stream_file_new_with_bounds ()

    GMimeStream *
    g_mime_stream_file_new_with_bounds (FILE *fp,
                                        gint64 start,
                                        gint64 end);

Creates a new GMimeStreamFile object around `fp` with bounds `start` and `end` .

Note: The created GMimeStreamFile object will own the FILE pointer passed in.

#### Parameters

fp | a FILE pointer |
start | start boundary |
end | end boundary |

#### Returns

a stream using `fp` with bounds `start` and `end` .

### g_mime_stream_file_get_owner ()

    gboolean
    g_mime_stream_file_get_owner (GMimeStreamFile *stream);

Gets whether or not `stream` owns the backend FILE pointer.

#### Parameters

stream | a GMimeStreamFile |

#### Returns

`TRUE` if `stream` owns the backend FILE pointer or `FALSE` otherwise.

### g_mime_stream_file_set_owner ()

    void
    g_mime_stream_file_set_owner (GMimeStreamFile *stream,
                                  gboolean owner);

Sets whether or not `stream` owns the backend FILE pointer.

Note: `owner` should be `TRUE` if the stream should `fclose()` the backend FILE pointer when destroyed or `FALSE` otherwise.

#### Parameters

stream | a GMimeStreamFile |
owner | `TRUE` if this stream should own the FILE pointer or `FALSE` otherwise |

## Types and Values

### struct GMimeStreamFile

    struct GMimeStreamFile;

A GMimeStream wrapper around standard-c FILE pointers.

#### Members

## See Also

GMimeStream