Return to config.Y CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / bird / proto / pipe |
1.1 ! misho 1: /* ! 2: * BIRD -- Table-to-Table Protocol Configuration ! 3: * ! 4: * (c) 1999 Martin Mares <mj@ucw.cz> ! 5: * ! 6: * Can be freely distributed and used under the terms of the GNU GPL. ! 7: */ ! 8: ! 9: CF_HDR ! 10: ! 11: #include "proto/pipe/pipe.h" ! 12: ! 13: CF_DEFINES ! 14: ! 15: #define PIPE_CFG ((struct pipe_config *) this_proto) ! 16: ! 17: CF_DECLS ! 18: ! 19: CF_KEYWORDS(PIPE, PEER, TABLE, MODE, OPAQUE, TRANSPARENT) ! 20: ! 21: CF_GRAMMAR ! 22: ! 23: CF_ADDTO(proto, pipe_proto '}') ! 24: ! 25: pipe_proto_start: proto_start PIPE { ! 26: this_proto = proto_config_new(&proto_pipe, $1); ! 27: PIPE_CFG->mode = PIPE_TRANSPARENT; ! 28: } ! 29: ; ! 30: ! 31: pipe_proto: ! 32: pipe_proto_start proto_name '{' ! 33: | pipe_proto proto_item ';' ! 34: | pipe_proto PEER TABLE SYM ';' { ! 35: if ($4->class != SYM_TABLE) ! 36: cf_error("Routing table name expected"); ! 37: PIPE_CFG->peer = $4->def; ! 38: } ! 39: | pipe_proto MODE OPAQUE ';' { PIPE_CFG->mode = PIPE_OPAQUE; } ! 40: | pipe_proto MODE TRANSPARENT ';' { PIPE_CFG->mode = PIPE_TRANSPARENT; } ! 41: ; ! 42: ! 43: CF_CODE ! 44: ! 45: CF_END