rules.m4 999 B

1234567891011121314151617181920212223242526
  1. #
  2. # $Id$
  3. #
  4. # (c) 2003 iptel.org
  5. #
  6. # Rules to process sip-router.cfg templates
  7. #
  8. #id generator, usage: gen_id(`name'))
  9. define(`gen_id', `ifdef(`$1',,`define(`$1', 0)')define(`$1',eval($1 + 1))')
  10. #declare enum constants, usage: declare(route, R_MAIN, R_NAT, ...) declare(route, R_REGISTER)
  11. define(`declare', `ifelse($#, 1, , `gen_id(`$1'_cnt) define(`$2', indir(`$1'_cnt)) ifelse($#, 2, ,`declare(`$1', shift(shift($@)))')')')
  12. define(`FROM_GW', `(_FROM_GW(1))')
  13. define(`_FROM_GW', `ifdef(`GW_IP_$1', `_FROM_GW(incr($1))(src_ip == GW_IP_$1)ifelse($1, 1, , ` || ')')')
  14. define(`TO_GW', `(@(_TO_GW(1))([;:].*)*)')
  15. define(`_TO_GW', `ifdef(`GW_IP_$1', `_TO_GW(incr($1))(patsubst(GW_IP_$1, `\.', `\\.'))ifelse($1, 1, , `|')')')
  16. define(`DIGEST_REALM', `SER_HOSTNAME')
  17. define(`SER_IP_REGEX', `patsubst(SER_IP, `\.', `\\.')')
  18. define(`SER_HOSTNAME_REGEX', `patsubst(SER_HOSTNAME, `\.', `\\.')')
  19. define(`SER_HOST_REGEX', `((SER_IP_REGEX)|(SER_HOSTNAME_REGEX))')
  20. define(`FROM_MYSELF', `(src_ip == SER_IP)')