From: Jérôme Pinot <ngc891@gmail.com>
[framework/uifw/eet.git] / src / lib / Eet.h
index 9a85a9b..ca8095f 100644 (file)
 /**
-@brief Eet Data Handling Library Public API Calls
+   @brief Eet Data Handling Library Public API Calls
 
-These routines are used for Eet Library interaction
+   These routines are used for Eet Library interaction
 
-@mainpage Eet Library Documentation
+   @mainpage Eet Library Documentation
 
-@image html  e_big.png
+   @version 1.5.0
+   @date 2000-2012
 
-@version 1.0.0
-@date 2000-2011
+   Please see the @ref authors page for contact details.
 
-Please see the @ref authors page for contact details.
+   @section toc Table of Contents
 
-@section toc Table of Contents
+   @li @ref intro
+   @li @ref example
+   @li @ref compiling
+   @li @ref install
+   @li @ref next_steps
+   @li @ref intro_example
 
-@li @ref intro
-@li @ref example
-@li @ref format
-@li @ref compiling
-@li @ref install
-@li @ref next_steps
-@li @ref intro_example
+   @section intro What is Eet?
 
-@section intro What is Eet?
+   It is a tiny library designed to write an arbitrary set of chunks of data
+   to a file and optionally compress each chunk (very much like a zip file)
+   and allow fast random-access reading of the file later on. It does not
+   do zip as a zip itself has more complexity than is needed, and it was much
+   simpler to implement this once here.
 
-It is a tiny library designed to write an arbitrary set of chunks of data
-to a file and optionally compress each chunk (very much like a zip file)
-and allow fast random-access reading of the file later on. It does not
-do zip as a zip itself has more complexity than is needed, and it was much
-simpler to implement this once here.
+   Eet is extremely fast, small and simple. Eet files can be very small and
+   highly compressed, making them very optimal for just sending across the
+   internet without having to archive, compress or decompress and install them.
+   They allow for lightning-fast random-access reads once created, making them
+   perfect for storing data that is written once (or rarely) and read many
+   times, but the program does not want to have to read it all in at once.
 
-Eet is extremely fast, small and simple. Eet files can be very small and
-highly compressed, making them very optimal for just sending across the
-internet without having to archive, compress or decompress and install them.
-They allow for lightning-fast random-acess reads once created, making them
-perfect for storing data that is written once (or rarely) and read many
-times, but the program does not want to have to read it all in at once.
+   It also can encode and decode data structures in memory, as well as image
+   data for saving to Eet files or sending across the network to other
+   machines, or just writing to arbitrary files on the system. All data is
+   encoded in a platform independent way and can be written and read by any
+   architecture.
 
-It also can encode and decode data structures in memory, as well as image
-data for saving to Eet files or sending across the network to other
-machines, or just writing to arbitrary files on the system. All data is
-encoded in a platform independent way and can be written and read by any
-architecture.
+   @section example A simple example on using Eet
 
-@section example A simple example on using Eet
+   Here is a simple example on how to use Eet to save a series of strings to a
+   file and load them again. The advantage of using Eet over just
+   fprintf() and
+   fscanf() is that not only can these entries be strings, they need no special
+   parsing to handle delimiter characters or escaping, they can be binary data,
+   image data, data structures containing integers, strings, other data
+   structures, linked lists and much more, without the programmer having to
+   worry about parsing, and best of all, Eet is very fast.
 
-Here is a simple example on how to use Eet to save a series of strings to a
-file and load them again. The advantage of using Eet over just fprintf() and
-fscanf() is that not only can these entries be strings, they need no special
-parsing to handle delimiter characters or escaping, they can be binary data,
-image data, data structures containing integers, strings, other data
-structures, linked lists and much more, without the programmer having to
-worry about parsing, and best of all, Eet is very fast.
+   This is just a very simple example that doesn't show all of the capabilities
+   of Eet, but it serves to illustrate its simplicity.
 
-This is just a very simple example that doesn't show all of the capabilities
-of Eet, but it serves to illustrate its simplicity.
+   @include eet-basic.c
 
-@include eet-basic.c
+   @section compiling How to compile using Eet ?
 
-@section compiling How to compile using Eet ?
+   Eet is a library your application links to. The procedure for this is very
+   simple. You simply have to compile your application with the appropriate
+   compiler flags that the @p pkg-config script outputs. For example:
 
-Eet is a library your application links to. The procedure for this is very
-simple. You simply have to compile your application with the appropriate
-compiler flags that the @p pkg-config script outputs. For example:
+   Compiling C or C++ files into object files:
 
-Compiling C or C++ files into object files:
+   @verbatim
+   gcc -c -o main.o main.c `pkg-config --cflags eet`
+   @endverbatim
 
-@verbatim
-gcc -c -o main.o main.c `pkg-config --cflags eet`
-@endverbatim
+   Linking object files into a binary executable:
 
-Linking object files into a binary executable:
+   @verbatim
+   gcc -o my_application main.o `pkg-config --libs eet`
+   @endverbatim
 
-@verbatim
-gcc -o my_application main.o `pkg-config --libs eet`
-@endverbatim
+   You simply have to make sure that pkg-config is in your shell's PATH (see
+   the manual page for your appropriate shell) and eet.pc in /usr/lib/pkgconfig
+   or its path is in the PKG_CONFIG_PATH environment variable. It's that simple
+   to link and use Eet once you have written your code to use it.
 
-You simply have to make sure that pkg-config is in your shell's PATH (see
-the manual page for your appropriate shell) and eet.pc in /usr/lib/pkgconfig
-or its path is in the PKG_CONFIG_PATH environment variable. It's that simple
-to link and use Eet once you have written your code to use it.
+   Since the program is linked to Eet, it is now able to use any advertised
+   API calls to serialize your data.
 
-Since the program is linked to Eet, it is now able to use any advertised
-API calls to serialize your data.
+   You should make sure you add any extra compile and link flags to your
+   compile commands that your application may need as well. The above example
+   is only guaranteed to make Eet add it's own requirements.
 
-You should make sure you add any extra compile and link flags to your
-compile commands that your application may need as well. The above example
-is only guaranteed to make Eet add it's own requirements.
 
+   @section install How is it installed?
 
-@section install How is it installed?
+   Simple:
 
-Simple:
+   @verbatim
+   ./configure
+   make
+   su -
+   ...
+   make install
+   @endverbatim
 
-@verbatim
-./configure
-make
-su -
-...
-make install
-@endverbatim
+   @section next_steps Next Steps
 
-@section next_steps Next Steps
+   After you understood what Eet is and installed it in your system you
+   should proceed understanding the programming interface. We'd recommend
+   you to take a while to learn Eina
+   (http://docs.enlightenment.org/auto/eina/) as it is very convenient
+   and optimized, and Eet provides integration with it.
 
-After you understood what Eet is and installed it in your system you
-should proceed understanding the programming interface. We'd recommend
-you to take a while to learn Eina
-(http://docs.enlightenment.org/auto/eina/) as it is very convenient
-and optimized, and Eet provides integration with it.
+   Recommended reading:
 
-Recommended reading:
-
-@li @ref Eet_File_Group to know the basics to open and save files.
-@li @ref Eet_Data_Group to know the convenient way to serialize and
+   @li @ref Eet_File_Group to know the basics to open and save files.
+   @li @ref Eet_Data_Group to know the convenient way to serialize and
     parse your data structures automatically. Just create your
     descriptors and let Eet do the work for you.
 
-@section intro_example Introductory Examples
+   @section intro_example Introductory Examples
 
-@ref Examples
+   @ref Examples
 
-@todo Document data format for images and data structures.
+   @todo Document data format for images and data structures.
 
-*/
+ */
 
 /**
-@page authors Authors
-@author Carsten Haitzler <raster@@rasterman.com>
-@author David Goodlad <dgoodlad@@gmail.com>
-@author Cedric Bail <cedric.bail@@free.fr>
-@author Arnaud de Turckheim <quarium@@gmail.com>
-@author Luis Felipe Strano Moraes <lfelipe@@profusion.mobi>
-@author Chidambar Zinnoury <illogict@@online.fr>
-@author Vincent Torri <vtorri@@univ-evry.fr>
-@author Gustavo Sverzut Barbieri <barbieri@@profusion.mobi>
-@author Raphael Kubo da Costa <kubo@@profusion.mobi>
-@author Mathieu Taillefumier <mathieu.taillefumier@@free.fr>
-@author Albin "Lutin" Tonnerre <albin.tonnerre@@gmail.com>
-@author Adam Simpkins <adam@@adamsimpkins.net>
-@author Mike Blumenkrantz <mike@zentific.com>
+   @page authors Authors
+   @author Carsten Haitzler <raster@@rasterman.com>
+   @author David Goodlad <dgoodlad@@gmail.com>
+   @author Cedric Bail <cedric.bail@@free.fr>
+   @author Arnaud de Turckheim <quarium@@gmail.com>
+   @author Luis Felipe Strano Moraes <lfelipe@@profusion.mobi>
+   @author Chidambar Zinnoury <illogict@@online.fr>
+   @author Vincent Torri <vtorri@@univ-evry.fr>
+   @author Gustavo Sverzut Barbieri <barbieri@@profusion.mobi>
+   @author Raphael Kubo da Costa <kubo@@profusion.mobi>
+   @author Mathieu Taillefumier <mathieu.taillefumier@@free.fr>
+   @author Albin "Lutin" Tonnerre <albin.tonnerre@@gmail.com>
+   @author Adam Simpkins <adam@@adamsimpkins.net>
+   @author Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
 
-Please contact <enlightenment-devel@lists.sourceforge.net> to get in
-contact with the developers and maintainers.
-*/
+   Please contact <enlightenment-devel@lists.sourceforge.net> to get in
+   contact with the developers and maintainers.
+ */
 
 #ifndef _EET_H
 #define _EET_H
