]> git.llucax.com Git - z.facultad/75.06/emufs.git/blobdiff - emufs/external_sort/mergefile.h
Se separa el manejo de archivos temporales como un pool. Se agregan keywords del
[z.facultad/75.06/emufs.git] / emufs / external_sort / mergefile.h
index 1183d14f1b700fab1c3ceadff5617feda6c81c50..44c5fdd7b381629f7212b3ce79f11b35974cb2be 100644 (file)
 
 #include <stdio.h>
 
-#define MERGEFILE_TEMPLATE "sorted_chunk.%i"
-
 typedef struct
 {
        FILE* fp;
-       char* filename;
        int   next;
        int   more;
 }
 MERGEFILE;
 
-char* mergefile_makefilename(int i);
-
-MERGEFILE* mergefile_new(int i);
+MERGEFILE* mergefile_new();
 
 void mergefile_delete(MERGEFILE* mf);
 
-int mergefile_peek_next(MERGEFILE* mf);
+int mergefile_switch_to_input(MERGEFILE* mf);
+
+int mergefile_push(MERGEFILE* mf, int data);
+
+int mergefile_pop(MERGEFILE* mf);
 
-int mergefile_pop_next(MERGEFILE* mf);
+int mergefile_peek(MERGEFILE* mf);
 
 int mergefile_has_more(MERGEFILE* mf);