diff options
author | Pavel Machek <pavel@ucw.cz> | 2000-06-07 15:54:06 +0200 |
---|---|---|
committer | Pavel Machek <pavel@ucw.cz> | 2000-06-07 15:54:06 +0200 |
commit | 771ae456a5ff0e12379047b737da31b0be4059ea (patch) | |
tree | 287ee4dd7b826bb8aa9acbf8040ecb29d597c5e4 /filter/filter.c | |
parent | fa6c2405e2bab551245e1af7ed19b550b8bbef79 (diff) | |
download | bird-771ae456a5ff0e12379047b737da31b0be4059ea.tar bird-771ae456a5ff0e12379047b737da31b0be4059ea.zip |
Better progdocs for filters
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) |