@@ -190,7 +188,7 @@ extern "C" {
  */
 
 #define EET_VERSION_MAJOR 1
-#define EET_VERSION_MINOR 4
+#define EET_VERSION_MINOR 6
 /**
  * @typedef Eet_Version
  *
@@ -211,7 +209,7 @@ extern "C" {
  * #endif
  * @endcode
  *
- * Note the #if check can be dropped if your program refuses to compile or
+ * Note the \#if check can be dropped if your program refuses to compile or
  * work with an Eet version less than 1.3.0.
  */
 typedef struct _Eet_Version
@@ -498,13 +496,13 @@ typedef enum _Eet_File_Mode
  * @see eet_memopen_read()
  * @see eet_close()
  */
-typedef struct _Eet_File         Eet_File;
+typedef struct _Eet_File Eet_File;
 
 /**
  * @typedef Eet_Dictionary
  * Opaque handle that defines a file-backed (mmaped) dictionary of strings.
  */
-typedef struct _Eet_Dictionary   Eet_Dictionary;
+typedef struct _Eet_Dictionary Eet_Dictionary;
 
 /**
  * @}
@@ -550,7 +548,7 @@ typedef struct _Eet_Dictionary   Eet_Dictionary;
  * @since 1.0.0
  */
 EAPI Eet_File *
-eet_open(const char   *file,
+eet_open(const char *file,
          Eet_File_Mode mode);
 
 /**
@@ -565,7 +563,7 @@ eet_open(const char   *file,
  */
 EAPI Eet_File *
 eet_memopen_read(const void *data,
-                 size_t      size);
+                 size_t size);
 
 /**
  * Get the mode an Eet_File was opened with.
@@ -579,7 +577,7 @@ EAPI Eet_File_Mode
 eet_mode_get(Eet_File *ef);
 
 /**
- * Close an eet file handle and flush and writes pending.
+ * Close an eet file handle and flush pending writes.
  * @param ef A valid eet file handle.
  *
  * This function will flush any pending writes to disk if the eet file
@@ -644,7 +642,18 @@ eet_dictionary_get(Eet_File *ef);
  */
 EAPI int
 eet_dictionary_string_check(Eet_Dictionary *ed,
-                            const char     *string);
+                            const char *string);
+
+/**
+ * Return the number of strings inside a dictionary
+ * @param ed A valid dictionary handle
+ * @return the number of strings inside a dictionary
+ *
+ * @since 1.6.0
+ * @ingroup Eet_File_Group
+ */
+EAPI int
+eet_dictionary_count(const Eet_Dictionary *ed);
 
 /**
  * Read a specified entry from an eet file and return data
@@ -669,9 +678,9 @@ eet_dictionary_string_check(Eet_Dictionary *ed,
  * @ingroup Eet_File_Group
  */
 EAPI void *
-eet_read(Eet_File   *ef,
+eet_read(Eet_File *ef,
          const char *name,
-         int        *size_ret);
+         int *size_ret);
 
 /**
  * Read a specified entry from an eet file and return data
@@ -694,9 +703,9 @@ eet_read(Eet_File   *ef,
  * @ingroup Eet_File_Group
  */
 EAPI const void *
-eet_read_direct(Eet_File   *ef,
+eet_read_direct(Eet_File *ef,
                 const char *name,
-                int        *size_ret);
+                int *size_ret);
 
 /**
  * Write a specified entry to an eet file handle
@@ -727,11 +736,11 @@ eet_read_direct(Eet_File   *ef,
  * @ingroup Eet_File_Group
  */
 EAPI int
-eet_write(Eet_File   *ef,
+eet_write(Eet_File *ef,
           const char *name,
           const void *data,
-          int         size,
-          int         compress);
+          int size,
+          int compress);
 
 /**
  * Delete a specified entry from an Eet file being written or re-written
@@ -752,12 +761,12 @@ eet_write(Eet_File   *ef,
  * @ingroup Eet_File_Group
  */
 EAPI int
