/* * tree.h - Component hierarchy * * Copyright 2012 by Werner Almesberger * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. */ #ifndef TREE_H #define TREE_H struct line { char *s; struct line *next; }; struct node { const char *name; const char *lib; /* NULL if intermediate node */ const struct name *names; /* canonical name and aliases of component */ int units; /* number of units; undefined if intermediate */ struct line *comment; /* NULL if intermediate node */ int indent; /* level of indentation (characters) */ struct node *parent; struct node *child; struct node *next; }; extern struct node *tree; void read_tree(FILE *file); void read_desc(FILE *file); void set_libs(struct node *node); void dump_tree(void); void dump_comp(void); #endif /* !TREE_H */