X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/1cded9108ca388be764e0ac32118dca6df540e86..289dcaa6f45429b0c68e1490743b9d73d698678e:/emufs/b_plus.h?ds=sidebyside diff --git a/emufs/b_plus.h b/emufs/b_plus.h index 7442eba..076f2b1 100644 --- a/emufs/b_plus.h +++ b/emufs/b_plus.h @@ -4,7 +4,7 @@ #include #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 * de nodo con el que se encadena el actual. (Lista de nodos a nivel hoja. Sequence Set). @@ -19,11 +19,11 @@ typedef struct _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; +typedef struct nodo_b_plus { int nivel; /** Nivel del nodo */ int cant_claves; /** Cantidad de claves en el nodo */ int *claves; /** Claves del nodo */ @@ -37,6 +37,7 @@ 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