-eet_delete(Eet_File   *ef,
+eet_delete(Eet_File *ef,
            const char *name);
 
 /**
  * Alias a specific section to another one. Destination may exist or not,
- * no check are done.
+ * no checks are done.
  * @param ef A valid eet file handle opened for writing.
  * @param name Name of the new entry. eg: "/base/file_i_want".
  * @param destination Actual source of the aliased entry eg: "/base/the_real_stuff_i_want".
@@ -771,10 +780,23 @@ eet_delete(Eet_File   *ef,
  * @ingroup Eet_File_Group
  */
 EAPI Eina_Bool
-eet_alias(Eet_File   *ef,
+eet_alias(Eet_File *ef,
           const char *name,
           const char *destination,
-          int         compress);
+          int compress);
+
+/**
+ * Retrieve the filename of an Eet_File
+ * @param ef A valid eet file handle opened for writing.
+ * @return The stringshared file string opened with eet_open(), or NULL on error
+ *
+ * @note This function will return NULL for files opened with eet_memopen_read()
+ *
+ * @since 1.6
+ * @ingroup Eet_File_Group
+ */
+EAPI const char *
+eet_file_get(Eet_File *ef);
 
 /**
  * Retrieve the destination name of an alias
@@ -822,9 +844,9 @@ eet_alias_get(Eet_File *ef,
  * @ingroup Eet_File_Group
  */
 EAPI char **
-eet_list(Eet_File   *ef,
+eet_list(Eet_File *ef,
          const char *glob,
-         int        *count_ret);
+         int *count_ret);
 
 /**
  * Return the number of entries in the specified eet file.
@@ -873,9 +895,9 @@ eet_num_entries(Eet_File *ef);
  * @ingroup Eet_File_Cipher_Group
  */
 EAPI void *
-eet_read_cipher(Eet_File   *ef,
+eet_read_cipher(Eet_File *ef,
                 const char *name,
-                int        *size_ret,
+                int *size_ret,
                 const char *cipher_key);
 
 /**
@@ -908,11 +930,11 @@ eet_read_cipher(Eet_File   *ef,
  * @ingroup Eet_File_Cipher_Group
  */
 EAPI int
-eet_write_cipher(Eet_File   *ef,
+eet_write_cipher(Eet_File *ef,
                  const char *name,
                  const void *data,
-                 int         size,
-                 int         compress,
+                 int size,
+                 int compress,
                  const char *cipher_key);
 
 /**
@@ -961,7 +983,7 @@ eet_write_cipher(Eet_File   *ef,
  * will be 1 or 0, denoting if the alpha channel of the image is used or not.
  * If the image was losslessly compressed, the @p compress parameter will hold
  * the compression amount used, ranging from 0 to 9 and @p lossy will be 0.
- * In the case of lossy compression, @p lossy will be 1, and the compreesion
+ * In the case of lossy compression, @p lossy will be 1, and the compression
  * quality will be placed under @p quality, with a value ranging from 0 to 100.
  *
  * @see eet_data_image_header_decode()
@@ -971,14 +993,14 @@ eet_write_cipher(Eet_File   *ef,
  * @ingroup Eet_File_Image_Group
  */
 EAPI int
-eet_data_image_header_read(Eet_File     *ef,
-                           const char   *name,
+eet_data_image_header_read(Eet_File *ef,
+                           const char *name,
                            unsigned int *w,
                            unsigned int *h,
-                           int          *alpha,
-                           int          *compress,
-                           int          *quality,
-                           int          *lossy);
+                           int *alpha,
+                           int *compress,
+                           int *quality,
+                           int *lossy);
 
 /**
  * Read image data from the named key in the eet file.
@@ -1016,14 +1038,14 @@ eet_data_image_header_read(Eet_File     *ef,
  * @ingroup Eet_File_Image_Group
  */
 EAPI void *
-eet_data_image_read(Eet_File     *ef,
-                    const char   *name,
+eet_data_image_read(Eet_File *ef,
+                    const char *name,
                     unsigned int *w,
                     unsigned int *h,
-                    int          *alpha,
-                    int          *compress,
-                    int          *quality,
-                    int          *lossy);
+                    int *alpha,
+                    int *compress,
+                    int *quality,
+                    int *lossy);
 
 /**
  * Read image data from the named key in the eet file and store it in the given buffer.
@@ -1073,18 +1095,18 @@ eet_data_image_read(Eet_File     *ef,
  * @ingroup Eet_File_Image_Group
  */
 EAPI int
-eet_data_image_read_to_surface(Eet_File     *ef,
-                               const char   *name,
-                               unsigned int  src_x,
-                               unsigned int  src_y,
+eet_data_image_read_to_surface(Eet_File *ef,
+                               const char *name,
+                               unsigned int src_x,
+                               unsigned int src_y,
                                unsigned int *d,
-                               unsigned int  w,
-                               unsigned int  h,
-                               unsigned int  row_stride,
-                               int          *alpha,
-                               int          *compress,
-                               int          *quality,
-                               int          *lossy);
+                               unsigned int w,
+                               unsigned int h,
+                               unsigned int row_stride,
+                               int *alpha,
+                               int *compress,
+                               int *quality,
+                               int *lossy);
 
 /**
  * Write image data to the named key in an eet file.
@@ -1124,15 +1146,15 @@ eet_data_image_read_to_surface(Eet_File     *ef,
  * @ingroup Eet_File_Image_Group
  */
 EAPI int
-eet_data_image_write(Eet_File    *ef,
-                     const char  *name,
-                     const void  *data,
+eet_data_image_write(Eet_File *ef,
+                     const char *name,
+                     const void *data,
                      unsigned int w,
                      unsigned int h,
-                     int          alpha,
-                     int          compress,
-                     int          quality,
-                     int          lossy);
+                     int alpha,
+                     int compress,
+                     int quality,
+                     int lossy);
 
 /**
  * Decode Image data header only to get information.
@@ -1160,14 +1182,14 @@ eet_data_image_write(Eet_File    *ef,
  * @ingroup Eet_File_Image_Group
  */
 EAPI int
-eet_data_image_header_decode(const void   *data,
-                             int           size,
+eet_data_image_header_decode(const void *data,
+                             int size,
                              unsigned int *w,
                              unsigned int *h,
-                             int          *alpha,
-                             int          *compress,
-                             int          *quality,
-                             int          *lossy);
+                             int *alpha,
+                             int *compress,
+                             int *quality,
+                             int *lossy);
 
 /**
  * Decode Image data into pixel data.
@@ -1200,14 +1222,14 @@ eet_data_image_header_decode(const void   *data,
  * @ingroup Eet_File_Image_Group
  */
 EAPI void *
-eet_data_image_decode(const void   *data,
-                      int           size,
+eet_data_image_decode(const void *data,
+                      int size,
                       unsigned int *w,
                       unsigned int *h,
-                      int          *alpha,
-                      int          *compress,
-                      int          *quality,
-                      int          *lossy);
+                      int *alpha,
+                      int *compress,
+                      int *quality,
+                      int *lossy);
 
 /**
  * Decode Image data into pixel data and stores in the given buffer.
@@ -1238,18 +1260,18 @@ eet_data_image_decode(const void   *data,
  * @ingroup Eet_File_Image_Group
  */
 EAPI int
-eet_data_image_decode_to_surface(const void   *data,
-                                 int           size,
-                                 unsigned int  src_x,
-                                 unsigned int  src_y,
+eet_data_image_decode_to_surface(const void *data,
+                                 int size,
+                                 unsigned int src_x,
+                                 unsigned int src_y,
                                  unsigned int *d,
-                                 unsigned int  w,
-                                 unsigned int  h,
-                                 unsigned int  row_stride,
-                                 int          *alpha,
-                                 int          *compress,
-                                 int          *quality,
-                                 int          *lossy);
+                                 unsigned int w,
+                                 unsigned int h,
+                                 unsigned int row_stride,
+                                 int *alpha,
+                                 int *compress,
+                                 int *quality,
+                                 int *lossy);
 
 /**
  * Encode image data for storage or transmission.
@@ -1282,14 +1304,14 @@ eet_data_image_decode_to_surface(const void   *data,
  * @ingroup Eet_File_Image_Group
  */
 EAPI void *
-eet_data_image_encode(const void  *data,
-                      int         *size_ret,
+eet_data_image_encode(const void *data,
+                      int *size_ret,
                       unsigned int w,
                       unsigned int h,
-                      int          alpha,
-                      int          compress,
-                      int          quality,
-                      int          lossy);
+                      int alpha,
+                      int compress,
+                      int quality,
+                      int lossy);
 
 /**
  * @defgroup Eet_File_Image_Cipher_Group Image Store and Load using a Cipher
@@ -1340,15 +1362,15 @@ eet_data_image_encode(const void  *data,
  * @ingroup Eet_File_Image_Cipher_Group
  */
 EAPI int
-eet_data_image_header_read_cipher(Eet_File     *ef,
-                                  const char   *name,
-                                  const char   *cipher_key,
+eet_data_image_header_read_cipher(Eet_File *ef,
+                                  const char *name,
+                                  const char *cipher_key,
                                   unsigned int *w,
                                   unsigned int *h,
-                                  int          *alpha,
-                                  int          *compress,
-                                  int          *quality,
-                                  int          *lossy);
+                                  int *alpha,
+                                  int *compress,
+                                  int *quality,
+                                  int *lossy);
 
 /**
  * Read image data from the named key in the eet file using a cipher.
@@ -1390,15 +1412,15 @@ eet_data_image_header_read_cipher(Eet_File     *ef,
  * @ingroup Eet_File_Image_Cipher_Group
  */
 EAPI void *
-eet_data_image_read_cipher(Eet_File     *ef,
-                           const char   *name,
-                           const char   *cipher_key,
+eet_data_image_read_cipher(Eet_File *ef,
+                           const char *name,
+                           const char *cipher_key,
                            unsigned int *w,
                            unsigned int *h,
-                           int          *alpha,
-                           int          *compress,
-                           int          *quality,
-                           int          *lossy);
+                           int *alpha,
+                           int *compress,
+                           int *quality,
+                           int *lossy);
 
 /**
  * Read image data from the named key in the eet file using a cipher.
@@ -1442,19 +1464,19 @@ eet_data_image_read_cipher(Eet_File     *ef,
  * @ingroup Eet_File_Image_Cipher_Group
  */
 EAPI int
-eet_data_image_read_to_surface_cipher(Eet_File     *ef,
-                                      const char   *name,
-                                      const char   *cipher_key,
-                                      unsigned int  src_x,
-                                      unsigned int  src_y,
+eet_data_image_read_to_surface_cipher(Eet_File *ef,
+                                      const char *name,
+                                      const char *cipher_key,
+                                      unsigned int src_x,
+                                      unsigned int src_y,
                                       unsigned int *d,
-                                      unsigned int  w,
-                                      unsigned int  h,
-                                      unsigned int  row_stride,
-                                      int          *alpha,
-                                      int          *compress,
-                                      int          *quality,
-                                      int          *lossy);
+                                      unsigned int w,
+                                      unsigned int h,
+                                      unsigned int row_stride,
+                                      int *alpha,
+                                      int *compress,
+                                      int *quality,
+                                      int *lossy);
 
 /**
  * Write image data to the named key in an eet file using a cipher.
@@ -1493,16 +1515,16 @@ eet_data_image_read_to_surface_cipher(Eet_File     *ef,
  * @ingroup Eet_File_Image_Cipher_Group
  */
 EAPI int
-eet_data_image_write_cipher(Eet_File    *ef,
-                            const char  *name,
-                            const char  *cipher_key,
-                            const void  *data,
+eet_data_image_write_cipher(Eet_File *ef,
+                            const char *name,
+                            const char *cipher_key,
+                            const void *data,
                             unsigned int w,
                             unsigned int h,
-                            int          alpha,
-                            int          compress,
-                            int          quality,
-                            int          lossy);
+                            int alpha,
+                            int compress,
+                            int quality,
+                            int lossy);
 
 /**
  * Decode Image data header only to get information using a cipher.
@@ -1542,15 +1564,15 @@ eet_data_image_write_cipher(Eet_File    *ef,
  * @ingroup Eet_File_Image_Cipher_Group
  */
 EAPI int
-eet_data_image_header_decode_cipher(const void   *data,
-                                    const char   *cipher_key,
-                                    int           size,
+eet_data_image_header_decode_cipher(const void *data,
+                                    const char *cipher_key,
+                                    int size,
                                     unsigned int *w,
                                     unsigned int *h,
-                                    int          *alpha,
-                                    int          *compress,
-                                    int          *quality,
-                                    int          *lossy);
+                                    int *alpha,
+                                    int *compress,
+                                    int *quality,
+                                    int *lossy);
 
 /**
  * Decode Image data into pixel data using a cipher.
@@ -1592,15 +1614,15 @@ eet_data_image_header_decode_cipher(const void   *data,
  * @ingroup Eet_File_Image_Cipher_Group
  */
 EAPI void *
-eet_data_image_decode_cipher(const void   *data,
-                             const char   *cipher_key,
-                             int           size,
+eet_data_image_decode_cipher(const void *data,
+                             const char *cipher_key,
+                             int size,
                              unsigned int *w,
                              unsigned int *h,
-                             int          *alpha,
-                             int          *compress,
-                             int          *quality,
-                             int          *lossy);
+                             int *alpha,
+                             int *compress,
+                             int *quality,
+                             int *lossy);
 
 /**
  * Decode Image data into pixel data using a cipher.
@@ -1644,19 +1666,19 @@ eet_data_image_decode_cipher(const void   *data,
  * @ingroup Eet_File_Image_Cipher_Group
  */
 EAPI int
-eet_data_image_decode_to_surface_cipher(const void   *data,
-                                        const char   *cipher_key,
-                                        int           size,
-                                        unsigned int  src_x,
-                                        unsigned int  src_y,
+eet_data_image_decode_to_surface_cipher(const void *data,
+                                        const char *cipher_key,
+                                        int size,
+                                        unsigned int src_x,
+                                        unsigned int src_y,
                                         unsigned int *d,
-                                        unsigned int  w,
-                                        unsigned int  h,
-                                        unsigned int  row_stride,
-                                        int          *alpha,
-                                        int          *compress,
-                                        int          *quality,
-                                        int          *lossy);
+                                        unsigned int w,
+                                        unsigned int h,
+                                        unsigned int row_stride,
+                                        int *alpha,
+                                        int *compress,
+                                        int *quality,
+                                        int *lossy);
 
 /**
  * Encode image data for storage or transmission using a cipher.
@@ -1694,15 +1716,15 @@ eet_data_image_decode_to_surface_cipher(const void   *data,
  * @ingroup Eet_File_Image_Cipher_Group
  */
 EAPI void *
-eet_data_image_encode_cipher(const void   *data,
-                             const char   *cipher_key,
-                             unsigned int  w,
-                             unsigned int  h,
-                             int           alpha,
-                             int           compress,
-                             int           quality,
-                             int           lossy,
-                             int          *size_ret);
+eet_data_image_encode_cipher(const void *data,
+                             const char *cipher_key,
+                             unsigned int w,
+                             unsigned int h,
+                             int alpha,
+                             int compress,
+                             int quality,
+                             int lossy,
+                             int *size_ret);
 
 /**
  * @defgroup Eet_Cipher_Group Cipher, Identity and Protection Mechanisms
@@ -1722,7 +1744,7 @@ eet_data_image_encode_cipher(const void   *data,
  * Opaque handle that defines an identity (also known as key)
  * in Eet's cipher system.
  */
-typedef struct _Eet_Key   Eet_Key;
+typedef struct _Eet_Key Eet_Key;
 
 /**
  * @}
@@ -1740,7 +1762,7 @@ typedef struct _Eet_Key   Eet_Key;
  * @since 1.2.0
  * @ingroup Eet_Cipher_Group
  */
-typedef int (*Eet_Key_Password_Callback) (char *buffer, int size, int rwflag, void *data);
+typedef int (*Eet_Key_Password_Callback)(char *buffer, int size, int rwflag, void *data);
 
 /**
  * Create an Eet_Key needed for signing an eet file.
@@ -1760,9 +1782,9 @@ typedef int (*Eet_Key_Password_Callback) (char *buffer, int size, int rwflag, vo
  * @ingroup Eet_Cipher_Group
  */
 EAPI Eet_Key *
-eet_identity_open(const char                *certificate_file,
-                  const char                *private_key_file,
-                  Eet_Key_Password_Callback  cb);
+eet_identity_open(const char *certificate_file,
+                  const char *private_key_file,
+                  Eet_Key_Password_Callback cb);
 
 /**
  * Close and release all ressource used by an Eet_Key.  An
@@ -1790,7 +1812,7 @@ eet_identity_close(Eet_Key *key);
  */
 EAPI Eet_Error
 eet_identity_set(Eet_File *ef,
-                 Eet_Key  *key);
+                 Eet_Key *key);
 
 /**
  * Display both private and public key of an Eet_Key.
@@ -1803,7 +1825,7 @@ eet_identity_set(Eet_File *ef,
  */
 EAPI void
 eet_identity_print(Eet_Key *key,
-                   FILE    *out);
+                   FILE *out);
 
 /**
  * Get the x509 der certificate associated with an Eet_File. Will return NULL
@@ -1818,7 +1840,7 @@ eet_identity_print(Eet_Key *key,
  */
 EAPI const void *
 eet_identity_x509(Eet_File *ef,
-                  int      *der_length);
+                  int *der_length);
 
 /**
  * Get the raw signature associated with an Eet_File. Will return NULL
@@ -1832,7 +1854,7 @@ eet_identity_x509(Eet_File *ef,
  */
 EAPI const void *
 eet_identity_signature(Eet_File *ef,
-                       int      *signature_length);
+                       int *signature_length);
 
 /**
  * Get the SHA1 associated with a file. Could be the one used to
@@ -1848,7 +1870,7 @@ eet_identity_signature(Eet_File *ef,
  */
 EAPI const void *
 eet_identity_sha1(Eet_File *ef,
-                  int      *sha1_length);
+                  int *sha1_length);
 
 /**
  * Display the x509 der certificate to out.
@@ -1862,8 +1884,8 @@ eet_identity_sha1(Eet_File *ef,
  */
 EAPI void
 eet_identity_certificate_print(const unsigned char *certificate,
-                               int                  der_length,
-                               FILE                *out);
+                               int der_length,
+                               FILE *out);
 
 /**
  * @defgroup Eet_Data_Group Eet Data Serialization
@@ -2005,6 +2027,8 @@ eet_identity_certificate_print(const unsigned char *certificate,
  * The following is a list of more advanced and detailed examples.
  * @li @ref eet_data_nested_example
  * @li @ref eet_data_file_descriptor
+ * @li @ref Example_Eet_Data_File_Descriptor_02
+ * @li @ref Example_Eet_Data_Cipher_Decipher
  */
 
 /**
@@ -2115,14 +2139,14 @@ eet_identity_certificate_print(const unsigned char *certificate,
  * the following example. It's been slightly modified from the original
  * source to show more of the varied ways in which Eet can handle our data.
  *
- * @ref eet-data-file_descriptor.c "This example" shows a cache of user
+ * @ref eet-data-file_descriptor_01.c "This example" shows a cache of user
  * accounts and messages received, and it's a bit more interactive than
  * previous examples.
  *
  * Let's begin by looking at the structures we'll be using. First we have
  * one to define the messages the user receives and one for the one he posts.
  * Straight forward and nothing new here.
- * @dontinclude eet-data-file_descriptor.c
+ * @dontinclude eet-data-file_descriptor_01.c
  * @skip typedef
  * @until My_Post
  *
@@ -2247,7 +2271,7 @@ eet_identity_certificate_print(const unsigned char *certificate,
  * @until }
  *
  * Skipping all the utility functions used by our program (remember you can
- * look at the full example @ref eet-data-file_descriptor.c "here") we get to
+ * look at the full example @ref eet-data-file_descriptor_01.c "here") we get to
  * our cache loading code. Nothing out of the ordinary at first, just the
  * same old open file, read data using our main descriptor to decode it
  * into something we can use and check version of loaded data and if it doesn't
@@ -2333,7 +2357,7 @@ eet_identity_certificate_print(const unsigned char *certificate,
  * @see eet_data_descriptor_file_new()
  * @see eet_data_descriptor_free()
  */
