+/** Completa una estructura del tipo EMUFS_Estadisticas con las estadísticas del
+ * archivo de datos, espacio libre total, cantidad de registros, cantidad de bloques,
+ * tamaño del archivo en bytes, relaciones entre tamaños y espacios libres, etc.
+ * \param emu Esructura para manejar los archivos.
+ */
+EMUFS_Estadisticas emufs_tipo3_leer_estadisticas(EMUFS *emu);
+
+/** Lee un registro con su informacion de control
+ * \param emu Esructura para manejar los archivos.
+ * \param ID Id del registro a leer.
+ * \param reg_size Tamaño del registro.
+ * \param err Codigo de error devuelto en caso de falla.
+ */
+void* emufs_tipo3_leer_registro_raw(EMUFS *emu, EMUFS_REG_ID reg_id, EMUFS_REG_SIZE *reg_size, int *err);
+
+/** Elimina los espacios libres que hay en el archivo
+ * \param emu Esructura para manejar los archivos.
+ */
+void emufs_tipo3_compactar(EMUFS *emu);
+
+/** Lee un bloque, el anterior y el siguiente
+ * \param emu Esructura para manejar los archivos.
+ * \param block_id Id del bloque a leer.
+ * \param actual Cadena de datos que almacena el bloque indicado por \c block_id.
+ * \param anterior Cadena de datos que almacena el bloque anterior al \c actual.
+ * \param siguiente Cadena de datos que almacena el bloque siguiente al \c actual.
+ * \param size1 Tamaño del bloque actual.
+ * \param size2 Tamaño del bloque anterior.
+ * \param size3 Tamaño del bloque siguiente.
+ */
+void emufs_tipo3_leer_bloque_raw(EMUFS *emu, EMUFS_BLOCK_ID block_id, char **actual, char **anterior, char **siguiente, EMUFS_BLOCK_SIZE *size1, EMUFS_BLOCK_SIZE *size2, EMUFS_BLOCK_SIZE *size3);
+
+/** Inserta un registro ordenado segun el Arbol B+ lo indique
+ * \param emu Esructura para manejar los archivos.
+ * \param ptr Cadena de datos contenedora del registro.
+ * \param ind Indice del archivo.
+ * \param err Codigo de error devuelto en caso de falla.
+ */
+int emufs_tipo3_insertar_ordenado(EMUFS *emu, void *ptr, INDICE *ind, int *err);