`GIBaseInfo` is the common base struct of all other Info structs accessible through the [class@GIRepository.
Repository] API.
All info structures can be cast to a `GIBaseInfo`, for instance:
```c GIFunctionInfo *function_info = …; GIBaseInfo *info = (GIBaseInfo *) function_info; ```
Most [class@GIRepository.Repository] APIs returning a `GIBaseInfo` are actually creating a new struct; in other words, [ method@GIRepository.BaseInfo.unref] has to be called when done accessing the data.
`GIBaseInfo` structuress are normally accessed by calling either [method@GIRepository.Repository.find_by_name], [ method@GIRepository.Repository.find_by_gtype] or [method@GIRepository.get_info].
```c GIBaseInfo *button_info = gi_repository_find_by_name (NULL, "Gtk", "Button");
// use button_info…
gi_base_info_unref (button_info); ```