-typedef struct _Eet_Data_Descriptor         Eet_Data_Descriptor;
+typedef struct _Eet_Data_Descriptor Eet_Data_Descriptor;
 
 /**
  * @def EET_DATA_DESCRIPTOR_CLASS_VERSION
@@ -2350,27 +2374,27 @@ typedef struct _Eet_Data_Descriptor         Eet_Data_Descriptor;
  * Instructs Eet about memory management for different needs under
  * serialization and parse process.
  */
-typedef struct _Eet_Data_Descriptor_Class   Eet_Data_Descriptor_Class;
-
-typedef int         (*Eet_Descriptor_Hash_Foreach_Callback_Callback)(void *h, const char *k, void *dt, void *fdt);
-
-typedef void       *(*Eet_Descriptor_Mem_Alloc_Callback)(size_t size);
-typedef void        (*Eet_Descriptor_Mem_Free_Callback)(void *mem);
-typedef char       *(*Eet_Descriptor_Str_Alloc_Callback)(const char *str);
-typedef void        (*Eet_Descriptor_Str_Free_Callback)(const char *str);
-typedef void       *(*Eet_Descriptor_List_Next_Callback)(void *l);
-typedef void       *(*Eet_Descriptor_List_Append_Callback)(void *l, void *d);
-typedef void       *(*Eet_Descriptor_List_Data_Callback)(void *l);
-typedef void       *(*Eet_Descriptor_List_Free_Callback)(void *l);
-typedef void        (*Eet_Descriptor_Hash_Foreach_Callback)(void *h, Eet_Descriptor_Hash_Foreach_Callback_Callback func, void *fdt);
-typedef void       *(*Eet_Descriptor_Hash_Add_Callback)(void *h, const char *k, void *d);
-typedef void        (*Eet_Descriptor_Hash_Free_Callback)(void *h);
-typedef char       *(*Eet_Descriptor_Str_Direct_Alloc_Callback)(const char *str);
-typedef void        (*Eet_Descriptor_Str_Direct_Free_Callback)(const char *str);
-typedef const char *(*Eet_Descriptor_Type_Get_Callback)(const void *data, Eina_Bool *unknow);
-typedef Eina_Bool   (*Eet_Descriptor_Type_Set_Callback)(const char *type, void *data, Eina_Bool unknow);
-typedef void       *(*Eet_Descriptor_Array_Alloc_Callback)(size_t size);
-typedef void        (*Eet_Descriptor_Array_Free_Callback)(void *mem);
+typedef struct _Eet_Data_Descriptor_Class Eet_Data_Descriptor_Class;
+
+typedef int                             (*Eet_Descriptor_Hash_Foreach_Callback_Callback)(void *h, const char *k, void *dt, void *fdt);
+
+typedef void *                          (*Eet_Descriptor_Mem_Alloc_Callback)(size_t size);
+typedef void                            (*Eet_Descriptor_Mem_Free_Callback)(void *mem);
+typedef char *                          (*Eet_Descriptor_Str_Alloc_Callback)(const char *str);
+typedef void                            (*Eet_Descriptor_Str_Free_Callback)(const char *str);
+typedef void *                          (*Eet_Descriptor_List_Next_Callback)(void *l);
+typedef void *                          (*Eet_Descriptor_List_Append_Callback)(void *l, void *d);
+typedef void *                          (*Eet_Descriptor_List_Data_Callback)(void *l);
+typedef void *                          (*Eet_Descriptor_List_Free_Callback)(void *l);
+typedef void                            (*Eet_Descriptor_Hash_Foreach_Callback)(void *h, Eet_Descriptor_Hash_Foreach_Callback_Callback func, void *fdt);
+typedef void *                          (*Eet_Descriptor_Hash_Add_Callback)(void *h, const char *k, void *d);
+typedef void                            (*Eet_Descriptor_Hash_Free_Callback)(void *h);
+typedef char *                          (*Eet_Descriptor_Str_Direct_Alloc_Callback)(const char *str);
+typedef void                            (*Eet_Descriptor_Str_Direct_Free_Callback)(const char *str);
+typedef const char *                    (*Eet_Descriptor_Type_Get_Callback)(const void *data, Eina_Bool *unknow);
+typedef Eina_Bool                       (*Eet_Descriptor_Type_Set_Callback)(const char *type, void *data, Eina_Bool unknow);
+typedef void *                          (*Eet_Descriptor_Array_Alloc_Callback)(size_t size);
+typedef void                            (*Eet_Descriptor_Array_Free_Callback)(void *mem);
 /**
  * @struct _Eet_Data_Descriptor_Class
  *
@@ -2390,24 +2414,25 @@ struct _Eet_Data_Descriptor_Class
    int         version;  /**< ABI version. Should always be set to #EET_DATA_DESCRIPTOR_CLASS_VERSION */
    const char *name;  /**< Name of the user data type to be serialized */
    int         size;  /**< Size in bytes of the user data type to be serialized */
-   struct {
-     Eet_Descriptor_Mem_Alloc_Callback mem_alloc; /**< how to allocate memory (usually malloc()) */
-     Eet_Descriptor_Mem_Free_Callback mem_free; /**< how to free memory (usually free()) */
-     Eet_Descriptor_Str_Alloc_Callback str_alloc; /**< how to allocate a string */
-     Eet_Descriptor_Str_Free_Callback str_free; /**< how to free a string */
-     Eet_Descriptor_List_Next_Callback list_next; /**< how to iterate to the next element of a list. Receives and should return the list node. */
-     Eet_Descriptor_List_Append_Callback list_append; /**< how to append data @p d to list which head node is @p l */
-     Eet_Descriptor_List_Data_Callback list_data; /**< retrieves the data from node @p l */
-     Eet_Descriptor_List_Free_Callback list_free; /**< free all the nodes from the list which head node is @p l */
-     Eet_Descriptor_Hash_Foreach_Callback hash_foreach; /**< iterates over all elements in the hash @p h in no specific order */
-     Eet_Descriptor_Hash_Add_Callback hash_add; /**< add a new data @p d with key @p k in hash @p h */
-     Eet_Descriptor_Hash_Free_Callback hash_free; /**< free all entries from the hash @p h */
-     Eet_Descriptor_Str_Direct_Alloc_Callback str_direct_alloc; /**< how to allocate a string directly from file backed/mmaped region pointed by @p str */
-     Eet_Descriptor_Str_Direct_Free_Callback str_direct_free; /**< how to free a string returned by str_direct_alloc */
-     Eet_Descriptor_Type_Get_Callback type_get; /**< get the type, as used in the union or variant mapping, that should be used to store the given data into the eet file. */
-     Eet_Descriptor_Type_Set_Callback type_set; /**< called when loading a mapped type with the given @p type used to describe the type in the descriptor */
-     Eet_Descriptor_Array_Alloc_Callback array_alloc; /**< how to allocate memory for array (usually malloc()) */
-     Eet_Descriptor_Array_Free_Callback array_free; /**< how to free memory for array (usually free()) */
+   struct
+   {
+      Eet_Descriptor_Mem_Alloc_Callback        mem_alloc; /**< how to allocate memory (usually malloc()) */
+      Eet_Descriptor_Mem_Free_Callback         mem_free; /**< how to free memory (usually free()) */
+      Eet_Descriptor_Str_Alloc_Callback        str_alloc; /**< how to allocate a string */
+      Eet_Descriptor_Str_Free_Callback         str_free; /**< how to free a string */
+      Eet_Descriptor_List_Next_Callback        list_next; /**< how to iterate to the next element of a list. Receives and should return the list node. */
+      Eet_Descriptor_List_Append_Callback      list_append; /**< how to append data @p d to list which head node is @p l */
+      Eet_Descriptor_List_Data_Callback        list_data; /**< retrieves the data from node @p l */
+      Eet_Descriptor_List_Free_Callback        list_free; /**< free all the nodes from the list which head node is @p l */
+      Eet_Descriptor_Hash_Foreach_Callback     hash_foreach; /**< iterates over all elements in the hash @p h in no specific order */
+      Eet_Descriptor_Hash_Add_Callback         hash_add; /**< add a new data @p d with key @p k in hash @p h */
+      Eet_Descriptor_Hash_Free_Callback        hash_free; /**< free all entries from the hash @p h */
+      Eet_Descriptor_Str_Direct_Alloc_Callback str_direct_alloc; /**< how to allocate a string directly from file backed/mmaped region pointed by @p str */
+      Eet_Descriptor_Str_Direct_Free_Callback  str_direct_free; /**< how to free a string returned by str_direct_alloc */
+      Eet_Descriptor_Type_Get_Callback         type_get; /**< get the type, as used in the union or variant mapping, that should be used to store the given data into the eet file. */
+      Eet_Descriptor_Type_Set_Callback         type_set; /**< called when loading a mapped type with the given @p type used to describe the type in the descriptor */
+      Eet_Descriptor_Array_Alloc_Callback      array_alloc; /**< how to allocate memory for array (usually malloc()) */
+      Eet_Descriptor_Array_Free_Callback       array_free; /**< how to free memory for array (usually free()) */
    } func;
 };
 
@@ -2415,7 +2440,6 @@ struct _Eet_Data_Descriptor_Class
  * @}
  */
 
-
 /**
  * Create a new empty data structure descriptor.
  * @param name The string name of this data structure (most be a
@@ -2471,9 +2495,9 @@ eet_data_descriptor_new(const char *name,
  * move happens - but be warned
  */
 EINA_DEPRECATED EAPI Eet_Data_Descriptor *
-eet_data_descriptor2_new(const Eet_Data_Descriptor_Class *eddc);
+ eet_data_descriptor2_new(const Eet_Data_Descriptor_Class *eddc);
 EINA_DEPRECATED EAPI Eet_Data_Descriptor *
