X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/51ed490d1caf11b5645abef4dd473e5a5b520856..7bef9a814dacda99e7bff6d2374b76a48bc13002:/emufs/b_plus.h?ds=sidebyside diff --git a/emufs/b_plus.h b/emufs/b_plus.h index e69de29..b498be6 100644 --- a/emufs/b_plus.h +++ b/emufs/b_plus.h @@ -0,0 +1,29 @@ +#ifndef _B_PLUS_H_ +#define _B_PLUS_H_ +#include +#include +#include "emufs.h" + +#define SIZE_B_PLUS_HEADER (sizeof(int)*3) + +/** 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). + */ +typedef struct nodo_b_plus { + int es_hoja; + int nivel; /** Nivel del nodo */ + int cant_claves; /** Cantidad de claves en el nodo */ + int *claves; /** Claves del nodo */ + int *hijos; /** Para nodo interno, ref nodos sucesores. Nodo hoja, ref a nro bloque en .dat */ +} NODO_B_PLUS; + + +/** TODO */ +int emufs_b_plus_crear(INDICE *idx); +int emufs_b_plus_insertar(); +int emufs_b_plus_eliminar(); +int emufs_b_plus_buscar(); +int emufs_b_plus_destuir(); + + +#endif