Give names to anonymous structs

This will allow us to make forward definitions in files like types.h,
without creating a dependency mess between the headers.

The typedef remains at the end, so we're still able to access them by
their current name.

A list of forward declarations is added to types.h so we can easily
access those names when needed.

Signed-off-by: Glauber Costa <glommer@parallels.com>
7 files changed