1 /* Copyright (C) 1998-99 Martin Baulig
2 This file is part of LibGTop 1.0.
3
4 Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
5
6 LibGTop is free software; you can redistribute it and/or modify it
7 under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License,
9 or (at your option) any later version.
10
11 LibGTop is distributed in the hope that it will be useful, but WITHOUT
12 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with LibGTop; see the file COPYING. If not, write to the
18 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
19 Boston, MA 02110-1301, USA.
20 */
21
22 #ifdef HAVE_CONFIG_H
23 # include <config.h>
24 #endif
25
26 #include <locale.h>
27 #include <libintl.h>
28 #include <stdio.h>
29
30 #include <glibtop.h>
31 #include <glibtop/open.h>
32 #include <glibtop/close.h>
33 #include <glibtop/sysdeps.h>
34
35 #include <glibtop/parameter.h>
36
37 #ifndef PROFILE_COUNT
38 #define PROFILE_COUNT 1
39 #endif
40
41 int
main(int argc,char * argv[])42 main (int argc, char *argv [])
43 {
44 glibtop_sysdeps sysdeps;
45 unsigned method, count, port;
46 char buffer [BUFSIZ];
47
48 count = PROFILE_COUNT;
49
50 setlocale (LC_ALL, "");
51 bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
52 textdomain (GETTEXT_PACKAGE);
53
54 glibtop_init_r (&glibtop_global_server, 0, GLIBTOP_INIT_NO_OPEN);
55
56 glibtop_get_parameter (GLIBTOP_PARAM_METHOD, &method, sizeof (method));
57
58 printf ("Method = %d\n", method);
59
60 count = glibtop_get_parameter (GLIBTOP_PARAM_COMMAND, buffer, BUFSIZ);
61 buffer [count] = 0;
62
63 printf ("Command = '%s'\n", buffer);
64
65 count = glibtop_get_parameter (GLIBTOP_PARAM_HOST, buffer, BUFSIZ);
66 buffer [count] = 0;
67
68 glibtop_get_parameter (GLIBTOP_PARAM_PORT, &port, sizeof (port));
69
70 printf ("Host = '%s' - %u\n\n", buffer, port);
71
72 glibtop_init_r (&glibtop_global_server, 0, 0);
73
74 glibtop_get_sysdeps (&sysdeps);
75
76 #define FEATURE_CHECK(f) ((sysdeps.features & (1L << GLIBTOP_SYSDEPS_##f)) ? 1 : 0)
77
78 printf ("Sysdeps (0x%08lx):\n\n"
79 "\tfeatures:\t\t0x%08lx\n\n"
80 "\tcpu:\t\t%d\t0x%08lx\n"
81 "\tmem:\t\t%d\t0x%08lx\n"
82 "\tswap:\t\t%d\t0x%08lx\n\n"
83 "\tuptime:\t\t%d\t0x%08lx\n"
84 "\tloadavg:\t%d\t0x%08lx\n\n"
85 "\tshm_limits:\t%d\t0x%08lx\n"
86 "\tmsg_limits:\t%d\t0x%08lx\n"
87 "\tsem_limits:\t%d\t0x%08lx\n\n"
88 "\tproclist:\t%d\t0x%08lx\n\n"
89 "\tproc_state:\t%d\t0x%08lx\n"
90 "\tproc_uid:\t%d\t0x%08lx\n"
91 "\tproc_mem:\t%d\t0x%08lx\n"
92 "\tproc_time:\t%d\t0x%08lx\n"
93 "\tproc_signal:\t%d\t0x%08lx\n"
94 "\tproc_kernel:\t%d\t0x%08lx\n"
95 "\tproc_segment:\t%d\t0x%08lx\n"
96 "\tproc_args:\t%d\t0x%08lx\n"
97 "\tproc_map:\t%d\t0x%08lx\n"
98 "\tproc_io:\t%d\t0x%08lx\n\n"
99 "\tmountlist:\t%d\t0x%08lx\n"
100 "\tfsusage:\t%d\t0x%08lx\n\n"
101 "\tnetload:\t%d\t0x%08lx\n"
102 "\tppp:\t\t%d\t0x%08lx\n\n",
103 (unsigned long) sysdeps.flags,
104 (unsigned long) sysdeps.features,
105 FEATURE_CHECK(CPU),
106 (unsigned long) sysdeps.cpu,
107 FEATURE_CHECK(MEM),
108 (unsigned long) sysdeps.mem,
109 FEATURE_CHECK(SWAP),
110 (unsigned long) sysdeps.swap,
111 FEATURE_CHECK(UPTIME),
112 (unsigned long) sysdeps.uptime,
113 FEATURE_CHECK(LOADAVG),
114 (unsigned long) sysdeps.loadavg,
115 FEATURE_CHECK(SHM_LIMITS),
116 (unsigned long) sysdeps.shm_limits,
117 FEATURE_CHECK(MSG_LIMITS),
118 (unsigned long) sysdeps.msg_limits,
119 FEATURE_CHECK(SEM_LIMITS),
120 (unsigned long) sysdeps.sem_limits,
121 FEATURE_CHECK(PROCLIST),
122 (unsigned long) sysdeps.proclist,
123 FEATURE_CHECK(PROC_STATE),
124 (unsigned long) sysdeps.proc_state,
125 FEATURE_CHECK(PROC_UID),
126 (unsigned long) sysdeps.proc_uid,
127 FEATURE_CHECK(PROC_MEM),
128 (unsigned long) sysdeps.proc_mem,
129 FEATURE_CHECK(PROC_TIME),
130 (unsigned long) sysdeps.proc_time,
131 FEATURE_CHECK(PROC_SIGNAL),
132 (unsigned long) sysdeps.proc_signal,
133 FEATURE_CHECK(PROC_KERNEL),
134 (unsigned long) sysdeps.proc_kernel,
135 FEATURE_CHECK(PROC_SEGMENT),
136 (unsigned long) sysdeps.proc_segment,
137 FEATURE_CHECK(PROC_ARGS),
138 (unsigned long) sysdeps.proc_args,
139 FEATURE_CHECK(PROC_MAP),
140 (unsigned long) sysdeps.proc_map,
141 FEATURE_CHECK(PROC_IO),
142 (unsigned long) sysdeps.proc_io,
143 FEATURE_CHECK(MOUNTLIST),
144 (unsigned long) sysdeps.mountlist,
145 FEATURE_CHECK(FSUSAGE),
146 (unsigned long) sysdeps.fsusage,
147 FEATURE_CHECK(NETLOAD),
148 (unsigned long) sysdeps.netload,
149 FEATURE_CHECK(PPP),
150 (unsigned long) sysdeps.ppp);
151
152 glibtop_close ();
153
154 exit (0);
155 }
156