]> git.llucax.com Git - z.facultad/75.06/emufs.git/blobdiff - emufs/external_sort/extsort.h
Se termina el external sort. La interfaz ya es completamente genérica y pasó un
[z.facultad/75.06/emufs.git] / emufs / external_sort / extsort.h
index 8ca30b4415ed05216d3468f1244f49a1a9a7d38c..c1e8dedf8a0688a7307ecd8ef0d352333d4acc7a 100644 (file)
 #include "base.h"
 #include <stdlib.h>
 
-int extsort(const char* filename, size_t buf_size, size_t reg_size, CMP_FUNC cmp);
+/** Ordena un archivo utilizando un método de ordenamiento externo.
+ *
+ * \param filename Nombre del archivo a ordenar.
+ * \param buf_size Tamaño del buffer en bytes.
+ * \param reg_size Tamaño de un registro en bytes.
+ * \param cmp Función de ordenamiento a utilizar (ver base.h).
+ * \return 0 si hubo un error.
+ * \warning Si se usa el archivo original para almacenar los resultados, si
+ *          llegara a haber un problema en el ordenamiento se puede perder el
+ *          archivo original.
+ */
+int extsort(const char* filename, size_t buf_size, size_t reg_size,
+               CMP_FUNC cmp);
+
+/** Ordena un archivo utilizando un método de ordenamiento externo en otro.
+ *
+ * \param filename Nombre del archivo a ordenar.
+ * \param new_filename Nombre del archivo donde dejar el resultado, si es NULL,
+ *                     se utiliza el archivo original.
+ * \param buf_size Tamaño del buffer en bytes.
+ * \param reg_size Tamaño de un registro en bytes.
+ * \param cmp Función de ordenamiento a utilizar (ver base.h).
+ * \return 0 si hubo un error.
+ * \warning Si se usa el archivo original para almacenar los resultados, si
+ *          llegara a haber un problema en el ordenamiento se puede perder el
+ *          archivo original.
+ */
+int extsort_safe(const char* filename, const char* new_filename,
+               size_t buf_size, size_t reg_size, CMP_FUNC cmp);
 
 #endif /* _EXTSORT_EXTSORT_H_ */