#include <stdlib.h>
#include "emufs.h"
-#define SIZE_B_PLUS_HEADER (sizeof(int)*3)
+#define SIZE_B_PLUS_HEADER (sizeof(int)*2)
/** Estructura que define un nodo B+. Para los nodos hojas, el ultimo valor de hijo, serĂ¡ el nro\r
* de nodo con el que se encadena el actual. (Lista de nodos a nivel hoja. Sequence Set).\r
*/
+
+typedef struct _indexspecs_ {
+ unsigned int tam_bloque;
+ unsigned int size_claves;
+ unsigned int size_hijos;
+ char *filename;
+} INDEXSPECS;
typedef struct _index_dat_ {
EMUFS_BLOCK_ID num_bloque;
+ EMUFS_BLOCK_ID num_nuevo_bloque;
CLAVE clave;
} INDEX_DAT;
-typedef struct nodo_b_plus {
- int es_hoja;\r
+typedef struct nodo_b_plus {\r
int nivel; /** Nivel del nodo */
int cant_claves; /** Cantidad de claves en el nodo */\r
int *claves; /** Claves del nodo */\r
/** TODO */
-int emufs_b_plus_crear(INDICE *idx);
-INDEX_DAT emufs_b_plus_insertar(CLAVE clave);
-INDEX_DAT emufs_b_plus_actualizar_nodo(CLAVE clave, EMUFS_BLOCK_ID num_bloque);
-
-int emufs_b_plus_eliminar(CLAVE clave);
+int emufs_b_plus_crear(INDEXSPECS *idx);
+int emufs_b_plus_get_bloque(INDEXSPECS *idx, INDEX_DAT *dataset);
+int emufs_b_plus_actualizar_nodo(INDEX_DAT *dataset);
int emufs_b_plus_buscar();
int emufs_b_plus_destuir();
-
+int b_plus_insertar_clave(INDEXSPECS *, INDEX_DAT *);
+NODO_B_PLUS *b_plus_leer_nodo(INDEXSPECS *idx, int num);
#endif