CamelStreamFs
3
CAMEL Library

# CamelStreamFs

## Synopsis

    struct              CamelStreamFs;
    CamelStream*        camel_stream_fs_new_with_name       (const char *name,
                                                             int flags,
                                                             mode_t mode);
    CamelStream*        camel_stream_fs_new_with_name_and_bounds
                                                            (const char *name,
                                                             int flags,
                                                             mode_t mode,
                                                             off_t start,
                                                             off_t end);
    CamelStream*        camel_stream_fs_new_with_fd         (int fd);
    CamelStream*        camel_stream_fs_new_with_fd_and_bounds
                                                            (int fd,
                                                             off_t start,
                                                             off_t end);

## Description

## Details

### struct CamelStreamFs

    struct CamelStreamFs {
    	CamelSeekableStream parent_object;

    	int fd;             /* file descriptor on the underlying file */
    };

### camel_stream_fs_new_with_name ()

    CamelStream*        camel_stream_fs_new_with_name       (const char *name,
                                                             int flags,
                                                             mode_t mode);

Creates a new CamelStreamFs corresponding to the named file, flags, and mode.

`name` :

  a local filename

`flags` :

  flags as in open(2)

`mode` :

  a file mode

Returns :

  the new stream, or `NULL` on error.

### camel_stream_fs_new_with_name_and_bounds ()

    CamelStream*        camel_stream_fs_new_with_name_and_bounds
                                                            (const char *name,
                                                             int flags,
                                                             mode_t mode,
                                                             off_t start,
                                                             off_t end);

Creates a new CamelStream corresponding to the given arguments.

`name` :

  a local filename

`flags` :

  flags as in open(2)

`mode` :

  a file mode

`start` :

  the first valid position in the file

`end` :

  the first invalid position in the file, or CAMEL_STREAM_UNBOUND

Returns :

  the stream, or `NULL` on error.

### camel_stream_fs_new_with_fd ()

    CamelStream*        camel_stream_fs_new_with_fd         (int fd);

Creates a new fs stream using the given file descriptor `fd` as the backing store. When the stream is destroyed, the file descriptor will be closed.

`fd` :

  a file descriptor

Returns :

  a new CamelStreamFs

### camel_stream_fs_new_with_fd_and_bounds ()

    CamelStream*        camel_stream_fs_new_with_fd_and_bounds
                                                            (int fd,
                                                             off_t start,
                                                             off_t end);

Gets a stream associated with the given file descriptor and bounds. When the stream is destroyed, the file descriptor will be closed.

`fd` :

  a file descriptor

`start` :

  the first valid position in the file

`end` :

  the first invalid position in the file, or CAMEL_STREAM_UNBOUND

Returns :

  the bound stream