+/** @addtogroup msg_file_management
+ * \htmlonly <!-- DOXYGEN_NAVBAR_LABEL="Files" --> \endhtmlonly
+ * (#msg_file_t) and the functions for managing it.
+ *
+ * \see #msg_file_t
+ */
+
+/********************************* File **************************************/
+void __MSG_file_get_info(msg_file_t fd){
+ xbt_dynar_t info = simcall_file_get_info(fd->simdata->smx_file);
+ fd->info->content_type = xbt_dynar_pop_as(info, char *);
+ fd->info->storage_type = xbt_dynar_pop_as(info, char *);
+ fd->info->storageId = xbt_dynar_pop_as(info, char *);
+ fd->info->mount_point = xbt_dynar_pop_as(info, char *);
+ fd->info->size = xbt_dynar_pop_as(info, size_t);
+
+ xbt_dynar_free_container(&info);
+}
+/** \ingroup msg_file_management
+ * \brief Display information related to a file descriptor
+ *
+ * \param fd is a the file descriptor
+ */
+
+void MSG_file_dump (msg_file_t fd){
+// THROW_UNIMPLEMENTED;
+ /* Update the cached information first */
+ __MSG_file_get_info(fd);
+ XBT_INFO("File Descriptor information:\n\t\tFull name: '%s'"
+ "\n\t\tSize: %zu\n\t\tMount point: '%s'\n\t\tStorage Id: '%s'"
+ "\n\t\tStorage Type: '%s'\n\t\tContent Type: '%s'",
+ fd->fullname, fd->info->size, fd->info->mount_point, fd->info->storageId,
+ fd->info->storage_type, fd->info->content_type);
+}
+
+/** \ingroup msg_file_management
+ * \brief Read a file
+ *
+ * \param size of the file to read
+ * \param fd is a the file descriptor
+ * \return the number of bytes successfully read
+ */
+size_t MSG_file_read(size_t size, msg_file_t fd)
+{
+ return simcall_file_read(size, fd->simdata->smx_file);
+}
+
+/** \ingroup msg_file_management
+ * \brief Write into a file
+ *
+ * \param size of the file to write
+ * \param fd is a the file descriptor
+ * \return the number of bytes successfully write
+ */
+size_t MSG_file_write(size_t size, msg_file_t fd)