version 1.37, 2013/01/16 10:53:14 |
version 1.38, 2013/03/20 15:23:37 |
|
|
mib[5] = 0; |
mib[5] = 0; |
mib[6] = tableid; |
mib[6] = tableid; |
mcnt = 7; |
mcnt = 7; |
|
while (1) { |
if (sysctl(mib, mcnt, NULL, &needed, NULL, 0) < 0) |
if (sysctl(mib, mcnt, NULL, &needed, NULL, 0) == -1) |
err(1, "route-sysctl-estimate"); |
err(1, "route-sysctl-estimate"); |
if (needed > 0) { |
if (needed == 0) |
if ((buf = malloc(needed)) == 0) |
break; |
|
if ((buf = realloc(buf, needed)) == NULL) |
err(1, NULL); |
err(1, NULL); |
if (sysctl(mib, mcnt, buf, &needed, NULL, 0) < 0) |
if (sysctl(mib, mcnt, buf, &needed, NULL, 0) == -1) { |
|
if (errno == ENOMEM) |
|
continue; |
err(1, "sysctl of routing table"); |
err(1, "sysctl of routing table"); |
|
} |
lim = buf + needed; |
lim = buf + needed; |
|
break; |
} |
} |
|
|
printf("Routing tables\n"); |
printf("Routing tables\n"); |
|
|
mib[2] = PF_KEY_V2; |
mib[2] = PF_KEY_V2; |
mib[3] = NET_KEY_SPD_DUMP; |
mib[3] = NET_KEY_SPD_DUMP; |
mib[4] = mib[5] = 0; |
mib[4] = mib[5] = 0; |
|
while (1) { |
if (sysctl(mib, 4, NULL, &needed, NULL, 0) == -1) { |
if (sysctl(mib, 4, NULL, &needed, NULL, 0) == -1) { |
if (errno == ENOPROTOOPT) |
if (errno == ENOPROTOOPT) |
return; |
return; |
err(1, "spd-sysctl-estimate"); |
err(1, "spd-sysctl-estimate"); |
} |
} |
if (needed > 0) { |
if (needed == 0) |
if ((buf = malloc(needed)) == 0) |
break; |
|
if ((buf = realloc(buf, needed)) == NULL) |
err(1, NULL); |
err(1, NULL); |
if (sysctl(mib, 4, buf, &needed, NULL, 0) == -1) |
if (sysctl(mib, 4, buf, &needed, NULL, 0) == -1) { |
|
if (errno == ENOMEM) |
|
continue; |
err(1,"sysctl of spd"); |
err(1,"sysctl of spd"); |
|
} |
lim = buf + needed; |
lim = buf + needed; |
|
break; |
} |
} |
|
|
if (buf) { |
if (buf) { |