1
0
mirror of https://gitlab.labs.nic.cz/labs/bird.git synced 2024-05-11 16:54:54 +00:00

Moved documentation to top of file, where it belongs.

This commit is contained in:
Pavel Machek
2000-04-30 18:47:48 +00:00
parent c6c5626436
commit 2337ade754
3 changed files with 45 additions and 36 deletions

View File

@@ -7,6 +7,25 @@
*
*/
/**
* DOC: Filters
*
* Filter consists of tree of &f_inst structures, one structure per
* "instruction". Each &f_inst contains code, aux value which is
* usually type of data this instruction operates on, and two generic
* arguments (a1, a2). Some instructinos contain pointer(s) to other
* instructions in their (a1, a2) fields.
*
* Filters use structure &f_val for its variables. Each &f_val
* contains type and value. Types are constants prefixed with %T_. Few
* of types are special; %T_RETURN can be or-ed with type to indicate
* that return from function/from whole filter should be
* forced. Important thing about &f_val s is that they may be copied
* with simple =. That's fine for all currently defined types: strings
* are read-only (and therefore okay), paths are copied for each
* operation (okay too).
*/
#define LOCAL_DEBUG
#include "nest/bird.h"
@@ -624,21 +643,6 @@ i_same(struct f_inst *f1, struct f_inst *f2)
* @filter: pointer to filter to run
* @rte: pointer to pointer to rte being filtered. When route is modified, this is changed with rte_cow.
* @tmp_pool: all filter allocations go from this pool
*
* Filter consists of tree of &f_inst structures, one structure per
* "instruction". Each &f_inst contains code, aux value which is
* usually type of data this instruction operates on, and two generic
* arguments (a1, a2). Some instructinos contain pointer(s) to other
* instructions in their (a1, a2) fields.
*
* Filters use structure &f_val for its variables. Each &f_val
* contains type and value. Types are constants prefixed with %T_. Few
* of types are special; %T_RETURN can be or-ed with type to indicate
* that return from function/from whole filter should be
* forced. Important thing about &f_val s is that they may be copied
* with simple =. That's fine for all currently defined types: strings
* are read-only (and therefore okay), paths are copied for each
* operation (okay too).
*/
int
f_run(struct filter *filter, struct rte **rte, struct ea_list **tmp_attrs, struct linpool *tmp_pool, int flags)