Always use named structs in header files

Add tag names to all unnamed structs in header files. This
allows forward declaration of structs, which is necessary to
reduce header file nesting (to be implemented in a subsequent
commit).

Also change the typedef names across the codebase to use the _t
suffix to be more conformant with the Linux coding style. The
coding style actually prefers us not to use typedefs at all but
this is considered a step too far for Trusted Firmware.

Also change the IO framework structs defintions to use typedef'd
structs to be consistent with the rest of the codebase.

Change-Id: I722b2c86fc0d92e4da3b15e5cab20373dd26786f
diff --git a/include/lib/io_storage.h b/include/lib/io_storage.h
index 04e63c3..59fd3f4 100644
--- a/include/lib/io_storage.h
+++ b/include/lib/io_storage.h
@@ -45,7 +45,7 @@
 	IO_TYPE_MEMMAP,
 	IO_TYPE_FIRMWARE_IMAGE_PACKAGE,
 	IO_TYPE_MAX
-} io_type;
+} io_type_t;
 
 
 /* Modes used when seeking data on a supported device */
@@ -55,7 +55,7 @@
 	IO_SEEK_END,
 	IO_SEEK_CUR,
 	IO_SEEK_MAX
-} io_seek_mode;
+} io_seek_mode_t;
 
 
 /* Connector type, providing a means of identifying a device to open */
@@ -71,18 +71,18 @@
 
 /* File specification - used to refer to data on a device supporting file-like
  * entities */
-typedef struct {
+typedef struct io_file_spec {
 	const char *path;
 	unsigned int mode;
-} io_file_spec;
+} io_file_spec_t;
 
 
 /* Block specification - used to refer to data on a device supporting
  * block-like entities */
-typedef struct {
+typedef struct io_block_spec {
 	unsigned long offset;
 	size_t length;
-} io_block_spec;
+} io_block_spec_t;
 
 
 /* Access modes used when accessing data on a device */
@@ -116,7 +116,7 @@
 /* Synchronous operations */
 int io_open(io_dev_handle dev_handle, const void *spec, io_handle *handle);
 
-int io_seek(io_handle handle, io_seek_mode mode, ssize_t offset);
+int io_seek(io_handle handle, io_seek_mode_t mode, ssize_t offset);
 
 int io_size(io_handle handle, size_t *length);