# gsf-input

## Name

gsf-input --

## Synopsis

    #define     GSF_INPUT_TYPE
    #define     GSF_INPUT                       (o)
    GType       gsf_input_get_type              (void);
    GsfInfile*  gsf_input_container             (GsfInput *input);
    GsfInput*   gsf_input_dup                   (GsfInput *src,
                                                 GError **err);
    gsf_off_t   gsf_input_size                  (GsfInput *input);
    gboolean    gsf_input_eof                   (GsfInput *input);
    gsf_off_t   gsf_input_remaining             (GsfInput *input);
    gsf_off_t   gsf_input_tell                  (GsfInput *input);
    gboolean    gsf_input_seek                  (GsfInput *input,
                                                 gsf_off_t offset,
                                                 GSeekType whence);
    GQuark      gsf_input_error                 (void);

## Description

## Details

### GSF_INPUT_TYPE

    #define GSF_INPUT_TYPE        (gsf_input_get_type ())

### GSF_INPUT()

    #define GSF_INPUT(o)          (G_TYPE_CHECK_INSTANCE_CAST ((o), GSF_INPUT_TYPE, GsfInput))

`o` : |

### gsf_input_get_type ()

    GType       gsf_input_get_type              (void);

Returns : |

### gsf_input_container ()

    GsfInfile*  gsf_input_container             (GsfInput *input);

`input` : |
Returns : | , but does not add a reference to `input`'s container. Potentially NULL

### gsf_input_dup ()

    GsfInput*   gsf_input_dup                   (GsfInput *src,
                                                 GError **err);

Duplicates input `src` leaving the new one at the same offset.

`src` : | The input to duplicate
`err` : | optionally NULL
Returns : | : the duplicate, or NULL on error

### gsf_input_size ()

    gsf_off_t   gsf_input_size                  (GsfInput *input);

Looks up and caches the number of bytes in the input

`input` : | The input
Returns : | : the size or -1 on error

### gsf_input_eof ()

    gboolean    gsf_input_eof                   (GsfInput *input);

Are we at the end of the file ?

`input` : | the input
Returns : | : TRUE if the input is at the eof.

### gsf_input_remaining ()

    gsf_off_t   gsf_input_remaining             (GsfInput *input);

`input` : |
Returns : | the number of bytes left in the file.

### gsf_input_tell ()

    gsf_off_t   gsf_input_tell                  (GsfInput *input);

`input` : |
Returns : | the current offset in the file.

### gsf_input_seek ()

    gboolean    gsf_input_seek                  (GsfInput *input,
                                                 gsf_off_t offset,
                                                 GSeekType whence);

`input` : |
`offset` : |
`whence` : |
Returns : | TRUE on error.

### gsf_input_error ()

    GQuark      gsf_input_error                 (void);

Returns : | : A utility quark to flag a GError as being an input problem.