| 297 | } |
| 298 | |
| 299 | static int |
| 300 | kread_symbol(kvm_t *kvm, int index, void *address, size_t size, |
| 301 | size_t offset) |
| 302 | { |
| 303 | ssize_t ret; |
| 304 | |
| 305 | ret = kvm_read(kvm, namelist[index].n_value + offset, address, size); |
| 306 | if (ret < 0) |
| 307 | return (MEMSTAT_ERROR_KVM); |
| 308 | if ((size_t)ret != size) |
| 309 | return (MEMSTAT_ERROR_KVM_SHORTREAD); |
| 310 | return (0); |
| 311 | } |
| 312 | |
| 313 | /* |
| 314 | * memstat_kvm_uma() is similar to memstat_sysctl_uma(), only it extracts |