diff options
Diffstat (limited to 'filter/filter.c')
-rw-r--r-- | filter/filter.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/filter/filter.c b/filter/filter.c index b4e0105..540ce13 100644 --- a/filter/filter.c +++ b/filter/filter.c @@ -260,6 +260,16 @@ rta_cow(void) * * Interpret given tree of filter instructions. This is core function * of filter system and does all the hard work. + * + * Each instruction has 4 fields: code (which is instruction code), + * aux (which is extension to instruction code, typically type), + * arg1 and arg2 - arguments. Depending on instruction, arguments + * are either integers, or pointers to instruction trees. Common + * instructions like +, that have two expressions as arguments use + * TWOARGS macro to get both of them evaluated. + * + * &f_val structures are copied around, so there are no problems with + * memory managment. */ static struct f_val interpret(struct f_inst *what) |