server->machine is now a pointer, so propagate the change from . to ->.
This commit is contained in:
@@ -53,14 +53,14 @@ _glibtop_init_cpu_s (glibtop *server)
|
||||
void
|
||||
glibtop_get_cpu_s (glibtop *server, glibtop_cpu *buf)
|
||||
{
|
||||
kstat_ctl_t * const kc = server->machine.kc;
|
||||
kstat_ctl_t * const kc = server->machine->kc;
|
||||
cpu_stat_t cpu_stat;
|
||||
processorid_t cpu;
|
||||
int ncpu, found;
|
||||
|
||||
memset (buf, 0, sizeof (glibtop_cpu));
|
||||
|
||||
buf->frequency = server->machine.ticks;
|
||||
buf->frequency = server->machine->ticks;
|
||||
buf->flags = _glibtop_sysdeps_cpu_freq;
|
||||
|
||||
if(!kc)
|
||||
@@ -77,7 +77,7 @@ glibtop_get_cpu_s (glibtop *server, glibtop_cpu *buf)
|
||||
|
||||
for (cpu = 0, found = 0; cpu < GLIBTOP_NCPU && found != ncpu; cpu++)
|
||||
{
|
||||
kstat_t * const ksp = server->machine.cpu_stat_kstat [cpu];
|
||||
kstat_t * const ksp = server->machine->cpu_stat_kstat [cpu];
|
||||
if (!ksp) continue;;
|
||||
|
||||
++found;
|
||||
|
@@ -25,11 +25,11 @@
|
||||
G_BEGIN_DECLS
|
||||
|
||||
static inline void glibtop_suid_enter (glibtop *server) {
|
||||
setreuid (server->machine.uid, server->machine.euid);
|
||||
setreuid (server->machine->uid, server->machine->euid);
|
||||
};
|
||||
|
||||
static inline void glibtop_suid_leave (glibtop *server) {
|
||||
if (setreuid (server->machine.euid, server->machine.uid))
|
||||
if (setreuid (server->machine->euid, server->machine->uid))
|
||||
_exit (1);
|
||||
};
|
||||
|
||||
|
@@ -62,7 +62,7 @@ glibtop_get_loadavg_s (glibtop *server, glibtop_loadavg *buf)
|
||||
return;
|
||||
|
||||
#else
|
||||
if(!(kc = server->machine.kc))
|
||||
if(!(kc = server->machine->kc))
|
||||
return;
|
||||
|
||||
switch(kstat_chain_update(kc))
|
||||
@@ -72,7 +72,7 @@ glibtop_get_loadavg_s (glibtop *server, glibtop_loadavg *buf)
|
||||
default: glibtop_get_kstats(server);
|
||||
}
|
||||
|
||||
if(!(ksp = server->machine.system))
|
||||
if(!(ksp = server->machine->system))
|
||||
return;
|
||||
|
||||
if(kstat_read(kc, ksp, NULL) < 0)
|
||||
|
@@ -47,12 +47,12 @@ _glibtop_init_mem_s (glibtop *server)
|
||||
void
|
||||
glibtop_get_mem_s (glibtop *server, glibtop_mem *buf)
|
||||
{
|
||||
kstat_ctl_t * const kc = server->machine.kc;
|
||||
kstat_ctl_t * const kc = server->machine->kc;
|
||||
kstat_t *ksp;
|
||||
kstat_named_t *kn;
|
||||
|
||||
#undef PAGESIZE
|
||||
#define PAGESIZE (server->machine.pagesize)
|
||||
#define PAGESIZE (server->machine->pagesize)
|
||||
#define PAGESHIFT (PAGESIZE + 10)
|
||||
|
||||
#ifdef _LP64
|
||||
@@ -78,7 +78,7 @@ glibtop_get_mem_s (glibtop *server, glibtop_mem *buf)
|
||||
default: glibtop_get_kstats(server);
|
||||
}
|
||||
|
||||
if((ksp = server->machine.syspages) && kstat_read(kc, ksp, NULL) >= 0)
|
||||
if((ksp = server->machine->syspages) && kstat_read(kc, ksp, NULL) >= 0)
|
||||
{
|
||||
kn = kstat_data_lookup(ksp, "pagesfree");
|
||||
if(kn)
|
||||
@@ -99,7 +99,7 @@ glibtop_get_mem_s (glibtop *server, glibtop_mem *buf)
|
||||
|
||||
/* Bunyip module provides data in multiples of system page size */
|
||||
|
||||
if((ksp = server->machine.bunyip) && kstat_read(kc, ksp, NULL) >= 0)
|
||||
if((ksp = server->machine->bunyip) && kstat_read(kc, ksp, NULL) >= 0)
|
||||
{
|
||||
kn = kstat_data_lookup(ksp, "pages_exec");
|
||||
if(kn)
|
||||
|
@@ -48,7 +48,7 @@ _glibtop_init_msg_limits_p (glibtop *server)
|
||||
{
|
||||
#if GLIBTOP_SOLARIS_RELEASE < 51000
|
||||
|
||||
kvm_t *kd = server->machine.kd;
|
||||
kvm_t *kd = server->machine->kd;
|
||||
|
||||
if(kd && !kvm_nlist(kd, nlst))
|
||||
server->sysdeps.msg_limits = _glibtop_sysdeps_msg_limits;
|
||||
@@ -64,7 +64,7 @@ glibtop_get_msg_limits_p (glibtop *server, glibtop_msg_limits *buf)
|
||||
{
|
||||
#if GLIBTOP_SOLARIS_RELEASE < 51000
|
||||
|
||||
kvm_t *kd = server->machine.kd;
|
||||
kvm_t *kd = server->machine->kd;
|
||||
glibtop_msg_limits minfo;
|
||||
|
||||
|
||||
|
@@ -97,7 +97,7 @@ solaris_stats(glibtop *server,
|
||||
char *name = interface;
|
||||
char *module;
|
||||
char *ptr;
|
||||
kstat_ctl_t * const kctl = server->machine.kc;
|
||||
kstat_ctl_t * const kctl = server->machine->kc;
|
||||
kstat_t *ksp;
|
||||
kstat_named_t *kdata;
|
||||
int have_bytes = 1;
|
||||
|
@@ -40,7 +40,7 @@
|
||||
void
|
||||
glibtop_get_kstats(glibtop *server)
|
||||
{
|
||||
kstat_ctl_t *kc = server->machine.kc;
|
||||
kstat_ctl_t *kc = server->machine->kc;
|
||||
kstat_t *ksp;
|
||||
int nproc_same, new_ncpu;
|
||||
|
||||
@@ -50,23 +50,23 @@ glibtop_get_kstats(glibtop *server)
|
||||
if(!kc)
|
||||
{
|
||||
server->ncpu = new_ncpu;
|
||||
server->machine.vminfo_kstat = NULL;
|
||||
server->machine.system = NULL;
|
||||
server->machine.syspages = NULL;
|
||||
server->machine.bunyip = NULL;
|
||||
server->machine->vminfo_kstat = NULL;
|
||||
server->machine->system = NULL;
|
||||
server->machine->syspages = NULL;
|
||||
server->machine->bunyip = NULL;
|
||||
return;
|
||||
}
|
||||
|
||||
do {
|
||||
|
||||
ksp = kstat_lookup(kc, "unix", -1, "vminfo");
|
||||
server->machine.vminfo_kstat = ksp;
|
||||
server->machine->vminfo_kstat = ksp;
|
||||
if(ksp)
|
||||
{
|
||||
kstat_read(kc, ksp, &server->machine.vminfo);
|
||||
kstat_read(kc, ksp, &server->machine->vminfo);
|
||||
/* Don't change snaptime if we only need to reinitialize kstats */
|
||||
if(!(server->machine.vminfo_snaptime))
|
||||
server->machine.vminfo_snaptime = ksp->ks_snaptime;
|
||||
if(!(server->machine->vminfo_snaptime))
|
||||
server->machine->vminfo_snaptime = ksp->ks_snaptime;
|
||||
}
|
||||
|
||||
/* We don't know why was kstat chain invalidated. It could have
|
||||
@@ -81,11 +81,11 @@ glibtop_get_kstats(glibtop *server)
|
||||
char cpu[20];
|
||||
|
||||
for(i = 0, checked = 0; i < GLIBTOP_NCPU || checked == new_ncpu; ++i)
|
||||
if(!server->machine.cpu_stat_kstat[i])
|
||||
if(!server->machine->cpu_stat_kstat[i])
|
||||
|
||||
{
|
||||
sprintf(cpu, "cpu_stat%d", i);
|
||||
if(!(server->machine.cpu_stat_kstat[i] =
|
||||
if(!(server->machine->cpu_stat_kstat[i] =
|
||||
kstat_lookup(kc, "cpu_stat", -1, cpu)))
|
||||
{
|
||||
nproc_same = 0;
|
||||
@@ -107,19 +107,19 @@ glibtop_get_kstats(glibtop *server)
|
||||
{
|
||||
if(p_online(p, P_STATUS) < 0)
|
||||
{
|
||||
server->machine.cpu_stat_kstat[p] = NULL;
|
||||
server->machine->cpu_stat_kstat[p] = NULL;
|
||||
continue;
|
||||
}
|
||||
sprintf(cpu, "cpu_stat%d", (int)p);
|
||||
server->machine.cpu_stat_kstat[p] =
|
||||
server->machine->cpu_stat_kstat[p] =
|
||||
kstat_lookup(kc, "cpu_stat", -1, cpu);
|
||||
++found;
|
||||
}
|
||||
}
|
||||
|
||||
server->machine.system = kstat_lookup(kc, "unix", -1, "system_misc");
|
||||
server->machine.syspages = kstat_lookup(kc, "unix", -1, "system_pages");
|
||||
server->machine.bunyip = kstat_lookup(kc, "bunyip", -1, "mempages");
|
||||
server->machine->system = kstat_lookup(kc, "unix", -1, "system_misc");
|
||||
server->machine->syspages = kstat_lookup(kc, "unix", -1, "system_pages");
|
||||
server->machine->bunyip = kstat_lookup(kc, "bunyip", -1, "mempages");
|
||||
|
||||
} while(kstat_chain_update(kc) > 0 &&
|
||||
(new_ncpu = sysconf(_SC_NPROCESSORS_CONF)));
|
||||
@@ -142,18 +142,18 @@ glibtop_open_s (glibtop *server, const char *program_name,
|
||||
|
||||
page = sysconf(_SC_PAGESIZE) >> 10;
|
||||
for(i = 0; page; ++i, page >>= 1);
|
||||
server->machine.pagesize = i - 1;
|
||||
server->machine.ticks = sysconf(_SC_CLK_TCK);
|
||||
if(server->machine.kc)
|
||||
kstat_close(server->machine.kc);
|
||||
server->machine.kc = kc = kstat_open ();
|
||||
server->machine->pagesize = i - 1;
|
||||
server->machine->ticks = sysconf(_SC_CLK_TCK);
|
||||
if(server->machine->kc)
|
||||
kstat_close(server->machine->kc);
|
||||
server->machine->kc = kc = kstat_open ();
|
||||
|
||||
#if 0
|
||||
for (ksp = server->machine.kc->kc_chain; ksp != NULL; ksp = ksp->ks_next) {
|
||||
for (ksp = server->machine->kc->kc_chain; ksp != NULL; ksp = ksp->ks_next) {
|
||||
if (!strcmp (ksp->ks_class, "vm") && !strcmp (ksp->ks_name, "vminfo")) {
|
||||
server->machine.vminfo_kstat = ksp;
|
||||
kstat_read (server->machine.kc, ksp, &server->machine.vminfo);
|
||||
server->machine.vminfo_snaptime = ksp->ks_snaptime;
|
||||
server->machine->vminfo_kstat = ksp;
|
||||
kstat_read (server->machine->kc, ksp, &server->machine->vminfo);
|
||||
server->machine->vminfo_snaptime = ksp->ks_snaptime;
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -166,7 +166,7 @@ glibtop_open_s (glibtop *server, const char *program_name,
|
||||
if (cpu >= server->ncpu)
|
||||
server->ncpu = cpu+1;
|
||||
|
||||
server->machine.cpu_stat_kstat [cpu] = ksp;
|
||||
server->machine->cpu_stat_kstat [cpu] = ksp;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
@@ -177,33 +177,33 @@ glibtop_open_s (glibtop *server, const char *program_name,
|
||||
glibtop_warn_io_r (server, "kstat_open ()");
|
||||
|
||||
server->ncpu = -1; /* Force processor detection */
|
||||
server->machine.vminfo_snaptime = 0; /* Force snaptime read */
|
||||
server->machine->vminfo_snaptime = 0; /* Force snaptime read */
|
||||
glibtop_get_kstats(server);
|
||||
|
||||
server->machine.boot = 0;
|
||||
if((ksp = server->machine.system) && kstat_read(kc, ksp, NULL) >= 0)
|
||||
server->machine->boot = 0;
|
||||
if((ksp = server->machine->system) && kstat_read(kc, ksp, NULL) >= 0)
|
||||
{
|
||||
kn = (kstat_named_t *)kstat_data_lookup(ksp, "boot_time");
|
||||
if(kn)
|
||||
switch(kn->data_type)
|
||||
{
|
||||
#ifdef KSTAT_DATA_INT32
|
||||
case KSTAT_DATA_INT32: server->machine.boot = kn->value.i32;
|
||||
case KSTAT_DATA_INT32: server->machine->boot = kn->value.i32;
|
||||
break;
|
||||
case KSTAT_DATA_UINT32: server->machine.boot = kn->value.ui32;
|
||||
case KSTAT_DATA_UINT32: server->machine->boot = kn->value.ui32;
|
||||
break;
|
||||
case KSTAT_DATA_INT64: server->machine.boot = kn->value.i64;
|
||||
case KSTAT_DATA_INT64: server->machine->boot = kn->value.i64;
|
||||
break;
|
||||
case KSTAT_DATA_UINT64: server->machine.boot = kn->value.ui64;
|
||||
case KSTAT_DATA_UINT64: server->machine->boot = kn->value.ui64;
|
||||
break;
|
||||
#else
|
||||
case KSTAT_DATA_LONG: server->machine.boot = kn->value.l;
|
||||
case KSTAT_DATA_LONG: server->machine->boot = kn->value.l;
|
||||
break;
|
||||
case KSTAT_DATA_ULONG: server->machine.boot = kn->value.ul;
|
||||
case KSTAT_DATA_ULONG: server->machine->boot = kn->value.ul;
|
||||
break;
|
||||
case KSTAT_DATA_LONGLONG: server->machine.boot = kn->value.ll;
|
||||
case KSTAT_DATA_LONGLONG: server->machine->boot = kn->value.ll;
|
||||
break;
|
||||
case KSTAT_DATA_ULONGLONG: server->machine.boot = kn->value.ull;
|
||||
case KSTAT_DATA_ULONGLONG: server->machine->boot = kn->value.ull;
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
@@ -214,9 +214,9 @@ glibtop_open_s (glibtop *server, const char *program_name,
|
||||
#if GLIBTOP_SOLARIS_RELEASE >= 50600
|
||||
|
||||
dl = dlopen("/usr/lib/libproc.so", RTLD_LAZY);
|
||||
if(server->machine.libproc)
|
||||
dlclose(server->machine.libproc);
|
||||
server->machine.libproc = dl;
|
||||
if(server->machine->libproc)
|
||||
dlclose(server->machine->libproc);
|
||||
server->machine->libproc = dl;
|
||||
if(dl)
|
||||
{
|
||||
void *func;
|
||||
@@ -224,19 +224,19 @@ glibtop_open_s (glibtop *server, const char *program_name,
|
||||
func = dlsym(dl, "Pobjname"); /* Solaris 8 */
|
||||
if(!func)
|
||||
func = dlsym(dl, "proc_objname"); /* Solaris 7 */
|
||||
server->machine.objname = (void (*)
|
||||
server->machine->objname = (void (*)
|
||||
(void *, uintptr_t, const char *, size_t))func;
|
||||
server->machine.pgrab = (struct ps_prochandle *(*)(pid_t, int, int *))
|
||||
server->machine->pgrab = (struct ps_prochandle *(*)(pid_t, int, int *))
|
||||
dlsym(dl, "Pgrab");
|
||||
server->machine.pfree = (void (*)(void *))dlsym(dl, "Pfree");
|
||||
server->machine->pfree = (void (*)(void *))dlsym(dl, "Pfree");
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
server->machine.objname = NULL;
|
||||
server->machine.pgrab = NULL;
|
||||
server->machine.pfree = NULL;
|
||||
server->machine->objname = NULL;
|
||||
server->machine->pgrab = NULL;
|
||||
server->machine->pfree = NULL;
|
||||
}
|
||||
#endif
|
||||
server->machine.me = getpid();
|
||||
server->machine->me = getpid();
|
||||
}
|
||||
|
@@ -62,15 +62,15 @@ glibtop_open_p (glibtop *server, const char *program_name,
|
||||
|
||||
server->name = program_name;
|
||||
|
||||
server->machine.uid = getuid ();
|
||||
server->machine.euid = geteuid ();
|
||||
server->machine.gid = getgid ();
|
||||
server->machine.egid = getegid ();
|
||||
server->machine->uid = getuid ();
|
||||
server->machine->euid = geteuid ();
|
||||
server->machine->gid = getgid ();
|
||||
server->machine->egid = getegid ();
|
||||
|
||||
#if GLIBTOP_SOLARIS_RELEASE < 51000
|
||||
|
||||
server->machine.kd = kvm_open(NULL, NULL, NULL, O_RDONLY, NULL);
|
||||
if(!server->machine.kd)
|
||||
server->machine->kd = kvm_open(NULL, NULL, NULL, O_RDONLY, NULL);
|
||||
if(!server->machine->kd)
|
||||
glibtop_warn_io_r(server, "kvm_open()");
|
||||
|
||||
#endif
|
||||
@@ -82,10 +82,10 @@ glibtop_open_p (glibtop *server, const char *program_name,
|
||||
|
||||
*/
|
||||
|
||||
if (setreuid (server->machine.euid, server->machine.uid))
|
||||
if (setreuid (server->machine->euid, server->machine->uid))
|
||||
_exit (1);
|
||||
|
||||
if (setregid (server->machine.egid, server->machine.gid))
|
||||
if (setregid (server->machine->egid, server->machine->gid))
|
||||
_exit (1);
|
||||
|
||||
/* !!! END OF SUID ROOT PART !!! */
|
||||
|
@@ -125,9 +125,9 @@ glibtop_get_proc_map_s (glibtop *server, glibtop_proc_map *buf, pid_t pid)
|
||||
|
||||
#if GLIBTOP_SOLARIS_RELEASE >= 50600
|
||||
|
||||
if(server->machine.objname && server->machine.pgrab &&
|
||||
server->machine.pfree)
|
||||
Pr = (server->machine.pgrab)(pid, 1, &pr_err);
|
||||
if(server->machine->objname && server->machine->pgrab &&
|
||||
server->machine->pfree)
|
||||
Pr = (server->machine->pgrab)(pid, 1, &pr_err);
|
||||
#endif
|
||||
for(heap = 0,i = 0; i < nmaps; ++i)
|
||||
{
|
||||
@@ -179,7 +179,7 @@ glibtop_get_proc_map_s (glibtop *server, glibtop_proc_map *buf, pid_t pid)
|
||||
else
|
||||
if(Pr)
|
||||
{
|
||||
server->machine.objname(Pr, maps[i].pr_vaddr, buffer,
|
||||
server->machine->objname(Pr, maps[i].pr_vaddr, buffer,
|
||||
BUFSIZ);
|
||||
if((len = resolvepath(buffer, entry[i].filename,
|
||||
GLIBTOP_MAP_FILENAME_LEN)) > 0)
|
||||
@@ -194,7 +194,7 @@ glibtop_get_proc_map_s (glibtop *server, glibtop_proc_map *buf, pid_t pid)
|
||||
#if GLIBTOP_SOLARIS_RELEASE >= 50600
|
||||
|
||||
if(Pr)
|
||||
server->machine.pfree(Pr);
|
||||
server->machine->pfree(Pr);
|
||||
#endif
|
||||
buf->flags = _glibtop_sysdeps_proc_map;
|
||||
s_close(fd);
|
||||
|
@@ -46,7 +46,7 @@ glibtop_get_proc_mem_s (glibtop *server, glibtop_proc_mem *buf, pid_t pid)
|
||||
struct psinfo psinfo;
|
||||
#else
|
||||
struct prpsinfo psinfo;
|
||||
int pagesize = server->machine.pagesize;
|
||||
int pagesize = server->machine->pagesize;
|
||||
#endif
|
||||
|
||||
memset (buf, 0, sizeof (glibtop_proc_mem));
|
||||
|
@@ -50,7 +50,7 @@ _glibtop_init_sem_limits_p (glibtop *server)
|
||||
{
|
||||
#if GLIBTOP_SOLARIS_RELEASE < 51000
|
||||
|
||||
kvm_t *kd = server->machine.kd;
|
||||
kvm_t *kd = server->machine->kd;
|
||||
|
||||
if(kd && !kvm_nlist(kd, nlst))
|
||||
server->sysdeps.sem_limits = _glibtop_sysdeps_sem_limits;
|
||||
@@ -65,7 +65,7 @@ void
|
||||
glibtop_get_sem_limits_p (glibtop *server, glibtop_sem_limits *buf)
|
||||
{
|
||||
#if GLIBTOP_SOLARIS_RELEASE < 51000
|
||||
kvm_t *kd = server->machine.kd;
|
||||
kvm_t *kd = server->machine->kd;
|
||||
glibtop_sem_limits sinfo;
|
||||
|
||||
memset (buf, 0, sizeof (glibtop_sem_limits));
|
||||
|
@@ -50,7 +50,7 @@ _glibtop_init_shm_limits_p (glibtop *server)
|
||||
{
|
||||
#if GLIBTOP_SOLARIS_RELEASE < 51000
|
||||
|
||||
kvm_t * const kd = server->machine.kd;
|
||||
kvm_t * const kd = server->machine->kd;
|
||||
|
||||
if(kd && !kvm_nlist(kd, nlst))
|
||||
server->sysdeps.shm_limits = _glibtop_sysdeps_shm_limits;
|
||||
@@ -66,7 +66,7 @@ glibtop_get_shm_limits_p (glibtop *server, glibtop_shm_limits *buf)
|
||||
{
|
||||
#if GLIBTOP_SOLARIS_RELEASE < 51000
|
||||
|
||||
kvm_t * const kd = server->machine.kd;
|
||||
kvm_t * const kd = server->machine->kd;
|
||||
glibtop_shm_limits sinfo;
|
||||
|
||||
|
||||
|
@@ -44,11 +44,11 @@ glibtop_get_uptime_s (glibtop *server, glibtop_uptime *buf)
|
||||
{
|
||||
memset (buf, 0, sizeof (glibtop_uptime));
|
||||
|
||||
if(!(server->machine.boot))
|
||||
if(!(server->machine->boot))
|
||||
return;
|
||||
|
||||
buf->boot_time = server->machine.boot;
|
||||
buf->uptime = time(NULL) - server->machine.boot;
|
||||
buf->boot_time = server->machine->boot;
|
||||
buf->uptime = time(NULL) - server->machine->boot;
|
||||
|
||||
buf->flags = _glibtop_sysdeps_uptime;
|
||||
}
|
||||
|
Reference in New Issue
Block a user