## 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 NOTE : DO NOT FREE THE STRING