## Infile reading structed files

Infile reading structed files

## Synopsis

                        GsfInfile;
    int                 gsf_infile_num_children             (GsfInfile *infile);
    GsfInput*           gsf_infile_child_by_index           (GsfInfile *infile,
                                                             int i);
    GsfInput*           gsf_infile_child_by_name            (GsfInfile *infile,
                                                             char const *name);
    GsfInput*           gsf_infile_child_by_vname           (GsfInfile *infile,
                                                             char const *name,
                                                             ...);
    charconst *         gsf_infile_name_by_index            (GsfInfile *infile,
                                                             int i);

## Object Hierarchy

      GObject
       +----GsfInput
             +----GsfInfile
                   +----GsfInfileMSOle
                   +----GsfInfileStdio
                   +----GsfInfileZip
                   +----GsfStructuredBlob

## Description

## Details

### GsfInfile

    typedef struct _GsfInfile GsfInfile;

### gsf_infile_num_children ()

    int                 gsf_infile_num_children             (GsfInfile *infile);

`infile` : | the structured storage
Returns : | the number of children the storage has, or -1 if the storage can not have children.

### gsf_infile_child_by_index ()

    GsfInput*           gsf_infile_child_by_index           (GsfInfile *infile,
                                                             int i);

TODO : For 2.0 api will change to include a GError.

`infile` : |
`i` : |
Returns : | a newly created child which must be unrefed.

### gsf_infile_child_by_name ()

    GsfInput*           gsf_infile_child_by_name            (GsfInfile *infile,
                                                             char const *name);

TODO : For 2.0 api will change to include a GError.

`infile` : |
`name` : |
Returns : | a newly created child which must be unrefed.

### gsf_infile_child_by_vname ()

    GsfInput*           gsf_infile_child_by_vname           (GsfInfile *infile,
                                                             char const *name,
                                                             ...);

`infile` : |
`name` : | A `null` terminated list of names
`...` : | the rest of the names
Returns : | a newly created child which must be unrefed.

### gsf_infile_name_by_index ()

    charconst *         gsf_infile_name_by_index            (GsfInfile *infile,
                                                             int i);

`infile` : |
`i` : |
Returns : | the utf8 encoded name of the `i`-th child DO NOT FREE THE STRING.