Index: trunk/src_plugins/ar_cpcb/ar_cpcb.c =================================================================== --- trunk/src_plugins/ar_cpcb/ar_cpcb.c (revision 32390) +++ trunk/src_plugins/ar_cpcb/ar_cpcb.c (revision 32391) @@ -79,7 +79,7 @@ htpp_entry_t *e; long id; - if (pcb_netmap_init(&dst->netmap, pcb) != 0) + if (pcb_netmap_init(&dst->netmap, pcb, 0) != 0) return -1; dst->maxnets = 0; Index: trunk/src_plugins/ar_extern/e_route-rnd.c =================================================================== --- trunk/src_plugins/ar_extern/e_route-rnd.c (revision 32390) +++ trunk/src_plugins/ar_extern/e_route-rnd.c (revision 32391) @@ -28,7 +28,7 @@ TODO("this should be in config") static const char *exe = "route-rnd"; -static int debug = 0; +static int debug = 1; static int rtrnd_route(pcb_board_t *pcb, ext_route_scope_t scope, const char *method, int argc, fgw_arg_t *argv) { Index: trunk/src_plugins/io_dsn/write.c =================================================================== --- trunk/src_plugins/io_dsn/write.c (revision 32390) +++ trunk/src_plugins/io_dsn/write.c (revision 32391) @@ -132,7 +132,7 @@ const char *s; int res = 0; - if (pcb_netmap_init(&wctx->nmap, wctx->pcb) != 0) { + if (pcb_netmap_init(&wctx->nmap, wctx->pcb, 0) != 0) { rnd_message(RND_MSG_ERROR, "Can not set up net map\n"); return -1; } Index: trunk/src_plugins/io_hyp/write.c =================================================================== --- trunk/src_plugins/io_hyp/write.c (revision 32390) +++ trunk/src_plugins/io_hyp/write.c (revision 32391) @@ -495,7 +495,7 @@ htpp_entry_t *e; pcb_netmap_t map; - pcb_netmap_init(&map, wr->pcb); + pcb_netmap_init(&map, wr->pcb, 0); for (e = htpp_first(&map.n2o); e != NULL; e = htpp_next(&map.n2o, e)) { dyn_obj_t *o; pcb_net_t *net = e->key; Index: trunk/src_plugins/io_tedax/trouter.c =================================================================== --- trunk/src_plugins/io_tedax/trouter.c (revision 32390) +++ trunk/src_plugins/io_tedax/trouter.c (revision 32391) @@ -126,7 +126,7 @@ pcb_netmap_t nmap; static const char *stackupid = "board_stackup"; - if (pcb_netmap_init(&nmap, pcb) != 0) { + if (pcb_netmap_init(&nmap, pcb, PCB_NETMAPCTRL_RATTED) != 0) { rnd_message(RND_MSG_ERROR, "internal error: failed to map networks\n"); goto error; } Index: trunk/src_plugins/lib_netmap/netmap.c =================================================================== --- trunk/src_plugins/lib_netmap/netmap.c (revision 32390) +++ trunk/src_plugins/lib_netmap/netmap.c (revision 32391) @@ -120,7 +120,7 @@ return 0; } -int pcb_netmap_init(pcb_netmap_t *map, pcb_board_t *pcb) +int pcb_netmap_init(pcb_netmap_t *map, pcb_board_t *pcb, pcb_netmap_control_t how) { htpp_init(&map->o2n, ptrhash, ptrkeyeq); htpp_init(&map->n2o, ptrhash, ptrkeyeq); Index: trunk/src_plugins/lib_netmap/netmap.h =================================================================== --- trunk/src_plugins/lib_netmap/netmap.h (revision 32390) +++ trunk/src_plugins/lib_netmap/netmap.h (revision 32391) @@ -50,6 +50,10 @@ dyn_net_t *dyn_nets; } pcb_netmap_t; -int pcb_netmap_init(pcb_netmap_t *map, pcb_board_t *pcb); +typedef enum { /* bits */ + PCB_NETMAPCTRL_RATTED = 1 /* ignore nets that with disabled rats */ +} pcb_netmap_control_t; + +int pcb_netmap_init(pcb_netmap_t *map, pcb_board_t *pcb, pcb_netmap_control_t how); int pcb_netmap_uninit(pcb_netmap_t *map);