X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Finclude%2Fpalacios%2Fvmm_multitree.h;h=1fab8a2f5fa0b31b8d47ef3c65d407e8232433f4;hb=0fedb532c5ca028b24b49fb370763006cbc9de51;hp=14f15e865730a67599c403069ef1312887b76e91;hpb=374b2d6d22a0e0dc6ed8d3d628e635ab935072e0;p=palacios-OLD.git diff --git a/palacios/include/palacios/vmm_multitree.h b/palacios/include/palacios/vmm_multitree.h index 14f15e8..1fab8a2 100644 --- a/palacios/include/palacios/vmm_multitree.h +++ b/palacios/include/palacios/vmm_multitree.h @@ -32,12 +32,11 @@ struct v3_mtree { char name[50]; - struct rb_node tree_node; - union { uint8_t flags; struct { uint8_t subtree : 1; + uint8_t rsvd : 7; } __attribute__((packed)); } __attribute__((packed)); @@ -50,7 +49,8 @@ struct v3_mtree { void * value; } __attribute__((packed)); -} __attribute__((packed)); + struct rb_node tree_node; +}; @@ -65,11 +65,16 @@ struct v3_mtree * v3_mtree_find_node(struct v3_mtree * root, char * name); struct v3_mtree * v3_mtree_find_subtree(struct v3_mtree * root, char * name); struct v3_mtree * v3_mtree_find_value(struct v3_mtree * root, char * name); + +struct v3_mtree * v3_mtree_first_child(struct v3_mtree * root); +struct v3_mtree * v3_mtree_next_node(struct v3_mtree * node); + void v3_mtree_free_tree(struct v3_mtree * root); void v3_mtree_free_node(struct v3_mtree * root, char * name); + #endif #endif