-eet_data_descriptor3_new(const Eet_Data_Descriptor_Class *eddc);
+ eet_data_descriptor3_new(const Eet_Data_Descriptor_Class *eddc);
 
 /**
  * This function creates a new data descriptor and returns a handle to the
@@ -2571,9 +2595,9 @@ eet_data_descriptor_file_new(const Eet_Data_Descriptor_Class *eddc);
  */
 EAPI Eina_Bool
 eet_eina_stream_data_descriptor_class_set(Eet_Data_Descriptor_Class *eddc,
-                                          unsigned int              eddc_size,
-                                          const char                *name,
-                                          int                        size);
+                                          unsigned int eddc_size,
+                                          const char *name,
+                                          int size);
 
 /**
  * This macro is an helper that set all the parameter of an
@@ -2589,8 +2613,8 @@ eet_eina_stream_data_descriptor_class_set(Eet_Data_Descriptor_Class *eddc,
  * @since 1.2.3
  * @ingroup Eet_Data_Group
  */
-#define EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET(clas, type)\
-   (eet_eina_stream_data_descriptor_class_set(clas, sizeof (*(clas)), # type, sizeof(type)))
+#define EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET(clas, type) \
+  (eet_eina_stream_data_descriptor_class_set(clas, sizeof (*(clas)), # type, sizeof(type)))
 
 /**
  * This function is an helper that set all the parameter of an
@@ -2612,9 +2636,9 @@ eet_eina_stream_data_descriptor_class_set(Eet_Data_Descriptor_Class *eddc,
  */
 EAPI Eina_Bool
 eet_eina_file_data_descriptor_class_set(Eet_Data_Descriptor_Class *eddc,
-                                        unsigned int               eddc_size,
-                                        const char                *name,
-                                        int                        size);
+                                        unsigned int eddc_size,
+                                        const char *name,
+                                        int size);
 
 /**
  * This macro is an helper that set all the parameter of an
@@ -2630,7 +2654,7 @@ eet_eina_file_data_descriptor_class_set(Eet_Data_Descriptor_Class *eddc,
  * @since 1.2.3
  * @ingroup Eet_Data_Group
  */
-#define EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(clas, type)\
+#define EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(clas, type) \
   (eet_eina_file_data_descriptor_class_set(clas, sizeof (*(clas)), # type, sizeof(type)))
 
 /**
@@ -2675,13 +2699,13 @@ eet_data_descriptor_free(Eet_Data_Descriptor *edd);
  */
 EAPI void
 eet_data_descriptor_element_add(Eet_Data_Descriptor *edd,
-                                const char          *name,
-                                int                  type,
-                                int                  group_type,
-                                int                  offset,
-                                /* int                  count_offset, */
-                                int                  count,
-                                const char          *counter_name,
+                                const char *name,
+                                int type,
+                                int group_type,
+                                int offset,
+     /* int                  count_offset, */
+                                int count,
+                                const char *counter_name,
                                 Eet_Data_Descriptor *subtype);
 
 /**
@@ -2712,9 +2736,9 @@ eet_data_descriptor_element_add(Eet_Data_Descriptor *edd,
  * @ingroup Eet_Data_Group
  */
 EAPI void *
-eet_data_read(Eet_File            *ef,
+eet_data_read(Eet_File *ef,
               Eet_Data_Descriptor *edd,
-              const char          *name);
+              const char *name);
 
 /**
  * Write a data structure from memory and store in an eet file.
@@ -2736,11 +2760,11 @@ eet_data_read(Eet_File            *ef,
  * @ingroup Eet_Data_Group
  */
 EAPI int
-eet_data_write(Eet_File            *ef,
+eet_data_write(Eet_File *ef,
                Eet_Data_Descriptor *edd,
-               const char          *name,
-               const void          *data,
-               int                  compress);
+               const char *name,
+               const void *data,
+               int compress);
 
 typedef void (*Eet_Dump_Callback)(void *data, const char *str);
 
@@ -2792,10 +2816,10 @@ typedef void (*Eet_Dump_Callback)(void *data, const char *str);
  * @ingroup Eet_Data_Group
  */
 EAPI int
-eet_data_text_dump(const void  *data_in,
-                   int          size_in,
+eet_data_text_dump(const void *data_in,
+                   int size_in,
                    Eet_Dump_Callback dumpfunc,
-                   void        *dumpdata);
+                   void *dumpdata);
 
 /**
  * Take an ascii encoding from eet_data_text_dump() and re-encode in binary.
@@ -2818,8 +2842,8 @@ eet_data_text_dump(const void  *data_in,
  */
 EAPI void *
 eet_data_text_undump(const char *text,
-                     int         textlen,
-                     int        *size_ret);
+                     int textlen,
+                     int *size_ret);
 
 /**
  * Dump an eet encoded data structure from an eet file into ascii text
@@ -2845,10 +2869,10 @@ eet_data_text_undump(const char *text,
  * @ingroup Eet_Data_Group
  */
 EAPI int
-eet_data_dump(Eet_File    *ef,
-              const char  *name,
+eet_data_dump(Eet_File *ef,
+              const char *name,
               Eet_Dump_Callback dumpfunc,
-              void        *dumpdata);
+              void *dumpdata);
 
 /**
  * Take an ascii encoding from eet_data_dump() and re-encode in binary.
@@ -2873,11 +2897,11 @@ eet_data_dump(Eet_File    *ef,
  * @ingroup Eet_Data_Group
  */
 EAPI int
-eet_data_undump(Eet_File   *ef,
+eet_data_undump(Eet_File *ef,
                 const char *name,
                 const char *text,
-                int         textlen,
-                int         compress);
+                int textlen,
+                int compress);
 
 /**
  * Decode a data structure from an arbitrary location in memory.
@@ -2908,8 +2932,8 @@ eet_data_undump(Eet_File   *ef,
  */
 EAPI void *
 eet_data_descriptor_decode(Eet_Data_Descriptor *edd,
-                           const void          *data_in,
-                           int                  size_in);
+                           const void *data_in,
+                           int size_in);
 
 /**
  * Encode a dsata struct to memory and return that encoded data.
@@ -2942,8 +2966,8 @@ eet_data_descriptor_decode(Eet_Data_Descriptor *edd,
  */
 EAPI void *
 eet_data_descriptor_encode(Eet_Data_Descriptor *edd,
-                           const void          *data_in,
-                           int                 *size_ret);
+                           const void *data_in,
+                           int *size_ret);
 
 /**
  * Add a basic data element to a data descriptor.
@@ -2969,13 +2993,13 @@ eet_data_descriptor_encode(Eet_Data_Descriptor *edd,
  * @ingroup Eet_Data_Group
  */
 #define EET_DATA_DESCRIPTOR_ADD_BASIC(edd, struct_type, name, member, type) \
-   do { \
-      struct_type ___ett; \
-      eet_data_descriptor_element_add(edd, name, type, EET_G_UNKNOWN, \
-                                      (char *)(& (___ett.member)) - \
-                                      (char *)(& (___ett)), \
-                                      0, /* 0,  */ NULL, NULL); \
-   } while(0)
+  do {                                                                      \
+       struct_type ___ett;                                                  \
+       eet_data_descriptor_element_add(edd, name, type, EET_G_UNKNOWN,      \
+                                       (char *)(& (___ett.member)) -        \
+                                       (char *)(& (___ett)),                \
+                                       0, /* 0,  */ NULL, NULL);            \
+    } while(0)
 
 /**
  * Add a sub-element type to a data descriptor
@@ -2995,14 +3019,14 @@ eet_data_descriptor_encode(Eet_Data_Descriptor *edd,
  * @since 1.0.0
  * @ingroup Eet_Data_Group
  */
-#define EET_DATA_DESCRIPTOR_ADD_SUB(edd, struct_type, name, member, subtype) \
-   do { \
-      struct_type ___ett; \
-      eet_data_descriptor_element_add(edd, name, EET_T_UNKNOW, EET_G_UNKNOWN, \
-                                      (char *)(& (___ett.member)) - \
-                                      (char *)(& (___ett)), \
-                                      0, /* 0,  */ NULL, subtype); \
-   } while (0)
+#define EET_DATA_DESCRIPTOR_ADD_SUB(edd, struct_type, name, member, subtype)   \
+  do {                                                                         \
+       struct_type ___ett;                                                     \
+       eet_data_descriptor_element_add(edd, name, EET_T_UNKNOW, EET_G_UNKNOWN, \
+                                       (char *)(& (___ett.member)) -           \
+                                       (char *)(& (___ett)),                   \
+                                       0, /* 0,  */ NULL, subtype);            \
+    } while (0)
 
 /**
  * Add a linked list type to a data descriptor
@@ -3022,13 +3046,13 @@ eet_data_descriptor_encode(Eet_Data_Descriptor *edd,
  * @ingroup Eet_Data_Group
  */
 #define EET_DATA_DESCRIPTOR_ADD_LIST(edd, struct_type, name, member, subtype) \
-   do { \
-      struct_type ___ett; \
-      eet_data_descriptor_element_add(edd, name, EET_T_UNKNOW, EET_G_LIST, \
-                                      (char *)(& (___ett.member)) - \
-                                      (char *)(& (___ett)), \
-                                      0, /* 0,  */ NULL, subtype); \
-   } while (0)
+  do {                                                                        \
+       struct_type ___ett;                                                    \
+       eet_data_descriptor_element_add(edd, name, EET_T_UNKNOW, EET_G_LIST,   \
+                                       (char *)(& (___ett.member)) -          \
+                                       (char *)(& (___ett)),                  \
+                                       0, /* 0,  */ NULL, subtype);           \
+    } while (0)
 
 /**
  * Add a linked list of string to a data descriptor
@@ -3045,13 +3069,13 @@ eet_data_descriptor_encode(Eet_Data_Descriptor *edd,
  * @ingroup Eet_Data_Group
  */
 #define EET_DATA_DESCRIPTOR_ADD_LIST_STRING(edd, struct_type, name, member) \
-   do { \
-      struct_type ___ett; \
-      eet_data_descriptor_element_add(edd, name, EET_T_STRING, EET_G_LIST, \
-                                      (char *)(& (___ett.member)) - \
-                                      (char *)(& (___ett)), \
-                                      0, /* 0,  */ NULL, NULL); \
-   } while (0)
+  do {                                                                      \
+       struct_type ___ett;                                                  \
+       eet_data_descriptor_element_add(edd, name, EET_T_STRING, EET_G_LIST, \
+                                       (char *)(& (___ett.member)) -        \
+                                       (char *)(& (___ett)),                \
+                                       0, /* 0,  */ NULL, NULL);            \
+    } while (0)
 
 /**
  * Add a hash type to a data descriptor
@@ -3072,13 +3096,13 @@ eet_data_descriptor_encode(Eet_Data_Descriptor *edd,
  * @ingroup Eet_Data_Group
  */
 #define EET_DATA_DESCRIPTOR_ADD_HASH(edd, struct_type, name, member, subtype) \
-   do { \
-      struct_type ___ett; \
-      eet_data_descriptor_element_add(edd, name, EET_T_UNKNOW, EET_G_HASH, \
-                                      (char *)(& (___ett.member)) - \
-                                      (char *)(& (___ett)), \
-                                      0, /* 0,  */ NULL, subtype); \
-   } while (0)
+  do {                                                                        \
+       struct_type ___ett;                                                    \
+       eet_data_descriptor_element_add(edd, name, EET_T_UNKNOW, EET_G_HASH,   \
+                                       (char *)(& (___ett.member)) -          \
+                                       (char *)(& (___ett)),                  \
+                                       0, /* 0,  */ NULL, subtype);           \
+    } while (0)
 
 /**
  * Add a hash of string to a data descriptor
@@ -3095,13 +3119,74 @@ eet_data_descriptor_encode(Eet_Data_Descriptor *edd,
  * @ingroup Eet_Data_Group
  */
 #define EET_DATA_DESCRIPTOR_ADD_HASH_STRING(edd, struct_type, name, member) \
-   do { \
-      struct_type ___ett; \
-      eet_data_descriptor_element_add(edd, name, EET_T_STRING, EET_G_HASH, \
-                                      (char *)(& (___ett.member)) - \
-                                      (char *)(& (___ett)), \
-                                      0, /* 0,  */ NULL, NULL); \
-   } while (0)
+  do {                                                                      \
+       struct_type ___ett;                                                  \
+       eet_data_descriptor_element_add(edd, name, EET_T_STRING, EET_G_HASH, \
+                                       (char *)(& (___ett.member)) -        \
+                                       (char *)(& (___ett)),                \
+                                       0, /* 0,  */ NULL, NULL);            \
+    } while (0)
+
+/**
+ * Add an array of basic data elements to a data descriptor.
+ * @param edd The data descriptor to add the type to.
+ * @param struct_type The type of the struct.
+ * @param name The string name to use to encode/decode this member
+ *        (must be a constant global and never change).
+ * @param member The struct member itself to be encoded.
+ * @param type The type of the member to encode.
+ *
+ * This macro lets you easily add a fixed size array of basic data
+ * types. All the parameters are the same as for
+ * EET_DATA_DESCRIPTOR_ADD_BASIC().
+ * The array must be defined with a fixed size in the declaration of the
+ * struct containing it.
+ *
+ * @since 1.5.0
+ * @ingroup Eet_Data_Group
+ */
+#define EET_DATA_DESCRIPTOR_ADD_BASIC_ARRAY(edd, struct_type, name, member, type) \
+  do {                                                                            \
+       struct_type ___ett;                                                        \
+       eet_data_descriptor_element_add(edd, name, type, EET_G_ARRAY,              \
+                                       (char *)(& (___ett.member)) -              \
+                                       (char *)(& (___ett)),                      \
+                                       sizeof(___ett.member) /                    \
+                                       sizeof(___ett.member[0]),                  \
+                                       NULL, NULL);                               \
+    } while(0)
+
+/**
+ * Add a variable array of basic data elements to a data descriptor.
+ * @param edd The data descriptor to add the type to.
+ * @param struct_type The type of the struct.
+ * @param name The string name to use to encode/decode this member
+ *        (must be a constant global and never change).
+ * @param member The struct member itself to be encoded.
+ * @param type The type of the member to encode.
+ *
+ * This macro lets you easily add a variable size array of basic data
+ * types. All the parameters are the same as for
+ * EET_DATA_DESCRIPTOR_ADD_BASIC(). This assumes you have
+ * a struct member (of type EET_T_INT) called member_count (note the
+ * _count appended to the member) that holds the number of items in
+ * the array. This array will be allocated separately to the struct it
+ * is in.
+ *
+ * @since 1.5.0
+ * @ingroup Eet_Data_Group
+ */
+#define EET_DATA_DESCRIPTOR_ADD_BASIC_VAR_ARRAY(edd, struct_type, name, member, type) \
+  do {                                                                                \
+       struct_type ___ett;                                                            \
+       eet_data_descriptor_element_add(edd, name, type, EET_G_VAR_ARRAY,              \
+                                       (char *)(& (___ett.member)) -                  \
+                                       (char *)(& (___ett)),                          \
+                                       (char *)(& (___ett.member ## _count)) -        \
+                                       (char *)(& (___ett)),                          \
+                                       NULL,                                          \
+                                       NULL);                                         \
+    } while(0)
 
 /**
  * Add a fixed size array type to a data descriptor
@@ -3123,15 +3208,15 @@ eet_data_descriptor_encode(Eet_Data_Descriptor *edd,
  * @since 1.0.2
  * @ingroup Eet_Data_Group
  */
-#define EET_DATA_DESCRIPTOR_ADD_ARRAY(edd, struct_type, name, member, subtype) \
-   do { \
-      struct_type ___ett; \
-      eet_data_descriptor_element_add(edd, name, EET_T_UNKNOW, EET_G_ARRAY, \
-                                      (char *)(& (___ett.member)) - \
-                                      (char *)(& (___ett)), \
-                                      /* 0,  */ sizeof(___ett.member) / \
-                                      sizeof(___ett.member[0]), NULL, subtype); \
-   } while (0)
+#define EET_DATA_DESCRIPTOR_ADD_ARRAY(edd, struct_type, name, member, subtype)   \
+  do {                                                                           \
+       struct_type ___ett;                                                       \
+       eet_data_descriptor_element_add(edd, name, EET_T_UNKNOW, EET_G_ARRAY,     \
+                                       (char *)(& (___ett.member)) -             \
+                                       (char *)(& (___ett)),                     \
+                                       /* 0,  */ sizeof(___ett.member) /         \
+                                       sizeof(___ett.member[0]), NULL, subtype); \
+    } while (0)
 
 /**
  * Add a variable size array type to a data descriptor
@@ -3156,19 +3241,19 @@ eet_data_descriptor_encode(Eet_Data_Descriptor *edd,
  * @ingroup Eet_Data_Group
  */
 #define EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(edd, struct_type, name, member, subtype) \
-   do { \
-      struct_type ___ett; \
-      eet_data_descriptor_element_add(edd, \
-                                      name, \
-                                      EET_T_UNKNOW, \
-                                      EET_G_VAR_ARRAY, \
-                                      (char *)(& (___ett.member)) - \
-                                      (char *)(& (___ett)), \
-                                      (char *)(& (___ett.member ## _count)) - \
-                                      (char *)(& (___ett)), \
-                                      /* 0,  */ NULL, \
-                                      subtype); \
-   } while (0)
+  do {                                                                             \
+       struct_type ___ett;                                                         \
+       eet_data_descriptor_element_add(edd,                                        \
+                                       name,                                       \
+                                       EET_T_UNKNOW,                               \
+                                       EET_G_VAR_ARRAY,                            \
+                                       (char *)(& (___ett.member)) -               \
+                                       (char *)(& (___ett)),                       \
+                                       (char *)(& (___ett.member ## _count)) -     \
+                                       (char *)(& (___ett)),                       \
+                                       /* 0,  */ NULL,                             \
+                                       subtype);                                   \
+    } while (0)
 
 /**
  * Add a variable size array type to a data descriptor
@@ -3185,19 +3270,19 @@ eet_data_descriptor_encode(Eet_Data_Descriptor *edd,
  * @ingroup Eet_Data_Group
  */
 #define EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY_STRING(edd, struct_type, name, member) \
-   do { \
-      struct_type ___ett; \
-      eet_data_descriptor_element_add(edd, \
-                                      name, \
-                                      EET_T_STRING, \
-                                      EET_G_VAR_ARRAY, \
-                                      (char *)(& (___ett.member)) - \
-                                      (char *)(& (___ett)), \
-                                      (char *)(& (___ett.member ## _count)) - \
-                                      (char *)(& (___ett)), \
-                                      /* 0,  */ NULL, \
-                                      NULL); \
-   } while (0)
+  do {                                                                           \
+       struct_type ___ett;                                                       \
+       eet_data_descriptor_element_add(edd,                                      \
+                                       name,                                     \
+                                       EET_T_STRING,                             \
+                                       EET_G_VAR_ARRAY,                          \
+                                       (char *)(& (___ett.member)) -             \
+                                       (char *)(& (___ett)),                     \
+                                       (char *)(& (___ett.member ## _count)) -   \
+                                       (char *)(& (___ett)),                     \
+                                       /* 0,  */ NULL,                           \
+                                       NULL);                                    \
+    } while (0)
 
 /**
  * Add an union type to a data descriptor
@@ -3219,15 +3304,15 @@ eet_data_descriptor_encode(Eet_Data_Descriptor *edd,
  * @see Eet_Data_Descriptor_Class
  */
 #define EET_DATA_DESCRIPTOR_ADD_UNION(edd, struct_type, name, member, type_member, unified_type) \
-   do { \
-      struct_type ___ett; \
-      eet_data_descriptor_element_add(edd, name, EET_T_UNKNOW, EET_G_UNION, \
-                                      (char *)(& (___ett.member)) - \
-                                      (char *)(& (___ett)), \
-                                      (char *)(& (___ett.type_member)) - \
-                                      (char *)(& (___ett)), \
-                                      NULL, unified_type); \
-   } while (0)
+  do {                                                                                           \
+       struct_type ___ett;                                                                       \
+       eet_data_descriptor_element_add(edd, name, EET_T_UNKNOW, EET_G_UNION,                     \
+                                       (char *)(& (___ett.member)) -                             \
+                                       (char *)(& (___ett)),                                     \
+                                       (char *)(& (___ett.type_member)) -                        \
+                                       (char *)(& (___ett)),                                     \
+                                       NULL, unified_type);                                      \
+    } while (0)
 
 /**
  * Add a automatically selectable type to a data descriptor
@@ -3251,15 +3336,15 @@ eet_data_descriptor_encode(Eet_Data_Descriptor *edd,
  * @see Eet_Data_Descriptor_Class
  */
 #define EET_DATA_DESCRIPTOR_ADD_VARIANT(edd, struct_type, name, member, type_member, unified_type) \
-   do { \
-      struct_type ___ett; \
-      eet_data_descriptor_element_add(edd, name, EET_T_UNKNOW, EET_G_VARIANT, \
-                                      (char *)(& (___ett.member)) - \
-                                      (char *)(& (___ett)), \
-                                      (char *)(& (___ett.type_member)) - \
-                                      (char *)(& (___ett)), \
-                                      NULL, unified_type); \
-   } while (0)
+  do {                                                                                             \
+       struct_type ___ett;                                                                         \
+       eet_data_descriptor_element_add(edd, name, EET_T_UNKNOW, EET_G_VARIANT,                     \
+                                       (char *)(& (___ett.member)) -                               \
+                                       (char *)(& (___ett)),                                       \
+                                       (char *)(& (___ett.type_member)) -                          \
+                                       (char *)(& (___ett)),                                       \
+                                       NULL, unified_type);                                        \
+    } while (0)
 
 /**
  * Add a mapping to a data descriptor that will be used by union, variant or inherited type
@@ -3272,14 +3357,14 @@ eet_data_descriptor_encode(Eet_Data_Descriptor *edd,
  * @see Eet_Data_Descriptor_Class
  */
 #define EET_DATA_DESCRIPTOR_ADD_MAPPING(unified_type, name, subtype) \
-   eet_data_descriptor_element_add(unified_type, \
-                                   name, \
-                                   EET_T_UNKNOW, \
-                                   EET_G_UNKNOWN, \
-                                   0, \
-                                   0, \
-                                   NULL, \
-                                   subtype)
+  eet_data_descriptor_element_add(unified_type,                      \
+                                  name,                              \
+                                  EET_T_UNKNOW,                      \
+                                  EET_G_UNKNOWN,                     \
+                                  0,                                 \
+                                  0,                                 \
+                                  NULL,                              \
+                                  subtype)
 
 /**
  * @defgroup Eet_Data_Cipher_Group Eet Data Serialization using A Ciphers
@@ -3321,10 +3406,39 @@ eet_data_descriptor_encode(Eet_Data_Descriptor *edd,
  * @ingroup Eet_Data_Cipher_Group
  */
 EAPI void *
-eet_data_read_cipher(Eet_File            *ef,
+eet_data_read_cipher(Eet_File *ef,
                      Eet_Data_Descriptor *edd,
-                     const char          *name,
-                     const char          *cipher_key);
+                     const char *name,
+                     const char *cipher_key);
+
+/**
+ * Read a data structure from an eet extended attribute and decodes it using a cipher.
+ * @param filename The file to extract the extended attribute from.
+ * @param attribute The attribute to get the data from.
+ * @param edd The data descriptor handle to use when decoding.
+ * @param cipher_key The key to use as cipher.
+ * @return A pointer to the decoded data structure.
+ *
+ * This function decodes a data structure stored in an eet extended attribute,
+ * returning a pointer to it if it decoded successfully, or NULL on failure.
+ * Eet can handle members being added or deleted from the data in
+ * storage and safely zero-fills unfilled members if they were not found
+ * in the data. It checks sizes and headers whenever it reads data, allowing
+ * the programmer to not worry about corrupt data.
+ *
+ * Once a data structure has been described by the programmer with the
+ * fields they wish to save or load, storing or retrieving a data structure
+ * from an eet file, from a chunk of memory or from an extended attribute
+ * is as simple as a single function call.
+ *
+ * @since 1.5.0
+ * @ingroup Eet_Data_Cipher_Group
+ */
+EAPI void *
+eet_data_xattr_cipher_get(const char *filename,
+                          const char *attribute,
+                          Eet_Data_Descriptor *edd,
+                          const char *cipher_key);
 
 /**
  * Write a data structure from memory and store in an eet file
@@ -3337,21 +3451,44 @@ eet_data_read_cipher(Eet_File            *ef,
  * @param compress Compression flags for storage.
  * @return bytes written on successful write, 0 on failure.
  *
- * This function is the reverse of eet_data_read(), saving a data structure
+ * This function is the reverse of eet_data_read_cipher(), saving a data structure
  * to an eet file.
  *
- * @see eet_data_write_cipher()
- *
  * @since 1.0.0
  * @ingroup Eet_Data_Cipher_Group
  */
 EAPI int
-eet_data_write_cipher(Eet_File            *ef,
+eet_data_write_cipher(Eet_File *ef,
                       Eet_Data_Descriptor *edd,
-                      const char          *name,
-                      const char          *cipher_key,
-                      const void          *data,
-                      int                  compress);
+                      const char *name,
+                      const char *cipher_key,
+                      const void *data,
+                      int compress);
+
+/**
+ * Write a data structure from memory and store in an eet extended attribute
+ * using a cipher.
+ * @param filename The file to write the extended attribute to.
+ * @param attribute The attribute to store the data to.
+ * @param edd The data descriptor to use when encoding.
+ * @param cipher_key The key to use as cipher.
+ * @param data A pointer to the data structure to ssave and encode.
+ * @param flags The policy to use when setting the data.
+ * @return EINA_TRUE on success, EINA_FALSE on failure.
+ *
+ * This function is the reverse of eet_data_xattr_cipher_get(), saving a data structure
+ * to an eet extended attribute.
+ *
+ * @since 1.5.0
+ * @ingroup Eet_Data_Cipher_Group
+ */
+EAPI Eina_Bool
+eet_data_xattr_cipher_set(const char *filename,
+                          const char *attribute,
+                          Eet_Data_Descriptor *edd,
+                          const char *cipher_key,
+                          const void *data,
+                          Eina_Xattr_Flags flags);
 
 /**
  * Dump an eet encoded data structure into ascii text using a cipher.
@@ -3432,8 +3569,8 @@ eet_data_text_dump_cipher(const void *data_in,
 EAPI void *
 eet_data_text_undump_cipher(const char *text,
                             const char *cipher_key,
-                            int         textlen,
-                            int        *size_ret);
+                            int textlen,
+                            int *size_ret);
 
 /**
  * Dump an eet encoded data structure from an eet file into ascii
@@ -3461,11 +3598,11 @@ eet_data_text_undump_cipher(const char *text,
  * @ingroup Eet_Data_Cipher_Group
  */
 EAPI int
-eet_data_dump_cipher(Eet_File    *ef,
-                     const char  *name,
-                     const char  *cipher_key,
+eet_data_dump_cipher(Eet_File *ef,
+                     const char *name,
+                     const char *cipher_key,
                      Eet_Dump_Callback dumpfunc,
-                     void        *dumpdata);
+                     void *dumpdata);
 
 /**
  * Take an ascii encoding from eet_data_dump() and re-encode in
@@ -3492,12 +3629,12 @@ eet_data_dump_cipher(Eet_File    *ef,
  * @ingroup Eet_Data_Cipher_Group
  */
 EAPI int
-eet_data_undump_cipher(Eet_File   *ef,
+eet_data_undump_cipher(Eet_File *ef,
                        const char *name,
                        const char *cipher_key,
                        const char *text,
-                       int         textlen,
-                       int         compress);
+                       int textlen,
+                       int compress);
 
 /**
  * Decode a data structure from an arbitrary location in memory
@@ -3530,9 +3667,9 @@ eet_data_undump_cipher(Eet_File   *ef,
  */
 EAPI void *
 eet_data_descriptor_decode_cipher(Eet_Data_Descriptor *edd,
-                                  const void          *data_in,
-                                  const char          *cipher_key,
-                                  int                  size_in);
+                                  const void *data_in,
+                                  const char *cipher_key,
+                                  int size_in);
 
 /**
  * Encode a data struct to memory and return that encoded data
@@ -3567,9 +3704,9 @@ eet_data_descriptor_decode_cipher(Eet_Data_Descriptor *edd,
  */
 EAPI void *
 eet_data_descriptor_encode_cipher(Eet_Data_Descriptor *edd,
-                                  const void          *data_in,
-                                  const char          *cipher_key,
-                                  int                 *size_ret);
+                                  const void *data_in,
+                                  const char *cipher_key,
+                                  int *size_ret);
 
 /**
  * @defgroup Eet_Node_Group Low-level Serialization Structures.
@@ -3584,13 +3721,13 @@ eet_data_descriptor_encode_cipher(Eet_Data_Descriptor *edd,
  * @typedef Eet_Node
  * Opaque handle to manage serialization node.
  */
-typedef struct _Eet_Node        Eet_Node;
+typedef struct _Eet_Node Eet_Node;
 
 /**
  * @typedef Eet_Node_Data
  * Contains an union that can fit any kind of node.
  */
-typedef struct _Eet_Node_Data   Eet_Node_Data;
+typedef struct _Eet_Node_Data Eet_Node_Data;
 
 /**
  * @struct _Eet_Node_Data
@@ -3599,17 +3736,17 @@ typedef struct _Eet_Node_Data   Eet_Node_Data;
 struct _Eet_Node_Data
 {
    union {
-      char                c;
-      short               s;
-      int                 i;
-      long long           l;
-      float               f;
-      double              d;
-      unsigned char       uc;
-      unsigned short      us;
-      unsigned int        ui;
-      unsigned long long  ul;
-      const char         *str;
+      char               c;
+      short              s;
+      int                i;
+      long long          l;
+      float              f;
+      double             d;
+      unsigned char      uc;
+      unsigned short     us;
+      unsigned int       ui;
+      unsigned long long ul;
+      const char        *str;
    } value;
 };
 
@@ -3622,8 +3759,8 @@ struct _Eet_Node_Data
  * @ingroup Eet_Node_Group
  */
 EAPI Eet_Node *
- eet_node_char_new(const char *name,
-                   char        c);
+eet_node_char_new(const char *name,
+                  char c);
 
 /**
  * TODO FIX ME
@@ -3631,7 +3768,7 @@ EAPI Eet_Node *
  */
 EAPI Eet_Node *
 eet_node_short_new(const char *name,
-                   short       s);
+                   short s);
 
 /**
  * TODO FIX ME
@@ -3639,7 +3776,7 @@ eet_node_short_new(const char *name,
  */
 EAPI Eet_Node *
 eet_node_int_new(const char *name,
-                 int         i);
+                 int i);
 
 /**
  * TODO FIX ME
@@ -3647,7 +3784,7 @@ eet_node_int_new(const char *name,
  */
 EAPI Eet_Node *
 eet_node_long_long_new(const char *name,
-                       long long   l);
+                       long long l);
 
 /**
  * TODO FIX ME
@@ -3655,7 +3792,7 @@ eet_node_long_long_new(const char *name,
  */
 EAPI Eet_Node *
 eet_node_float_new(const char *name,
-                   float       f);
+                   float f);
 
 /**
  * TODO FIX ME
@@ -3663,39 +3800,39 @@ eet_node_float_new(const char *name,
  */
 EAPI Eet_Node *
 eet_node_double_new(const char *name,
-                    double      d);
+                    double d);
 
 /**
  * TODO FIX ME
  * @ingroup Eet_Node_Group
  */
 EAPI Eet_Node *
-eet_node_unsigned_char_new(const char    *name,
-                           unsigned char  uc);
+eet_node_unsigned_char_new(const char *name,
+                           unsigned char uc);
 
 /**
  * TODO FIX ME
  * @ingroup Eet_Node_Group
  */
 EAPI Eet_Node *
-eet_node_unsigned_short_new(const char     *name,
-                            unsigned short  us);
+eet_node_unsigned_short_new(const char *name,
+                            unsigned short us);
 
 /**
  * TODO FIX ME
  * @ingroup Eet_Node_Group
  */
 EAPI Eet_Node *
-eet_node_unsigned_int_new(const char   *name,
-                          unsigned int  ui);
+eet_node_unsigned_int_new(const char *name,
+                          unsigned int ui);
 
 /**
  * TODO FIX ME
  * @ingroup Eet_Node_Group
  */
 EAPI Eet_Node *
-eet_node_unsigned_long_long_new(const char         *name,
-                                unsigned long long  l);
+eet_node_unsigned_long_long_new(const char *name,
+                                unsigned long long l);
 
 /**
  * TODO FIX ME
@@ -3726,7 +3863,7 @@ eet_node_null_new(const char *name);
  */
 EAPI Eet_Node *
 eet_node_list_new(const char *name,
-                  Eina_List  *nodes);
+                  Eina_List *nodes);
 
 /**
  * TODO FIX ME
@@ -3734,8 +3871,8 @@ eet_node_list_new(const char *name,
  */
 EAPI Eet_Node *
 eet_node_array_new(const char *name,
-                   int         count,
-                   Eina_List  *nodes);
+                   int count,
+                   Eina_List *nodes);
 
 /**
  * TODO FIX ME
@@ -3743,7 +3880,7 @@ eet_node_array_new(const char *name,
  */
 EAPI Eet_Node *
 eet_node_var_array_new(const char *name,
-                       Eina_List  *nodes);
+                       Eina_List *nodes);
 
 /**
  * TODO FIX ME
@@ -3752,7 +3889,7 @@ eet_node_var_array_new(const char *name,
 EAPI Eet_Node *
 eet_node_hash_new(const char *name,
                   const char *key,
-                  Eet_Node   *node);
+                  Eet_Node *node);
 
 /**
  * TODO FIX ME
@@ -3760,7 +3897,7 @@ eet_node_hash_new(const char *name,
  */
 EAPI Eet_Node *
 eet_node_struct_new(const char *name,
-                    Eina_List  *nodes);
+                    Eina_List *nodes);
 
 /**
  * TODO FIX ME
@@ -3768,7 +3905,7 @@ eet_node_struct_new(const char *name,
  */
 EAPI Eet_Node *
 eet_node_struct_child_new(const char *parent,
-                          Eet_Node   *child);
+                          Eet_Node *child);
 
 /**
  * @brief Get a node's child nodes
@@ -3804,38 +3941,38 @@ eet_node_parent_get(Eet_Node *node);
  * @ingroup Eet_Node_Group
  */
 EAPI void
