version 1.19, 2002/06/28 22:40:53 |
version 1.20, 2002/08/04 00:51:01 |
|
|
|
|
/* Kernel pointers: nlistf and memf defined in calling program. */ |
/* Kernel pointers: nlistf and memf defined in calling program. */ |
#if !defined(NOKVM) |
#if !defined(NOKVM) |
static kvm_t *kd = NULL; |
extern kvm_t *kd; |
#endif |
#endif |
extern char *nlistf; |
extern char *nlistf; |
extern char *memf; |
extern char *memf; |
|
|
|
|
if (nlistf != NULL || memf != NULL) { |
if (nlistf != NULL || memf != NULL) { |
#if !defined(NOKVM) |
#if !defined(NOKVM) |
|
if (memf != NULL) { |
|
setegid(getgid()); |
|
setgid(getgid()); |
|
} |
|
|
/* Open the kernel. */ |
/* Open the kernel. */ |
if ((kd = kvm_openfiles(nlistf, memf, NULL, O_RDONLY, |
if (kd == NULL && |
|
(kd = kvm_openfiles(nlistf, memf, NULL, O_RDONLY, |
errbuf)) == NULL) |
errbuf)) == NULL) |
errx(1, "kvm_openfiles: %s", errbuf); |
errx(1, "kvm_openfiles: %s", errbuf); |
|
|
|
setegid(getgid()); |
|
setgid(getgid()); |
|
|
/* Obtain the namelist symbols from the kernel. */ |
/* Obtain the namelist symbols from the kernel. */ |
if (kvm_nlist(kd, namelist)) |
if (kvm_nlist(kd, namelist)) |