]> git.llucax.com Git - z.facultad/75.06/jacu.git/blobdiff - src/statichuff/statichuff.h
Safe upload, minimo cambio de nuevo al API, still working on decompression per chunk
[z.facultad/75.06/jacu.git] / src / statichuff / statichuff.h
index 08da37ed8566381655f4170208b5878b0752b437..5bc16452e8a832908b18dc1740b6be572beb22a5 100644 (file)
@@ -4,6 +4,7 @@
 
 #include <stdio.h>
 #include <unistd.h>
+#include "../vfile/vfile.h"
 
 typedef unsigned long int t_freq;
 
@@ -20,21 +21,22 @@ typedef struct t_code {
 } SHUFFCODE;
 
 typedef struct t_huff {
-       FILE *tmpfp; /* filepointer al temporal para un shuff_bychunk */
+       FILE *coderfp; /* filepointer usado en el coder de bychunk */
+       VFILE *decoderfp; /* filepointer usado en ambos decoders */
        char *sourcefile; /* Nombre del archivo a comprimir */
        char *targetfile; /* Nombre del archivo comprimido */
+       long volsize; /* Tamanio de volumen para multivol */
+       char preloadfreq; /* 1 Freqtable preloaded (bychunk | canonico) - 0 byfile */
        t_freq *freqtable; /* Tabla de frecuencias */
        t_freq sumfreq; /* Frecuencia total acumulada */
-       long volsize; /* Tamanio de volumen para multivol */
-       char preloadfreq; /* 1 freqtable preloaded (bychunk|canonico) - 0 byfile */
-       
+       SHUFFNODE *codetree; /* Puntero al arbol de codigos prefijos */         
+       unsigned long int bytesleft; /* cuanto falta descomprimir en un bychunk */      
 } HUFF_STATE;
 
-HUFF_STATE *shuff_init_static_byfile(char *inputfile, char *outputfile, long volsize);
-HUFF_STATE *shuff_init_static_bychunk(char *outputfile, long volsize);
-void shuff_deinit_static_byfile(HUFF_STATE *fshuff);
-void shuff_deinit_static_bychunk(HUFF_STATE *cshuff);
+HUFF_STATE *shuff_init_encoder_byfile(char *inputfile, char *outputfile, long volsize);
+HUFF_STATE *shuff_init_encoder_bychunk(char *outputfile, long volsize);
+HUFF_STATE *shuff_init_decoder(char *inputfile, char *outputfile);
+void shuff_deinit_encoder(HUFF_STATE *shuff);
 int shuff_decode_file(HUFF_STATE *shuff);
-int shuff_encode_file(HUFF_STATE *shuff);
 
 #endif /* _STATICHUFF_H_ */