20static int counter[50];
22static print_tree(NETSIM_ID r, NETSIM_ID b,
int l1,
int l2,
int c1,
int c2,FILE* fp)
24 fprintf(fp,
"%d,%d,%d,%d,%d,%d\n",
26 50 + 80 * c1, 50 + 80 * l1,
27 50 + 80 * c2, 50 + 80 * l2);
31void print_rpt(NETSIM_ID d, ptrPIM_GROUP group,
int level,
int count,FILE* fp)
33 UINT c = group->count;
34 fprintf(stderr,
"%d,%d,%d,%d\n", d, c, level, count);
37 NETSIM_ID* cid = calloc(c,
sizeof* cid);
38 NETSIM_ID* cin = calloc(c,
sizeof* cin);
41 for (i = 0; i < c; i++)
43 NETSIM_ID l = fn_NetSim_Stack_GetConnectedDevice(d,
47 print_tree(d, cid[i], level, level + 1, count, counter[level + 1], fp);
48 cin[i] = counter[level + 1];
52 for (i = 0; i < c; i++)
54 ptrPIM_GROUP g = pim_find_group(cid[i], group->groupAddress);
55 print_rpt(cid[i], g, level + 1, cin[i], fp);
59void print_RPT_Tree(NETSIM_ID rp, ptrPIM_GROUP group)
64 fprintf(stderr,
"\n");
65 memset(counter, 0, 50 *
sizeof* counter);
66 FILE* fp = fopen(
"points.txt",
"w");
67 print_rpt(rp, group, level, count,fp);