]> git.llucax.com Git - z.facultad/75.06/jacu.git/blobdiff - src/zerogrouping/zerogrouping.h
Hack feo para que no se cuelgue en el fopen de fsize() con archivos multivolumen...
[z.facultad/75.06/jacu.git] / src / zerogrouping / zerogrouping.h
index 2153bbf87ffe4b449ee1cc83163e7017153b428c..74e088ac0b8608338e6f03573de021a32b0a8408 100644 (file)
@@ -22,7 +22,7 @@
  * Autores: Leandro Lucarella <llucare@fi.uba.ar>
  *----------------------------------------------------------------------------
  *
  * Autores: Leandro Lucarella <llucare@fi.uba.ar>
  *----------------------------------------------------------------------------
  *
- * $Id: vfile.h 742 2004-06-20 22:34:13Z llucare $
+ * $Id$
  *
  */
 
  *
  */
 
  *
  */
 
  *
  */
 
+/** Estado del agrupador de ceros. */
+typedef struct
+{
+       unsigned char count; /**< Cantidad de ceros acumulados. */
+       int  in_zero;        /**< Indica si está en una serie de ceros. */
+}
+ZG;
+
+/** Inicializa un agrupador de ceros. */
+void zg_init(ZG* zg);
+
 /** Agrupa varios ceros seguis en 2 bytes, el primero es cero y el segundo la
  * cantidad. FIXME */
 /** Agrupa varios ceros seguis en 2 bytes, el primero es cero y el segundo la
  * cantidad. FIXME */
-size_t zg_group(char* dst, char *src, size_t size);
+size_t zg_group(ZG* zg, unsigned char *dst, unsigned char src);
+
+/** Termina de obtener ceros agrupados por zg_group(), si los hubiera.
+ * FIXME */
+size_t zg_group_finish(ZG* zg, unsigned char *dst);
 
 /** Vuelve al original. FIXME */
 
 /** Vuelve al original. FIXME */
-size_t zg_ungroup(char *buffer, size_t size);
+size_t zg_ungroup(ZG* zg, unsigned char *dst, unsigned char src);
 
 #endif /* _JACU_ZG_H_ */
 
 
 #endif /* _JACU_ZG_H_ */