]> git.llucax.com Git - z.facultad/75.06/emufs.git/blobdiff - emufs/emufs.h
Bugfix en Tipo3, puto puto puto
[z.facultad/75.06/emufs.git] / emufs / emufs.h
index f9f7b85a9aa61351f6473114de8582423af3728a..66b4e79986d9a0c2db657bd2871bcb1bc06c82dc 100644 (file)
@@ -50,7 +50,9 @@
 typedef enum {
        T1, /**< Archivo de bloque parametrizado y registro variable. */
        T2, /**< Archivo sin bloques y registros variables. */
-       T3  /**< Archivo de bloque parametrizado y registro fijo. */
+       T3,     /**< Archivo de bloque parametrizado y registro fijo. */
+       T4, /**< Archivo de bloque parametrizado y registro variables secuencial indexado. */
+       T5  /**< Archivo de bloque parametrizado y registro fijo secuencial indexado. */
 } EMUFS_Tipo;
 
 /** Tipo de identificador de registro. */
@@ -121,9 +123,15 @@ struct _emu_fs_t {
        int (*borrar_registro)(struct _emu_fs_t*, CLAVE, INDICE_DATO); /**< Método para borrar un registro */
        EMUFS_Estadisticas (*leer_estadisticas)(struct _emu_fs_t *); /**< Método para obtener estádisticas sobre el archivo */
        void (*compactar)(struct _emu_fs_t *); /**< Método para compactar el archivo reorganizándolo físicamente */
+       B_PLUS_KEYBUCKET* (*obtener_claves_raw)(struct _emu_fs_t*, int); 
        char *nombre; /**< Nombre del archivo */
 
+       /* Lista de Indices */
        INDICE *indices;
+       /* Indice externo para utilizar con Facturas
+        * e indexar por NroArticulo
+        */
+       INDICE *externo;
 };
 
 /** Crea un archivo auxiliar. */
@@ -173,7 +181,7 @@ int ver_archivo_FS(EMUFS *emu);
 /** muestra estadisticas, para debug. */
 int debug_ver_estadisticas(EMUFS *emu);
 
-int emufs_agregar_indice(EMUFS *emu, char *nombre, INDICE_FUNCION funcion, INDICE_TIPO tipo, INDICE_TIPO_DATO tipo_dato,  unsigned int offset, unsigned int tam_bloque); 
+int emufs_agregar_indice(EMUFS *emu, char *nombre, INDICE_FUNCION funcion, INDICE_TIPO tipo, INDICE_TIPO_DATO tipo_dato,  unsigned int offset, unsigned int tam_bloque, int str_offset); 
 
 INDICE_DATO *emufs_buscar_registros(EMUFS *emu, char *indice, char *data, int *cant);