-eet_node_list_append(Eet_Node   *parent,
+eet_node_list_append(Eet_Node *parent,
                      const char *name,
-                     Eet_Node   *child);
+                     Eet_Node *child);
 
 /**
  * TODO FIX ME
  * @ingroup Eet_Node_Group
  */
 EAPI void
-eet_node_struct_append(Eet_Node   *parent,
+eet_node_struct_append(Eet_Node *parent,
                        const char *name,
-                       Eet_Node   *child);
+                       Eet_Node *child);
 
 /**
  * TODO FIX ME
  * @ingroup Eet_Node_Group
  */
 EAPI void
-eet_node_hash_add(Eet_Node   *parent,
+eet_node_hash_add(Eet_Node *parent,
                   const char *name,
                   const char *key,
-                  Eet_Node   *child);
+                  Eet_Node *child);
 
 /**
  * TODO FIX ME
  * @ingroup Eet_Node_Group
  */
 EAPI void
-eet_node_dump(Eet_Node  *n,
-              int        dumplevel,
+eet_node_dump(Eet_Node *n,
+              int dumplevel,
               Eet_Dump_Callback dumpfunc,
-              void      *dumpdata);
+              void *dumpdata);
 
 /**
  * @brief Return the type of a node
@@ -3867,9 +4004,9 @@ eet_node_del(Eet_Node *n);
  * @ingroup Eet_Node_Group
  */
 EAPI void *
