version 1.4, 2008/12/07 07:46:05 |
version 1.5, 2008/12/31 05:37:24 |
|
|
num_pools = np; |
num_pools = np; |
} |
} |
|
|
|
num_disp = num_pools; |
|
|
for (i = 0; i < num_pools; i++) { |
for (i = 0; i < num_pools; i++) { |
mib[0] = CTL_KERN; |
mib[0] = CTL_KERN; |
mib[1] = KERN_POOL; |
mib[1] = KERN_POOL; |
|
|
mib[3] = i + 1; |
mib[3] = i + 1; |
size = sizeof(struct pool); |
size = sizeof(struct pool); |
if (sysctl(mib, 4, &pools[i].pool, &size, NULL, 0) < 0) { |
if (sysctl(mib, 4, &pools[i].pool, &size, NULL, 0) < 0) { |
error("sysctl(pool): %s", strerror(errno)); |
memset(&pools[i], 0, sizeof(pools[i])); |
break; |
num_disp--; |
|
continue; |
} |
} |
mib[2] = KERN_POOL_NAME; |
mib[2] = KERN_POOL_NAME; |
size = sizeof(pools[i].name); |
size = sizeof(pools[i].name); |
if (sysctl(mib, 4, &pools[i].name, &size, NULL, 0) < 0) { |
if (sysctl(mib, 4, &pools[i].name, &size, NULL, 0) < 0) { |
error("sysctl(pool_name): %s", strerror(errno)); |
snprintf(pools[i].name, size, "#%d#", mib[3]); |
break; |
|
} |
} |
} |
} |
|
|
|
|
void |
void |
print_pool(void) |
print_pool(void) |
{ |
{ |
int n, count = 0; |
int i, n, count = 0; |
|
|
if (pools == NULL) |
if (pools == NULL) |
return; |
return; |
|
|
for (n = dispstart; n < num_disp; n++) { |
for (n = i = 0; i < num_pools; i++) { |
showpool(n); |
if (pools[i].name[0] == 0) |
|
continue; |
|
if (n++ < dispstart) |
|
continue; |
|
showpool(i); |
count++; |
count++; |
if (maxprint > 0 && count >= maxprint) |
if (maxprint > 0 && count >= maxprint) |
break; |
break; |