]> git.llucax.com Git - z.facultad/75.06/jacu.git/blobdiff - src/statichuff/statichuff.h
Se quita repeticion de pagesize en cada bloque comprimido, grabandose una sola vez...
[z.facultad/75.06/jacu.git] / src / statichuff / statichuff.h
index 3d80401ec32f07cfde3711f7f3a70b1649452a01..97e8f4cc2026c2488397066201c6649c66993ed5 100644 (file)
@@ -21,12 +21,13 @@ typedef struct t_code {
 } SHUFFCODE;
 
 typedef struct t_huff {
 } SHUFFCODE;
 
 typedef struct t_huff {
-       FILE *coderfp; /* filepointer usado en el coder de bychunk */
-       VFILE *decoderfp; /* filepointer usado en ambos decoders */
+       FILE *coderfp; /* fpointer usado en el coder de bychunk para el temp */
+       VFILE *decoderfp; /* fpointer al archivo a descomrimir */
        char *sourcefile; /* Nombre del archivo a comprimir */
        char *targetfile; /* Nombre del archivo comprimido */
        long volsize; /* Tamanio de volumen para multivol */
        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 */
+       char bychunk; /* 0 works byfile, 1 works bychunk */
+       char canonic; /* 1 Huffman Canonico con preloaded freqtable */
        t_freq *freqtable; /* Tabla de frecuencias */
        t_freq sumfreq; /* Frecuencia total acumulada */
        SHUFFNODE *codetree; /* Puntero al arbol de codigos prefijos */         
        t_freq *freqtable; /* Tabla de frecuencias */
        t_freq sumfreq; /* Frecuencia total acumulada */
        SHUFFNODE *codetree; /* Puntero al arbol de codigos prefijos */         
@@ -43,5 +44,9 @@ void shuff_deinit_encoder(HUFF_STATE *shuff);
 void shuff_deinit_decoder(HUFF_STATE *shuff);
 int shuff_encode_file(HUFF_STATE *shuff);
 int shuff_decode_file(HUFF_STATE *shuff);
 void shuff_deinit_decoder(HUFF_STATE *shuff);
 int shuff_encode_file(HUFF_STATE *shuff);
 int shuff_decode_file(HUFF_STATE *shuff);
+int shuff_scanfreq_chunk(HUFF_STATE *chunkshuff, char* chunk, int chunksize);
+int shuff_decode_chunk(HUFF_STATE *shuff, char *chunk, int chunksize, int *decodedbytes);
+int shuff_savemodel(HUFF_STATE *shuff);
+int shuff_loadmodel(HUFF_STATE *shuff, char *modelfile);
 
 #endif /* _STATICHUFF_H_ */
 
 #endif /* _STATICHUFF_H_ */