-eet_data_node_encode_cipher(Eet_Node   *node,
+eet_data_node_encode_cipher(Eet_Node *node,
                             const char *cipher_key,
-                            int        *size_ret);
+                            int *size_ret);
 
 /**
  * TODO FIX ME
@@ -3878,14 +4015,14 @@ eet_data_node_encode_cipher(Eet_Node   *node,
 EAPI Eet_Node *
 eet_data_node_decode_cipher(const void *data_in,
                             const char *cipher_key,
-                            int         size_in);
+                            int size_in);
 
 /**
  * TODO FIX ME
  * @ingroup Eet_Node_Group
  */
 EAPI Eet_Node *
-eet_data_node_read_cipher(Eet_File   *ef,
+eet_data_node_read_cipher(Eet_File *ef,
                           const char *name,
                           const char *cipher_key);
 
@@ -3894,11 +4031,11 @@ eet_data_node_read_cipher(Eet_File   *ef,
  * @ingroup Eet_Node_Group
  */
 EAPI int
-eet_data_node_write_cipher(Eet_File   *ef,
+eet_data_node_write_cipher(Eet_File *ef,
                            const char *name,
                            const char *cipher_key,
-                           Eet_Node   *node,
-                           int         compress);
+                           Eet_Node *node,
+                           int compress);
 
 /* EXPERIMENTAL: THIS API MAY CHANGE IN THE FUTURE, USE IT ONLY IF YOU KNOW WHAT YOU ARE DOING. */
 
@@ -3906,16 +4043,16 @@ eet_data_node_write_cipher(Eet_File   *ef,
  * @typedef Eet_Node_Walk
  * Describes how to walk trees of #Eet_Node.
  */
-typedef struct _Eet_Node_Walk   Eet_Node_Walk;
+typedef struct _Eet_Node_Walk Eet_Node_Walk;
 
-typedef void *(*Eet_Node_Walk_Struct_Alloc_Callback)(const char *type, void *user_data);
-typedef void  (*Eet_Node_Walk_Struct_Add_Callback)(void *parent, const char *name, void *child, void *user_data);
-typedef void *(*Eet_Node_Walk_Array_Callback)(Eina_Bool variable, const char *name, int count, void *user_data);
-typedef void  (*Eet_Node_Walk_Insert_Callback)(void *array, int index, void *child, void *user_data);
-typedef void *(*Eet_Node_Walk_List_Callback)(const char *name, void *user_data);
-typedef void  (*Eet_Node_Walk_Append_Callback)(void *list, void *child, void *user_data);
-typedef void *(*Eet_Node_Walk_Hash_Callback)(void *parent, const char *name, const char *key, void *value, void *user_data);
-typedef void *(*Eet_Node_Walk_Simple_Callback)(int type, Eet_Node_Data *data, void *user_data);
+typedef void *              (*Eet_Node_Walk_Struct_Alloc_Callback)(const char *type, void *user_data);
+typedef void                (*Eet_Node_Walk_Struct_Add_Callback)(void *parent, const char *name, void *child, void *user_data);
+typedef void *              (*Eet_Node_Walk_Array_Callback)(Eina_Bool variable, const char *name, int count, void *user_data);
+typedef void                (*Eet_Node_Walk_Insert_Callback)(void *array, int index, void *child, void *user_data);
+typedef void *              (*Eet_Node_Walk_List_Callback)(const char *name, void *user_data);
+typedef void                (*Eet_Node_Walk_Append_Callback)(void *list, void *child, void *user_data);
+typedef void *              (*Eet_Node_Walk_Hash_Callback)(void *parent, const char *name, const char *key, void *value, void *user_data);
+typedef void *              (*Eet_Node_Walk_Simple_Callback)(int type, Eet_Node_Data *data, void *user_data);
 
 /**
  * @struct _Eet_Node_Walk
@@ -3924,21 +4061,21 @@ typedef void *(*Eet_Node_Walk_Simple_Callback)(int type, Eet_Node_Data *data, vo
 struct _Eet_Node_Walk
 {
    Eet_Node_Walk_Struct_Alloc_Callback struct_alloc;
-   Eet_Node_Walk_Struct_Add_Callback struct_add;
-   Eet_Node_Walk_Array_Callback array;
-   Eet_Node_Walk_Insert_Callback insert;
-   Eet_Node_Walk_List_Callback list;
-   Eet_Node_Walk_Append_Callback append;
-   Eet_Node_Walk_Hash_Callback hash;
-   Eet_Node_Walk_Simple_Callback simple;
+   Eet_Node_Walk_Struct_Add_Callback   struct_add;
+   Eet_Node_Walk_Array_Callback        array;
+   Eet_Node_Walk_Insert_Callback       insert;
+   Eet_Node_Walk_List_Callback         list;
+   Eet_Node_Walk_Append_Callback       append;
+   Eet_Node_Walk_Hash_Callback         hash;
+   Eet_Node_Walk_Simple_Callback       simple;
 };
 
 EAPI void *
-eet_node_walk(void          *parent,
-              const char    *name,
-              Eet_Node      *root,
+eet_node_walk(void *parent,
+              const char *name,
+              Eet_Node *root,
               Eet_Node_Walk *cb,
-              void          *user_data);
+              void *user_data);
 
 /*******/
 
@@ -3955,7 +4092,7 @@ eet_node_walk(void          *parent,
  *
  * @ingroup Eet_Connection_Group
  */
-typedef struct _Eet_Connection   Eet_Connection;
+typedef struct _Eet_Connection Eet_Connection;
 
 /**
  * @typedef Eet_Read_Cb
@@ -3986,9 +4123,9 @@ typedef Eina_Bool Eet_Write_Cb (const void *data, size_t size, void *user_data);
  * @ingroup Eet_Connection_Group
  */
 EAPI Eet_Connection *
-eet_connection_new(Eet_Read_Cb  *eet_read_cb,
+eet_connection_new(Eet_Read_Cb *eet_read_cb,
                    Eet_Write_Cb *eet_write_cb,
-                   const void   *user_data);
+                   const void *user_data);
 
 /**
  * Process a raw packet received over the link
@@ -4006,8 +4143,8 @@ eet_connection_new(Eet_Read_Cb  *eet_read_cb,
  */
 EAPI int
 eet_connection_received(Eet_Connection *conn,
-                        const void     *data,
-                        size_t          size);
+                        const void *data,
+                        size_t size);
 
 /**
  * Convert a complex structure and prepare it to be send.
@@ -4027,10 +4164,10 @@ eet_connection_received(Eet_Connection *conn,
  * @ingroup Eet_Connection_Group
  */
 EAPI Eina_Bool
-eet_connection_send(Eet_Connection      *conn,
+eet_connection_send(Eet_Connection *conn,
                     Eet_Data_Descriptor *edd,
-                    const void          *data_in,
-                    const char          *cipher_key);
+                    const void *data_in,
+                    const char *cipher_key);
 
 /**
  * Convert a Eet_Node tree and prepare it to be send.
@@ -4050,8 +4187,8 @@ eet_connection_send(Eet_Connection      *conn,
  */
 EAPI Eina_Bool
 eet_connection_node_send(Eet_Connection *conn,
-                         Eet_Node       *node,
-                         const char     *cipher_key);
+                         Eet_Node *node,
+                         const char *cipher_key);
 
 /**
  * Close a connection and lost its track.
@@ -4064,7 +4201,7 @@ eet_connection_node_send(Eet_Connection *conn,
  */
 EAPI void *
 eet_connection_close(Eet_Connection *conn,
-                     Eina_Bool      *on_going);
+                     Eina_Bool *on_going);
 
 /***************************************************************************/