summaryrefslogtreecommitdiff
path: root/sysdeps/solaris
diff options
context:
space:
mode:
authorBenoît Dejean <bdejean@src.gnome.org>2004-11-13 00:53:20 +0000
committerBenoît Dejean <bdejean@src.gnome.org>2004-11-13 00:53:20 +0000
commit7e5ccec8bf8df4187c161f1e2dab600a434cf515 (patch)
tree9c382033a8dbae93a52efa937710164d7fefdad9 /sysdeps/solaris
parentfdf313cdf618ab7ef971b73cecc0fd1162ef162b (diff)
downloadlibgtop-7e5ccec8bf8df4187c161f1e2dab600a434cf515.tar.gz
Bumped to 2.9.0
* configure.in: Bumped to 2.9.0 * configure.in: * examples/.cvsignore: * examples/Makefile.am: * examples/netlist.c: (main): * features.def: * include/glibtop/Makefile.am: * include/glibtop/command.h: * include/glibtop/netlist.h: * include/glibtop/sysdeps.h: * include/glibtop/union.h: * include/glibtop/version.h: * src/daemon/version.c: * sysdeps/linux/Makefile.am: * sysdeps/linux/netlist.c: (glibtop_init_netlist_s), (glibtop_get_netlist_s): * sysdeps/names/Makefile.am: * sysdeps/names/netlist.c: * sysdeps/solaris/Makefile.am: * sysdeps/solaris/netlist.c: (glibtop_init_netlist_s), (glibtop_get_netlist_s): Added new function glibtop_get_netlist(). Implemented for linux and solaris. Doc needed.
Diffstat (limited to 'sysdeps/solaris')
-rw-r--r--sysdeps/solaris/Makefile.am2
-rw-r--r--sysdeps/solaris/netlist.c68
2 files changed, 69 insertions, 1 deletions
diff --git a/sysdeps/solaris/Makefile.am b/sysdeps/solaris/Makefile.am
index f65247fb..181111f5 100644
--- a/sysdeps/solaris/Makefile.am
+++ b/sysdeps/solaris/Makefile.am
@@ -8,7 +8,7 @@ libgtop_sysdeps_2_0_la_SOURCES = open.c close.c siglist.c cpu.c mem.c \
proclist.c procstate.c procuid.c \
proctime.c procmem.c procsignal.c \
prockernel.c procsegment.c procargs.c \
- procmap.c netload.c ppp.c procdata.c
+ procmap.c netload.c ppp.c procdata.c netlist.c
libgtop_sysdeps_2_0_la_LDFLAGS = $(LT_VERSION_INFO)
diff --git a/sysdeps/solaris/netlist.c b/sysdeps/solaris/netlist.c
new file mode 100644
index 00000000..6276a9a8
--- /dev/null
+++ b/sysdeps/solaris/netlist.c
@@ -0,0 +1,68 @@
+/* Copyright (C) 1998-99 Benoît Dejean
+ This file is part of LibGTop 2.0.
+
+ LibGTop is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License,
+ or (at your option) any later version.
+
+ LibGTop is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with LibGTop; see the file COPYING. If not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+*/
+
+#include <string.h>
+#include <kstat.h>
+
+#include <glibtop/netlist.h>
+
+
+
+static const unsigned long _glibtop_sysdeps_netlist = (1 << GLIBTOP_NETLIST_NUMBER);
+
+/* Init function. */
+
+void
+glibtop_init_netlist_s (glibtop *server)
+{
+ server->sysdeps.netlist = _glibtop_sysdeps_netlist;
+}
+
+
+char**
+glibtop_get_netlist_s (glibtop *server, glibtop_netlist *buf)
+{
+ GPtrArray *devices;
+ kstat_t *ksp;
+ kstat_ctl_t *kc;
+
+ glibtop_init_s (&server, GLIBTOP_SYSDEPS_NETLIST, 0);
+
+ memset (buf, 0, sizeof (glibtop_netlist));
+
+ devices = g_ptr_array_new();
+
+ kc = kstat_open();
+
+ for (ksp = kc->kc_chain; ksp; ksp = ksp->ks_next)
+ {
+ if (strcmp(ksp->ks_class, "net") != 0)
+ continue;
+
+ g_ptr_array_add(devices, g_strdup(ksp->ks_name));
+ }
+
+ kstat_close(kc);
+
+ buf->flags = _glibtop_sysdeps_netlist;
+
+ g_ptr_array_add(devices, NULL);
+
+ return (char**) g_ptr_array_free(devices, FALSE);
+}