Compare commits
214 Commits
gnome-2-24
...
LIBGTOP_1_
Author | SHA1 | Date | |
---|---|---|---|
|
f659523856 | ||
|
6b81006d08 | ||
|
b70be80aca | ||
|
f8fb49a428 | ||
|
18356c6ae6 | ||
|
807d4bf6ae | ||
|
c0350d38ae | ||
|
d3a9e47ffb | ||
|
c8a3e46433 | ||
|
222706a0d4 | ||
|
2168cc5f71 | ||
|
08808384f4 | ||
|
0f1306a20f | ||
|
84b05c0219 | ||
|
6916ada308 | ||
|
5943c96d35 | ||
|
909a3e6512 | ||
|
ca94618e27 | ||
|
a478d380f4 | ||
|
af80d4d3d2 | ||
|
973dc2d37c | ||
|
97b32c7046 | ||
|
fb8184afba | ||
|
16643866cf | ||
|
aa9299f344 | ||
|
6f69cd863b | ||
|
7262bf39d8 | ||
|
9e773390cc | ||
|
54cbdb8158 | ||
|
c70b11ee00 | ||
|
965b26c926 | ||
|
384cd6b2db | ||
|
b055e3710b | ||
|
669c6fd670 | ||
|
617c4568d2 | ||
|
93c998cf7a | ||
|
46a0750736 | ||
|
e9227d1a2e | ||
|
41b7120527 | ||
|
0ad6ae0a12 | ||
|
6197e3ad47 | ||
|
e577717013 | ||
|
6b19a0090a | ||
|
a515242f17 | ||
|
a7b13c7d83 | ||
|
849d2da085 | ||
|
d4b195045a | ||
|
c269f0adb8 | ||
|
4f65ee018c | ||
|
8a8b975d08 | ||
|
64955004a0 | ||
|
4ef82847fe | ||
|
9da5658ba1 | ||
|
b300842f47 | ||
|
9a49872026 | ||
|
1aa7aae2f6 | ||
|
70ba9e2559 | ||
|
13323e55ee | ||
|
57d96878de | ||
|
10de82e256 | ||
|
29240a5a96 | ||
|
1baa2ef8ff | ||
|
0bd5a6c082 | ||
|
2698263164 | ||
|
85d53a69cf | ||
|
0a42a8d018 | ||
|
9d772e3c07 | ||
|
ddd9d11c71 | ||
|
b161b5bb72 | ||
|
5607fefe30 | ||
|
9d9aed4023 | ||
|
62edf91314 | ||
|
38e55efd2d | ||
|
67c9c8e3e3 | ||
|
013ab1841d | ||
|
88c5d4fd61 | ||
|
adbe42cda3 | ||
|
2e6e310a3e | ||
|
818e941413 | ||
|
dfa868ce82 | ||
|
dc353a4172 | ||
|
4da65d5d0b | ||
|
a2043e3aaf | ||
|
f03304a920 | ||
|
beedc57724 | ||
|
3049619931 | ||
|
ddb0c913c1 | ||
|
c7244ba1ba | ||
|
146ccb2511 | ||
|
91c35548e4 | ||
|
8705ef6b65 | ||
|
d5b27269d8 | ||
|
6915f098ca | ||
|
376613ddd4 | ||
|
6a9cd61fd9 | ||
|
18a3526ea7 | ||
|
333c85736c | ||
|
df5ec3c02a | ||
|
368e94c8e1 | ||
|
f5de8e4ead | ||
|
715975f7ed | ||
|
f13099194c | ||
|
1dd8a8e8fc | ||
|
d9fb27e57c | ||
|
dde1a2c1aa | ||
|
5bff21b7b4 | ||
|
e58c732f54 | ||
|
48404428a2 | ||
|
d009071e40 | ||
|
33b1fcf4f9 | ||
|
c0a9dedc4b | ||
|
7ab96d212d | ||
|
bd6e248adf | ||
|
9abfb85080 | ||
|
fdef2d5b38 | ||
|
641eb24a8b | ||
|
8754f434d1 | ||
|
f656208234 | ||
|
0df1594f31 | ||
|
1ab7936ced | ||
|
dcd43f8a15 | ||
|
7f7c5506f7 | ||
|
b0a4cb2379 | ||
|
8c06ed1516 | ||
|
56154e50f2 | ||
|
902670623f | ||
|
0e5d856065 | ||
|
35b6acfc22 | ||
|
0830a0b8a7 | ||
|
f4be080d63 | ||
|
a599e04eb6 | ||
|
0dec9a7b70 | ||
|
75958ce2ab | ||
|
20bbc17f6b | ||
|
19ffa1419a | ||
|
1e568f294e | ||
|
7752a312e9 | ||
|
23c7449898 | ||
|
64b3db2dc0 | ||
|
e94b4882b6 | ||
|
1e629c9a86 | ||
|
6b6e1261f1 | ||
|
bbc872138b | ||
|
3555a6ca0c | ||
|
e5928d0b13 | ||
|
5bb7e07e95 | ||
|
043f4a498f | ||
|
94297b8460 | ||
|
0f5b941b15 | ||
|
df6d645afd | ||
|
9ac47c7839 | ||
|
8d734d1296 | ||
|
7fa43bba5d | ||
|
e2e01a9405 | ||
|
5530697ab8 | ||
|
95f279d1a7 | ||
|
1904a463e2 | ||
|
7ce1f9e9d7 | ||
|
5221f6d4f8 | ||
|
ac175a4cbf | ||
|
f53d1a69bc | ||
|
adaa9cad97 | ||
|
7201ec7790 | ||
|
113525a7d7 | ||
|
d6e62e85d2 | ||
|
ee153445f0 | ||
|
50b43a0f41 | ||
|
25c26a6620 | ||
|
0438b9d69a | ||
|
90c01f24fe | ||
|
dc0f442247 | ||
|
017f4d20c7 | ||
|
c021ce7851 | ||
|
93ab9882c3 | ||
|
a0477c6212 | ||
|
6780e78a6b | ||
|
d8871029eb | ||
|
6799ce187b | ||
|
2b6b2578be | ||
|
1b0a9fd291 | ||
|
43e070dd8b | ||
|
b0d18119ff | ||
|
be05f8163a | ||
|
d6cdf95d83 | ||
|
2256a9127f | ||
|
e6507a80be | ||
|
8411e566b4 | ||
|
40854f4179 | ||
|
41062d0262 | ||
|
58c882a860 | ||
|
789d156972 | ||
|
19c24da036 | ||
|
929a025f53 | ||
|
6a7c289305 | ||
|
b65a4a7dcb | ||
|
39b2fffe83 | ||
|
efb913acff | ||
|
79e756a2f7 | ||
|
b08968e644 | ||
|
dff497d2fa | ||
|
38de742ca4 | ||
|
e0d3401bc4 | ||
|
aae2b5a94d | ||
|
a5bd38fc19 | ||
|
931b8f065e | ||
|
f7885e488f | ||
|
8122db69ee | ||
|
ab13d4919d | ||
|
1d955fbf1f | ||
|
8af25a2003 | ||
|
12eb6a25ec | ||
|
77ced087a1 | ||
|
983475d0c1 | ||
|
70b65c05e5 |
35
.cvsignore
Normal file
35
.cvsignore
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
Makefile
|
||||||
|
Makefile.in
|
||||||
|
aclocal.m4
|
||||||
|
config.cache
|
||||||
|
config.h
|
||||||
|
config.h.in
|
||||||
|
config.log
|
||||||
|
config.sub
|
||||||
|
config.guess
|
||||||
|
config.status
|
||||||
|
configure
|
||||||
|
gtopConf.sh
|
||||||
|
i386-bsdi
|
||||||
|
i686-pc-linux-gnu
|
||||||
|
intl
|
||||||
|
libgtop-mirror.sh.swp
|
||||||
|
libgtopConf.sh
|
||||||
|
libtool
|
||||||
|
ltconfig
|
||||||
|
ltmain.sh
|
||||||
|
macros
|
||||||
|
stamp-h
|
||||||
|
stamp-h.in
|
||||||
|
sun4
|
||||||
|
sun4sol2
|
||||||
|
support
|
||||||
|
i386-freebsd
|
||||||
|
alpha-dec-osf3.0
|
||||||
|
i686-pc-linux-gnu-linux
|
||||||
|
libgtop-config
|
||||||
|
ABOUT-NLS
|
||||||
|
libgtop.spec
|
||||||
|
libgtop*.tar.gz
|
||||||
|
*-debstamp
|
||||||
|
libgtop*.pc
|
1
AUTHORS
1
AUTHORS
@@ -1,3 +1,2 @@
|
|||||||
Martin Baulig (martin@home-of-linux.org)
|
Martin Baulig (martin@home-of-linux.org)
|
||||||
Drazen Kacar (dave@srce.hr)
|
Drazen Kacar (dave@srce.hr)
|
||||||
Benoît Dejean (tazforever@dlfp.org)
|
|
||||||
|
339
COPYING
339
COPYING
@@ -1,339 +0,0 @@
|
|||||||
GNU GENERAL PUBLIC LICENSE
|
|
||||||
Version 2, June 1991
|
|
||||||
|
|
||||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
|
||||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
||||||
Everyone is permitted to copy and distribute verbatim copies
|
|
||||||
of this license document, but changing it is not allowed.
|
|
||||||
|
|
||||||
Preamble
|
|
||||||
|
|
||||||
The licenses for most software are designed to take away your
|
|
||||||
freedom to share and change it. By contrast, the GNU General Public
|
|
||||||
License is intended to guarantee your freedom to share and change free
|
|
||||||
software--to make sure the software is free for all its users. This
|
|
||||||
General Public License applies to most of the Free Software
|
|
||||||
Foundation's software and to any other program whose authors commit to
|
|
||||||
using it. (Some other Free Software Foundation software is covered by
|
|
||||||
the GNU Lesser General Public License instead.) You can apply it to
|
|
||||||
your programs, too.
|
|
||||||
|
|
||||||
When we speak of free software, we are referring to freedom, not
|
|
||||||
price. Our General Public Licenses are designed to make sure that you
|
|
||||||
have the freedom to distribute copies of free software (and charge for
|
|
||||||
this service if you wish), that you receive source code or can get it
|
|
||||||
if you want it, that you can change the software or use pieces of it
|
|
||||||
in new free programs; and that you know you can do these things.
|
|
||||||
|
|
||||||
To protect your rights, we need to make restrictions that forbid
|
|
||||||
anyone to deny you these rights or to ask you to surrender the rights.
|
|
||||||
These restrictions translate to certain responsibilities for you if you
|
|
||||||
distribute copies of the software, or if you modify it.
|
|
||||||
|
|
||||||
For example, if you distribute copies of such a program, whether
|
|
||||||
gratis or for a fee, you must give the recipients all the rights that
|
|
||||||
you have. You must make sure that they, too, receive or can get the
|
|
||||||
source code. And you must show them these terms so they know their
|
|
||||||
rights.
|
|
||||||
|
|
||||||
We protect your rights with two steps: (1) copyright the software, and
|
|
||||||
(2) offer you this license which gives you legal permission to copy,
|
|
||||||
distribute and/or modify the software.
|
|
||||||
|
|
||||||
Also, for each author's protection and ours, we want to make certain
|
|
||||||
that everyone understands that there is no warranty for this free
|
|
||||||
software. If the software is modified by someone else and passed on, we
|
|
||||||
want its recipients to know that what they have is not the original, so
|
|
||||||
that any problems introduced by others will not reflect on the original
|
|
||||||
authors' reputations.
|
|
||||||
|
|
||||||
Finally, any free program is threatened constantly by software
|
|
||||||
patents. We wish to avoid the danger that redistributors of a free
|
|
||||||
program will individually obtain patent licenses, in effect making the
|
|
||||||
program proprietary. To prevent this, we have made it clear that any
|
|
||||||
patent must be licensed for everyone's free use or not licensed at all.
|
|
||||||
|
|
||||||
The precise terms and conditions for copying, distribution and
|
|
||||||
modification follow.
|
|
||||||
|
|
||||||
GNU GENERAL PUBLIC LICENSE
|
|
||||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
|
||||||
|
|
||||||
0. This License applies to any program or other work which contains
|
|
||||||
a notice placed by the copyright holder saying it may be distributed
|
|
||||||
under the terms of this General Public License. The "Program", below,
|
|
||||||
refers to any such program or work, and a "work based on the Program"
|
|
||||||
means either the Program or any derivative work under copyright law:
|
|
||||||
that is to say, a work containing the Program or a portion of it,
|
|
||||||
either verbatim or with modifications and/or translated into another
|
|
||||||
language. (Hereinafter, translation is included without limitation in
|
|
||||||
the term "modification".) Each licensee is addressed as "you".
|
|
||||||
|
|
||||||
Activities other than copying, distribution and modification are not
|
|
||||||
covered by this License; they are outside its scope. The act of
|
|
||||||
running the Program is not restricted, and the output from the Program
|
|
||||||
is covered only if its contents constitute a work based on the
|
|
||||||
Program (independent of having been made by running the Program).
|
|
||||||
Whether that is true depends on what the Program does.
|
|
||||||
|
|
||||||
1. You may copy and distribute verbatim copies of the Program's
|
|
||||||
source code as you receive it, in any medium, provided that you
|
|
||||||
conspicuously and appropriately publish on each copy an appropriate
|
|
||||||
copyright notice and disclaimer of warranty; keep intact all the
|
|
||||||
notices that refer to this License and to the absence of any warranty;
|
|
||||||
and give any other recipients of the Program a copy of this License
|
|
||||||
along with the Program.
|
|
||||||
|
|
||||||
You may charge a fee for the physical act of transferring a copy, and
|
|
||||||
you may at your option offer warranty protection in exchange for a fee.
|
|
||||||
|
|
||||||
2. You may modify your copy or copies of the Program or any portion
|
|
||||||
of it, thus forming a work based on the Program, and copy and
|
|
||||||
distribute such modifications or work under the terms of Section 1
|
|
||||||
above, provided that you also meet all of these conditions:
|
|
||||||
|
|
||||||
a) You must cause the modified files to carry prominent notices
|
|
||||||
stating that you changed the files and the date of any change.
|
|
||||||
|
|
||||||
b) You must cause any work that you distribute or publish, that in
|
|
||||||
whole or in part contains or is derived from the Program or any
|
|
||||||
part thereof, to be licensed as a whole at no charge to all third
|
|
||||||
parties under the terms of this License.
|
|
||||||
|
|
||||||
c) If the modified program normally reads commands interactively
|
|
||||||
when run, you must cause it, when started running for such
|
|
||||||
interactive use in the most ordinary way, to print or display an
|
|
||||||
announcement including an appropriate copyright notice and a
|
|
||||||
notice that there is no warranty (or else, saying that you provide
|
|
||||||
a warranty) and that users may redistribute the program under
|
|
||||||
these conditions, and telling the user how to view a copy of this
|
|
||||||
License. (Exception: if the Program itself is interactive but
|
|
||||||
does not normally print such an announcement, your work based on
|
|
||||||
the Program is not required to print an announcement.)
|
|
||||||
|
|
||||||
These requirements apply to the modified work as a whole. If
|
|
||||||
identifiable sections of that work are not derived from the Program,
|
|
||||||
and can be reasonably considered independent and separate works in
|
|
||||||
themselves, then this License, and its terms, do not apply to those
|
|
||||||
sections when you distribute them as separate works. But when you
|
|
||||||
distribute the same sections as part of a whole which is a work based
|
|
||||||
on the Program, the distribution of the whole must be on the terms of
|
|
||||||
this License, whose permissions for other licensees extend to the
|
|
||||||
entire whole, and thus to each and every part regardless of who wrote it.
|
|
||||||
|
|
||||||
Thus, it is not the intent of this section to claim rights or contest
|
|
||||||
your rights to work written entirely by you; rather, the intent is to
|
|
||||||
exercise the right to control the distribution of derivative or
|
|
||||||
collective works based on the Program.
|
|
||||||
|
|
||||||
In addition, mere aggregation of another work not based on the Program
|
|
||||||
with the Program (or with a work based on the Program) on a volume of
|
|
||||||
a storage or distribution medium does not bring the other work under
|
|
||||||
the scope of this License.
|
|
||||||
|
|
||||||
3. You may copy and distribute the Program (or a work based on it,
|
|
||||||
under Section 2) in object code or executable form under the terms of
|
|
||||||
Sections 1 and 2 above provided that you also do one of the following:
|
|
||||||
|
|
||||||
a) Accompany it with the complete corresponding machine-readable
|
|
||||||
source code, which must be distributed under the terms of Sections
|
|
||||||
1 and 2 above on a medium customarily used for software interchange; or,
|
|
||||||
|
|
||||||
b) Accompany it with a written offer, valid for at least three
|
|
||||||
years, to give any third party, for a charge no more than your
|
|
||||||
cost of physically performing source distribution, a complete
|
|
||||||
machine-readable copy of the corresponding source code, to be
|
|
||||||
distributed under the terms of Sections 1 and 2 above on a medium
|
|
||||||
customarily used for software interchange; or,
|
|
||||||
|
|
||||||
c) Accompany it with the information you received as to the offer
|
|
||||||
to distribute corresponding source code. (This alternative is
|
|
||||||
allowed only for noncommercial distribution and only if you
|
|
||||||
received the program in object code or executable form with such
|
|
||||||
an offer, in accord with Subsection b above.)
|
|
||||||
|
|
||||||
The source code for a work means the preferred form of the work for
|
|
||||||
making modifications to it. For an executable work, complete source
|
|
||||||
code means all the source code for all modules it contains, plus any
|
|
||||||
associated interface definition files, plus the scripts used to
|
|
||||||
control compilation and installation of the executable. However, as a
|
|
||||||
special exception, the source code distributed need not include
|
|
||||||
anything that is normally distributed (in either source or binary
|
|
||||||
form) with the major components (compiler, kernel, and so on) of the
|
|
||||||
operating system on which the executable runs, unless that component
|
|
||||||
itself accompanies the executable.
|
|
||||||
|
|
||||||
If distribution of executable or object code is made by offering
|
|
||||||
access to copy from a designated place, then offering equivalent
|
|
||||||
access to copy the source code from the same place counts as
|
|
||||||
distribution of the source code, even though third parties are not
|
|
||||||
compelled to copy the source along with the object code.
|
|
||||||
|
|
||||||
4. You may not copy, modify, sublicense, or distribute the Program
|
|
||||||
except as expressly provided under this License. Any attempt
|
|
||||||
otherwise to copy, modify, sublicense or distribute the Program is
|
|
||||||
void, and will automatically terminate your rights under this License.
|
|
||||||
However, parties who have received copies, or rights, from you under
|
|
||||||
this License will not have their licenses terminated so long as such
|
|
||||||
parties remain in full compliance.
|
|
||||||
|
|
||||||
5. You are not required to accept this License, since you have not
|
|
||||||
signed it. However, nothing else grants you permission to modify or
|
|
||||||
distribute the Program or its derivative works. These actions are
|
|
||||||
prohibited by law if you do not accept this License. Therefore, by
|
|
||||||
modifying or distributing the Program (or any work based on the
|
|
||||||
Program), you indicate your acceptance of this License to do so, and
|
|
||||||
all its terms and conditions for copying, distributing or modifying
|
|
||||||
the Program or works based on it.
|
|
||||||
|
|
||||||
6. Each time you redistribute the Program (or any work based on the
|
|
||||||
Program), the recipient automatically receives a license from the
|
|
||||||
original licensor to copy, distribute or modify the Program subject to
|
|
||||||
these terms and conditions. You may not impose any further
|
|
||||||
restrictions on the recipients' exercise of the rights granted herein.
|
|
||||||
You are not responsible for enforcing compliance by third parties to
|
|
||||||
this License.
|
|
||||||
|
|
||||||
7. If, as a consequence of a court judgment or allegation of patent
|
|
||||||
infringement or for any other reason (not limited to patent issues),
|
|
||||||
conditions are imposed on you (whether by court order, agreement or
|
|
||||||
otherwise) that contradict the conditions of this License, they do not
|
|
||||||
excuse you from the conditions of this License. If you cannot
|
|
||||||
distribute so as to satisfy simultaneously your obligations under this
|
|
||||||
License and any other pertinent obligations, then as a consequence you
|
|
||||||
may not distribute the Program at all. For example, if a patent
|
|
||||||
license would not permit royalty-free redistribution of the Program by
|
|
||||||
all those who receive copies directly or indirectly through you, then
|
|
||||||
the only way you could satisfy both it and this License would be to
|
|
||||||
refrain entirely from distribution of the Program.
|
|
||||||
|
|
||||||
If any portion of this section is held invalid or unenforceable under
|
|
||||||
any particular circumstance, the balance of the section is intended to
|
|
||||||
apply and the section as a whole is intended to apply in other
|
|
||||||
circumstances.
|
|
||||||
|
|
||||||
It is not the purpose of this section to induce you to infringe any
|
|
||||||
patents or other property right claims or to contest validity of any
|
|
||||||
such claims; this section has the sole purpose of protecting the
|
|
||||||
integrity of the free software distribution system, which is
|
|
||||||
implemented by public license practices. Many people have made
|
|
||||||
generous contributions to the wide range of software distributed
|
|
||||||
through that system in reliance on consistent application of that
|
|
||||||
system; it is up to the author/donor to decide if he or she is willing
|
|
||||||
to distribute software through any other system and a licensee cannot
|
|
||||||
impose that choice.
|
|
||||||
|
|
||||||
This section is intended to make thoroughly clear what is believed to
|
|
||||||
be a consequence of the rest of this License.
|
|
||||||
|
|
||||||
8. If the distribution and/or use of the Program is restricted in
|
|
||||||
certain countries either by patents or by copyrighted interfaces, the
|
|
||||||
original copyright holder who places the Program under this License
|
|
||||||
may add an explicit geographical distribution limitation excluding
|
|
||||||
those countries, so that distribution is permitted only in or among
|
|
||||||
countries not thus excluded. In such case, this License incorporates
|
|
||||||
the limitation as if written in the body of this License.
|
|
||||||
|
|
||||||
9. The Free Software Foundation may publish revised and/or new versions
|
|
||||||
of the General Public License from time to time. Such new versions will
|
|
||||||
be similar in spirit to the present version, but may differ in detail to
|
|
||||||
address new problems or concerns.
|
|
||||||
|
|
||||||
Each version is given a distinguishing version number. If the Program
|
|
||||||
specifies a version number of this License which applies to it and "any
|
|
||||||
later version", you have the option of following the terms and conditions
|
|
||||||
either of that version or of any later version published by the Free
|
|
||||||
Software Foundation. If the Program does not specify a version number of
|
|
||||||
this License, you may choose any version ever published by the Free Software
|
|
||||||
Foundation.
|
|
||||||
|
|
||||||
10. If you wish to incorporate parts of the Program into other free
|
|
||||||
programs whose distribution conditions are different, write to the author
|
|
||||||
to ask for permission. For software which is copyrighted by the Free
|
|
||||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
|
||||||
make exceptions for this. Our decision will be guided by the two goals
|
|
||||||
of preserving the free status of all derivatives of our free software and
|
|
||||||
of promoting the sharing and reuse of software generally.
|
|
||||||
|
|
||||||
NO WARRANTY
|
|
||||||
|
|
||||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
|
||||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
|
||||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
|
||||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
|
||||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
||||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
|
||||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
|
||||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
|
||||||
REPAIR OR CORRECTION.
|
|
||||||
|
|
||||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
|
||||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
|
||||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
|
||||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
|
||||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
|
||||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
|
||||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
|
||||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
|
||||||
POSSIBILITY OF SUCH DAMAGES.
|
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
|
||||||
|
|
||||||
How to Apply These Terms to Your New Programs
|
|
||||||
|
|
||||||
If you develop a new program, and you want it to be of the greatest
|
|
||||||
possible use to the public, the best way to achieve this is to make it
|
|
||||||
free software which everyone can redistribute and change under these terms.
|
|
||||||
|
|
||||||
To do so, attach the following notices to the program. It is safest
|
|
||||||
to attach them to the start of each source file to most effectively
|
|
||||||
convey the exclusion of warranty; and each file should have at least
|
|
||||||
the "copyright" line and a pointer to where the full notice is found.
|
|
||||||
|
|
||||||
<one line to give the program's name and a brief idea of what it does.>
|
|
||||||
Copyright (C) <year> <name of author>
|
|
||||||
|
|
||||||
This program 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.
|
|
||||||
|
|
||||||
This program 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 this program; if not, write to the Free Software Foundation, Inc.,
|
|
||||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
|
|
||||||
Also add information on how to contact you by electronic and paper mail.
|
|
||||||
|
|
||||||
If the program is interactive, make it output a short notice like this
|
|
||||||
when it starts in an interactive mode:
|
|
||||||
|
|
||||||
Gnomovision version 69, Copyright (C) year name of author
|
|
||||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
|
||||||
This is free software, and you are welcome to redistribute it
|
|
||||||
under certain conditions; type `show c' for details.
|
|
||||||
|
|
||||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
|
||||||
parts of the General Public License. Of course, the commands you use may
|
|
||||||
be called something other than `show w' and `show c'; they could even be
|
|
||||||
mouse-clicks or menu items--whatever suits your program.
|
|
||||||
|
|
||||||
You should also get your employer (if you work as a programmer) or your
|
|
||||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
|
||||||
necessary. Here is a sample; alter the names:
|
|
||||||
|
|
||||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
|
||||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
|
||||||
|
|
||||||
<signature of Ty Coon>, 1 April 1989
|
|
||||||
Ty Coon, President of Vice
|
|
||||||
|
|
||||||
This General Public License does not permit incorporating your program into
|
|
||||||
proprietary programs. If your program is a subroutine library, you may
|
|
||||||
consider it more useful to permit linking proprietary applications with the
|
|
||||||
library. If this is what you want to do, use the GNU Lesser General
|
|
||||||
Public License instead of this License.
|
|
28
LIBGTOP-VERSION
Normal file
28
LIBGTOP-VERSION
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
# Making releases:
|
||||||
|
# LIBGTOP_MICRO_VERSION += 1;
|
||||||
|
# LIBGTOP_INTERFACE_AGE += 1;
|
||||||
|
# LIBGTOP_BINARY_AGE += 1;
|
||||||
|
# if any functions have been added, set LIBGTOP_INTERFACE_AGE to 0.
|
||||||
|
# if backwards compatibility has been broken,
|
||||||
|
# set LIBGTOP_BINARY_AGE and LIBGTOP_INTERFACE_AGE to 0.
|
||||||
|
#
|
||||||
|
LIBGTOP_MAJOR_VERSION=1
|
||||||
|
LIBGTOP_MINOR_VERSION=90
|
||||||
|
LIBGTOP_MICRO_VERSION=0
|
||||||
|
|
||||||
|
LIBGTOP_INTERFACE_AGE=0
|
||||||
|
LIBGTOP_BINARY_AGE=0
|
||||||
|
# you can set this to `-snap' for instance to create
|
||||||
|
# a `libgtop-1.x.y-snap.tar.gz' tarball.
|
||||||
|
LIBGTOP_VERSION_SUFFIX=
|
||||||
|
|
||||||
|
# Increase each time you change the client/server protocol.
|
||||||
|
LIBGTOP_SERVER_VERSION=5
|
||||||
|
|
||||||
|
# Don't change this
|
||||||
|
LIBGTOP_VERSION=$LIBGTOP_MAJOR_VERSION.$LIBGTOP_MINOR_VERSION.$LIBGTOP_MICRO_VERSION
|
||||||
|
LIBGTOP_VERSION_CODE=`echo "$LIBGTOP_MAJOR_VERSION 1000000 * $LIBGTOP_MINOR_VERSION 1000 * + $LIBGTOP_MICRO_VERSION + p q" | dc`
|
||||||
|
|
||||||
|
# For automake.
|
||||||
|
VERSION=$LIBGTOP_VERSION$LIBGTOP_VERSION_SUFFIX
|
||||||
|
PACKAGE=libgtop
|
@@ -1,4 +0,0 @@
|
|||||||
Benoît Dejean
|
|
||||||
E-mail: benoit@placenet.org
|
|
||||||
Userid: bdejean
|
|
||||||
|
|
92
Makefile.am
92
Makefile.am
@@ -1,35 +1,93 @@
|
|||||||
|
## Process this file with automake to produce Makefile.in.
|
||||||
|
|
||||||
if EXAMPLES
|
if EXAMPLES
|
||||||
EXAMPLES_DIR = examples
|
examples_SUBDIRS = examples
|
||||||
else
|
else
|
||||||
EXAMPLES_DIR =
|
examples_SUBDIRS =
|
||||||
endif
|
endif
|
||||||
|
|
||||||
SUBDIRS = po misc include sysdeps lib src $(EXAMPLES_DIR) doc
|
if BUILD_GNOME_SUPPORT
|
||||||
|
support = support
|
||||||
|
endif
|
||||||
|
|
||||||
libgtopinclude_HEADERS = glibtop.h libgtopconfig.h
|
SUBDIRS = po $(support) misc include sysdeps lib src \
|
||||||
|
$(examples_SUBDIRS) doc
|
||||||
|
|
||||||
|
libgtopinclude_HEADERS = glibtop.h
|
||||||
libgtopincludedir = $(includedir)/libgtop-2.0
|
libgtopincludedir = $(includedir)/libgtop-2.0
|
||||||
|
|
||||||
EXTRA_DIST = autogen.sh libgtop.spec.in copyright.txt \
|
EXTRA_DIST = autogen.sh libgtop.spec.in copyright.txt libgtopConf.sh.in \
|
||||||
features.def libgtopconfig.h.in \
|
LIBGTOP-VERSION features.def libgtop-config.in RELNOTES-0.25 \
|
||||||
libgtop-sysdeps.m4 README \
|
RELNOTES-1.0 RELNOTES-1.0.x libgtop-sysdeps.m4 README \
|
||||||
libgtop-2.0.pc.in acinclude.m4 \
|
libgtop-mirror.sh libgtop-2.0.pc.in acinclude.m4
|
||||||
intltool-extract.in \
|
|
||||||
intltool-merge.in \
|
|
||||||
intltool-update.in
|
|
||||||
|
|
||||||
DISTCLEANFILES = \
|
|
||||||
intltool-extract \
|
|
||||||
intltool-merge \
|
|
||||||
intltool-update
|
|
||||||
|
|
||||||
dist-hook:
|
dist-hook:
|
||||||
cp libgtop.spec $(distdir)
|
cp libgtop.spec $(distdir)
|
||||||
|
|
||||||
|
release:
|
||||||
|
$(MAKE) dist distdir=$(PACKAGE)-$(VERSION)
|
||||||
|
|
||||||
|
## Put `exec' in the name because this should be installed by
|
||||||
|
## `install-exec', not `install-data'.
|
||||||
|
## confexecdir = $(libdir)
|
||||||
|
## confexec_DATA = $(top_builddir)/libgtopConf.sh \
|
||||||
|
## $(top_builddir)/libgtop-features.def
|
||||||
|
|
||||||
pkgconfigdir = $(libdir)/pkgconfig
|
pkgconfigdir = $(libdir)/pkgconfig
|
||||||
pkgconfig_DATA = libgtop-2.0.pc
|
pkgconfig_DATA = libgtop-2.0.pc
|
||||||
|
|
||||||
|
CLEANFILES=libgtopConf.sh
|
||||||
|
|
||||||
|
## bin_SCRIPTS = $(top_builddir)/libgtop-config
|
||||||
|
|
||||||
|
## to automatically rebuild aclocal.m4 if any of the macros in
|
||||||
|
## `macros/' change
|
||||||
|
## @MAINT@ include macros/macros.dep
|
||||||
|
## @MAINT@macros/macros.dep: macros/Makefile.am
|
||||||
|
## @MAINT@ cd macros && $(MAKE) macros.dep
|
||||||
|
|
||||||
|
@MAINT@$(top_srcdir)/aclocal.m4: libgtop-sysdeps.m4 LIBGTOP-VERSION
|
||||||
|
|
||||||
|
## We create libgtopConf.sh here and not from configure because we want
|
||||||
|
## to get the paths expanded correctly. Macros like srcdir are given
|
||||||
|
## the value NONE in configure if the user doesn't specify them (this
|
||||||
|
## is an autoconf feature, not a bug).
|
||||||
|
libgtopConf.sh: libgtopConf.sh.in Makefile
|
||||||
|
## Use sed and then mv to avoid problems if the user interrupts.
|
||||||
|
sed -e 's#\@LIBGTOP_LIBDIR\@#$(libdir)#g' \
|
||||||
|
-e 's#\@LIBGTOP_INCLUDEDIR\@#$(includedir)/libgtop-2.0#g' \
|
||||||
|
-e 's#\@LIBGTOP_DATADIR\@#$(datadir)#g' \
|
||||||
|
-e 's#\@LIBGTOP_EXTRA_LIBS\@#$(LIBGTOP_EXTRA_LIBS)#g' \
|
||||||
|
-e 's#\@LIBGTOP_LIBS\@#$(LIBGTOP_LIBS)#g' \
|
||||||
|
-e 's#\@LIBGTOP_INCS\@#$(LIBGTOP_INCS)#g' \
|
||||||
|
-e 's#\@LIBGTOP_NAMES_LIBS\@#$(LIBGTOP_NAMES_LIBS)#g' \
|
||||||
|
-e 's#\@LIBGTOP_NAMES_INCS\@#$(LIBGTOP_NAMES_INCS)#g' \
|
||||||
|
-e 's#\@LIBGTOP_GUILE_LIBS\@#$(LIBGTOP_GUILE_LIBS)#g' \
|
||||||
|
-e 's#\@LIBGTOP_GUILE_INCS\@#$(LIBGTOP_GUILE_INCS)#g' \
|
||||||
|
-e 's#\@LIBGTOP_GUILE_NAMES_LIBS\@#$(LIBGTOP_GUILE_NAMES_LIBS)#g' \
|
||||||
|
-e 's#\@LIBGTOP_GUILE_NAMES_INCS\@#$(LIBGTOP_GUILE_NAMES_INCS)#g' \
|
||||||
|
-e 's#\@LIBGTOP_BINDIR\@#$(LIBGTOP_BINDIR)#g' \
|
||||||
|
-e 's#\@LIBGTOP_SERVER\@#$(LIBGTOP_SERVER)#g' \
|
||||||
|
-e 's#\@LIBGTOP_MAJOR_VERSION\@#$(LIBGTOP_MAJOR_VERSION)#g' \
|
||||||
|
-e 's#\@LIBGTOP_MINOR_VERSION\@#$(LIBGTOP_MINOR_VERSION)#g' \
|
||||||
|
-e 's#\@LIBGTOP_MICRO_VERSION\@#$(LIBGTOP_MICRO_VERSION)#g' \
|
||||||
|
-e 's#\@LIBGTOP_VERSION\@#$(LIBGTOP_VERSION)#g' \
|
||||||
|
-e 's#\@LIBGTOP_VERSION_CODE\@#$(LIBGTOP_VERSION_CODE)#g' \
|
||||||
|
-e 's#\@LIBGTOP_SERVER_VERSION\@#$(LIBGTOP_SERVER_VERSION)#g' \
|
||||||
|
-e 's#\@libgtop_sysdeps_dir\@#$(libgtop_sysdeps_dir)#g' \
|
||||||
|
-e 's#\@libgtop_need_server\@#$(libgtop_need_server)#g' \
|
||||||
|
-e 's#\@libgtop_use_machine_h\@#$(libgtop_use_machine_h)#g' \
|
||||||
|
-e 's#\@libgtop_guile_found\@#$(libgtop_guile_found)#g' \
|
||||||
|
-e 's#\@libgtop_want_examples\@#$(libgtop_want_examples)#g' \
|
||||||
|
< $(srcdir)/libgtopConf.sh.in > libgtopConf.tmp \
|
||||||
|
&& mv libgtopConf.tmp libgtopConf.sh
|
||||||
|
|
||||||
|
# libgtop-config: libgtop-config.in Makefile
|
||||||
|
# sed -e 's#\@LIBGTOP_LIBDIR\@#$(libdir)#g' \
|
||||||
|
# < $(srcdir)/libgtop-config.in > libgtop-config.tmp \
|
||||||
|
# && mv libgtop-config.tmp libgtop-config && \
|
||||||
|
# chmod 755 libgtop-config
|
||||||
|
|
||||||
libgtop-features.def: features.def
|
libgtop-features.def: features.def
|
||||||
@LN_S@ $< $@
|
@LN_S@ $< $@
|
||||||
|
|
||||||
DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc
|
|
||||||
|
344
NEWS
344
NEWS
@@ -1,347 +1,3 @@
|
|||||||
19 January 2009: Overview of changes in 2.24.4
|
|
||||||
==============================================
|
|
||||||
* Fixed license: libgtop is GPL-2.
|
|
||||||
|
|
||||||
12 January 2009: Overview of changes in 2.24.3
|
|
||||||
==============================================
|
|
||||||
* linux:
|
|
||||||
- fixed potential memory leak. Vincent Untz.
|
|
||||||
- fixed read(2) usage. Should fix the missing cpus bug in system-monitor.
|
|
||||||
* darwin:
|
|
||||||
- fixed build. "paul".
|
|
||||||
|
|
||||||
22 Septembre 2008: Overview of changes in 2.24.0
|
|
||||||
================================================
|
|
||||||
* Translation updates.
|
|
||||||
|
|
||||||
18 August 2008: Overview of changes in 2.23.90
|
|
||||||
==============================================
|
|
||||||
* freebsd:
|
|
||||||
- updated port by Joe Marcus Clarke.
|
|
||||||
|
|
||||||
23 June 2008: Overview of changes in 2.23.4
|
|
||||||
===========================================
|
|
||||||
* linux:
|
|
||||||
- Fixed and improved glibtop_get_fsusage with kernel >= 2.6.25.
|
|
||||||
Closes #539360.
|
|
||||||
|
|
||||||
24 May 2008: Overview of changes in 2.23.2
|
|
||||||
==========================================
|
|
||||||
* glibtop_get_proc_open_files API can also lists IPv6 TCP sockets.
|
|
||||||
* glibtop_get_proc_affinity : new API to retrieve process CPU affinity.
|
|
||||||
|
|
||||||
(Let's hope one day i'll find the gtk-doc documentation ...)
|
|
||||||
|
|
||||||
* linux:
|
|
||||||
- fixed parsing of big /proc/stat for uptime.
|
|
||||||
|
|
||||||
04 April 2008: Overview of changes in 2.22.1
|
|
||||||
============================================
|
|
||||||
* Fixed compilation/dist for !linux.
|
|
||||||
Closes #525953.
|
|
||||||
|
|
||||||
10 Mars 2008: Overview of changes in 2.22.0
|
|
||||||
===========================================
|
|
||||||
* linux:
|
|
||||||
- fixed proc_kernel.
|
|
||||||
|
|
||||||
25 February 2008: Overview of changes in 2.21.92
|
|
||||||
================================================
|
|
||||||
* linux:
|
|
||||||
- fixed smaps parsing on >= 2.6.24.x.
|
|
||||||
|
|
||||||
14 January 2008: Overview of changes in 2.21.5
|
|
||||||
==============================================
|
|
||||||
* freebsd:
|
|
||||||
- fixed build on GNU/kfreebsd. Petr Salinger.
|
|
||||||
- fixed procmem units. Kuang-che Wu.
|
|
||||||
|
|
||||||
28 October 2007: Overview of changes in 2.21.1
|
|
||||||
==============================================
|
|
||||||
* don't export _p/_s private symbols anymore. This is not an API/ABI breakage.
|
|
||||||
* darwin implementation by Benjamin Reed.
|
|
||||||
* linux:
|
|
||||||
- splitted fsusage and mountlist implementations;
|
|
||||||
- smarter mountlist(allfs = False);
|
|
||||||
- fixed some compile warning on 64bit;
|
|
||||||
* solaris:
|
|
||||||
- fixed netload build by Henry Zhang.
|
|
||||||
|
|
||||||
16 September 2007: Overview of changes in 2.20.0
|
|
||||||
================================================
|
|
||||||
* Updated translations.
|
|
||||||
|
|
||||||
27 August 2007: Overview of changes in 2.19.92
|
|
||||||
==============================================
|
|
||||||
* Fixed stupid hardwired path in linux/sysinfo.c
|
|
||||||
|
|
||||||
26 August 2007: Overview of changes in 2.19.91
|
|
||||||
==============================================
|
|
||||||
* Translations updates.
|
|
||||||
* linux:
|
|
||||||
- Small internal improvement. Might fix sysinfo when having more than
|
|
||||||
8 CPUS.
|
|
||||||
|
|
||||||
9 July 2007: Overview of changes in 2.19.5
|
|
||||||
==========================================
|
|
||||||
* linux:
|
|
||||||
- fixed proc_map for >= 2.6.22
|
|
||||||
* freebsd:
|
|
||||||
- implemented procwd and procopenfiles
|
|
||||||
Joe Marcus Clarke
|
|
||||||
|
|
||||||
18 June 2007: Overview of changes in 2.19.4
|
|
||||||
===========================================
|
|
||||||
* solaris:
|
|
||||||
- fixed build. Damien Carbery.
|
|
||||||
|
|
||||||
3 June 2007: Overview of changes in 2.19.3
|
|
||||||
==========================================
|
|
||||||
* Small API change. get_proclist returns pid_t instead of unsigned
|
|
||||||
for consistency.
|
|
||||||
* linux:
|
|
||||||
- fixed an typo bug in open_files.
|
|
||||||
- got rid of useless glibtop_init_s calls.
|
|
||||||
* Enable example build by defaut.
|
|
||||||
* Dropped G_GNUC_INTERNAL attributes no longer needed.
|
|
||||||
This will please people trying to implement G_GNUC macro with a non
|
|
||||||
GNU Compiler.
|
|
||||||
|
|
||||||
13 May 2007: Overview of changes in 2.19.2
|
|
||||||
==========================================
|
|
||||||
* This is the first release of the 2.19.x series.
|
|
||||||
* Got rid of inodedb (you don't even know what it is ;)
|
|
||||||
* New unstable API glibtop_get_proc_wd to get working directories of
|
|
||||||
a process.
|
|
||||||
* Fixed OpenBSD build. Jasper Lievisse Adriaanse.
|
|
||||||
|
|
||||||
25 February 2007: Overview of changes in 2.14.8
|
|
||||||
===============================================
|
|
||||||
* bsd implementations have been splitted by Joe Marcus Clarke
|
|
||||||
and Alexander Nedotsukov. (k)freeBSD now has a separate implementation.
|
|
||||||
|
|
||||||
February 10, 2007: Overview of changes in 2.14.7
|
|
||||||
================================================
|
|
||||||
* bsd:
|
|
||||||
- massive kfreeBSD and FreeBSD updates by Roy Marples and Petr Salinger.
|
|
||||||
* mountlist can now ignore objfs and ctfs filesystems.
|
|
||||||
* fsusage won't return bavail > bfree anymore.
|
|
||||||
|
|
||||||
January 14, 2007: Overview of changes in 2.14.6
|
|
||||||
===============================================
|
|
||||||
* linux:
|
|
||||||
- fixed stack overflow in glibtop_get_proc_map
|
|
||||||
- fixed handling of long filenames in glibtop_get_proc_map and glibtop_get_proc_open_files.
|
|
||||||
- micro-optimization
|
|
||||||
|
|
||||||
December 3, 2006: Overview of changes in 2.14.5
|
|
||||||
===============================================
|
|
||||||
* Added kfreebsd support (Petr Salinger <Petr.Salinger@seznam.cz>).
|
|
||||||
* Added solaris glibtop_get_proc_open_files (Henry Zhang <hua.zhang@sun.com>).
|
|
||||||
* Migrated to gtk-doc (Germán Poó-Caamaño <gpoo@ubiobio.cl>).
|
|
||||||
* glibtop_get_mountlist can now ignore nsfd FS.
|
|
||||||
|
|
||||||
September 16, 2006: Overview of changes in 2.14.4
|
|
||||||
=================================================
|
|
||||||
* Fixed linux maps/smaps parsing on 64bit kernel.
|
|
||||||
|
|
||||||
September 5, 2006: Overview of changes in 2.14.3
|
|
||||||
================================================
|
|
||||||
* Fixed build with --as-needed.
|
|
||||||
* Added missing G_BEGIN_DECLS/G_END_DECLS.
|
|
||||||
|
|
||||||
July 27, 2006: Overview of changes in 2.14.2
|
|
||||||
============================================
|
|
||||||
* Updated solaris support (hua.zhang@sun.com)
|
|
||||||
* Small linux updates and improvments.
|
|
||||||
|
|
||||||
April 10, 2006: Overview of changes in 2.14.1
|
|
||||||
=============================================
|
|
||||||
* Updated translations.
|
|
||||||
* Fixed NetBSD port (Julio M. Merino Vidal <jmmv@NetBSD.org>).
|
|
||||||
* Fixed some warnings.
|
|
||||||
|
|
||||||
Mars 13, 2006: Overview of changes in 2.14.0
|
|
||||||
============================================
|
|
||||||
* Updated translations.
|
|
||||||
|
|
||||||
February 27, 2006: Overview of changes in 2.13.92
|
|
||||||
=================================================
|
|
||||||
* Fixed proc_state documentation.
|
|
||||||
* Updated mountlist ignore list.
|
|
||||||
|
|
||||||
January 23, 2006: Overview of changes in 2.13.3
|
|
||||||
===============================================
|
|
||||||
* linux:
|
|
||||||
- fixe get_procmap for linux < 2.6.14.
|
|
||||||
|
|
||||||
January 2, 2006: Overview of changes in 2.13.2
|
|
||||||
==============================================
|
|
||||||
* Fixed libtool versioning (James Henstridge)
|
|
||||||
|
|
||||||
December 15, 2005: Overview of changes in 2.13.1
|
|
||||||
================================================
|
|
||||||
* linux:
|
|
||||||
- fixed proclist
|
|
||||||
- implemented server->real_ncpu
|
|
||||||
|
|
||||||
December 13, 2005: Overview of changes in 2.13.0
|
|
||||||
================================================
|
|
||||||
* Requires automake-1.9 (James Henstridge)
|
|
||||||
* Supports up to 32 CPU
|
|
||||||
* Supports Linux smaps
|
|
||||||
* linux: fixed SMP detection
|
|
||||||
|
|
||||||
This release is not ABI compatible with previous releases. Sorry.
|
|
||||||
|
|
||||||
November 29, 2005: Overview of changes from 2.12.0 to 2.12.1
|
|
||||||
============================================================
|
|
||||||
* Dropped dead files
|
|
||||||
* linux: 1-line cleanup.
|
|
||||||
|
|
||||||
September 4, 2005: Overview of changes from 2.11.92 to 2.12.0
|
|
||||||
=============================================================
|
|
||||||
* Updated translations.
|
|
||||||
|
|
||||||
August 22, 2005: Overview of changes from 2.11.91 to 2.11.92
|
|
||||||
============================================================
|
|
||||||
* Linux:
|
|
||||||
- fixed for 2.6 without /sys
|
|
||||||
- glibtop_get_cpu() : Do not add irq, softirq and iowait to idle.
|
|
||||||
|
|
||||||
August 9, 2005: Overview of changes from 2.11.90 to 2.11.91
|
|
||||||
===========================================================
|
|
||||||
* All:
|
|
||||||
- cleaned some headers.
|
|
||||||
- removed static examples.
|
|
||||||
* Linux:
|
|
||||||
- fixed some issues with 2.6 without /sys
|
|
||||||
|
|
||||||
July 24, 2005: Overview of changes from 2.11.2 to 2.11.90
|
|
||||||
=========================================================
|
|
||||||
* Linux:
|
|
||||||
- fixed glibtop_uptime .flags.
|
|
||||||
|
|
||||||
July &3, 2005: Overview of changes from 2.11.1 to 2.11.2
|
|
||||||
========================================================
|
|
||||||
* Linux:
|
|
||||||
- little improvements for 2.6.
|
|
||||||
|
|
||||||
July 3, 2005: Overview of changes from 2.11.0 to 2.11.1
|
|
||||||
=======================================================
|
|
||||||
* Linux:
|
|
||||||
- glibtop_get_swap : added page(in|out) for linux 2.6.
|
|
||||||
|
|
||||||
June 8, 2005: Overview of changes from 2.10.x to 2.11.0
|
|
||||||
=======================================================
|
|
||||||
* Replaced a lot of macros by functions
|
|
||||||
* Got rid of dozens of useless files.
|
|
||||||
* libgtop 2.11.x are and will stay API and ABI compatible with 2.10.x, i swear.
|
|
||||||
|
|
||||||
April 10, 2005: Overview of changes from 2.10.0 to 2.10.1
|
|
||||||
=========================================================
|
|
||||||
* Updated i18n.
|
|
||||||
* Little cleanup and fixed gcc-4.0 compilation.
|
|
||||||
* linux: fixed loadavg and uptime if locale != C.
|
|
||||||
Updated siglist.
|
|
||||||
* Tighter libgtop-2.0.pc.
|
|
||||||
|
|
||||||
Mars 7, 2005: Overview of Changes from 2.9.92 to 2.10.0
|
|
||||||
=======================================================
|
|
||||||
* Updated i18n.
|
|
||||||
|
|
||||||
February 28, 2005: Overview of Changes from 2.9.90 to 2.9.92
|
|
||||||
============================================================
|
|
||||||
* *BSD updated by marcus@freebsd.org (Joe Marcus Clarke).
|
|
||||||
* Removed a lot of dead files :)
|
|
||||||
* Don't build&install libgtop_daemon when it's never used.
|
|
||||||
|
|
||||||
February 6, 2004: Overview of Changes from 2.9.90 to 2.9.91
|
|
||||||
==========================================================
|
|
||||||
* Fixed typo in stub.
|
|
||||||
* Updated i18n.
|
|
||||||
|
|
||||||
January 24, 2004: Overview of Changes from 2.9.4 to 2.9.90
|
|
||||||
==========================================================
|
|
||||||
* Updated Linux support.
|
|
||||||
|
|
||||||
January 10, 2004: Overview of Changes from 2.9.3 to 2.9.4
|
|
||||||
=========================================================
|
|
||||||
* New glibtop_proc_open_files nick@reloco.com.ar (Nicolás Lichtmaier).
|
|
||||||
* Updated AIX support (Christophe Belle).
|
|
||||||
|
|
||||||
December 20, 2004: Overview of Changes from 2.9.0 to 2.9.3
|
|
||||||
==========================================================
|
|
||||||
* Removed libgtop_names.
|
|
||||||
* Fixed Argument passing between library and server. #139809.
|
|
||||||
* *BSD updated by marcus@freebsd.org (Joe Marcus Clarke).
|
|
||||||
* glibtop_get_mountlist(False) now ignores 'unknown' fs.
|
|
||||||
|
|
||||||
|
|
||||||
November 30, 2004: Overview of Changes from 2.8.1 to 2.9.0
|
|
||||||
=========================================================
|
|
||||||
* glibtop_get_netload : Fixed segfault on linux with ppp devices.
|
|
||||||
* NEW glibtop_get_netlist : retrieves the list of all available interfaces.
|
|
||||||
* NEW LIBGTOP_CHECK_VERSION(major, minor, micro)
|
|
||||||
* Removed dead kernel patch and implementation.
|
|
||||||
* Cleanups on Linux and Solaris.
|
|
||||||
|
|
||||||
October 11, 2004: Overview of Changes from 2.8.0 to 2.8.1
|
|
||||||
=========================================================
|
|
||||||
* Improved Solaris and AIX support.
|
|
||||||
|
|
||||||
|
|
||||||
August 13, 2004: Overview of Changes from 2.7.92 to 2.8.0
|
|
||||||
=========================================================
|
|
||||||
* No changes
|
|
||||||
|
|
||||||
|
|
||||||
August 30, 2004:
|
|
||||||
===============
|
|
||||||
* Applied some *BSD patches.
|
|
||||||
* Removed old files.
|
|
||||||
|
|
||||||
|
|
||||||
August 15, 2004:
|
|
||||||
===============
|
|
||||||
* Fixed compilation with C89-only compilers and old libc.
|
|
||||||
|
|
||||||
|
|
||||||
August 3, 2004:
|
|
||||||
==============
|
|
||||||
* Some cleanups.
|
|
||||||
* Fixed the behaviour of some linux proc_*() functions.
|
|
||||||
* Updated the documentation.
|
|
||||||
|
|
||||||
|
|
||||||
July 19, 2004: Overview of Changes from 2.6.1 to 2.7.4
|
|
||||||
======================================================
|
|
||||||
* Plenty of code cleanups. Uninlined a lot of functions. ~5-10KB object size
|
|
||||||
reduction.
|
|
||||||
* Glibify a bit more.
|
|
||||||
* API changes:
|
|
||||||
- glibtop_fsusage provides total read and writes since boot_time.
|
|
||||||
- glibtop_netload provides hardware address. IPv6 enable.
|
|
||||||
- Added glibtop_get_proc_argv.
|
|
||||||
|
|
||||||
Work in progress :
|
|
||||||
* Finish glibtop_fsusage implementation for Linux.
|
|
||||||
* Some fuctions don't conform to the documentation, e.g. proctime.
|
|
||||||
|
|
||||||
March 11, 2004:
|
|
||||||
===============
|
|
||||||
|
|
||||||
* Released LibGTop 2.5.99 "Gross Work", dedicated to people who do push-ups
|
|
||||||
in the loos.
|
|
||||||
|
|
||||||
- plenty of code cleanups
|
|
||||||
|
|
||||||
- removed the dependency on libgnome, only glib required now
|
|
||||||
|
|
||||||
- Linux 2.6 support, NetBSD support and better FreeBSD support
|
|
||||||
|
|
||||||
- Make the block size available for filesystem statistics
|
|
||||||
|
|
||||||
February 27, 2001:
|
February 27, 2001:
|
||||||
=================
|
=================
|
||||||
|
|
||||||
|
16
README
16
README
@@ -1,20 +1,8 @@
|
|||||||
|
$Id$
|
||||||
|
|
||||||
LATEST NEWS:
|
LATEST NEWS:
|
||||||
===========
|
===========
|
||||||
|
|
||||||
Please look also in the file 'NEWS' for latest news.
|
Please look also in the file 'NEWS' for latest news.
|
||||||
|
|
||||||
Martin
|
Martin
|
||||||
|
|
||||||
|
|
||||||
ChangeLogs:
|
|
||||||
==========
|
|
||||||
|
|
||||||
LibGTop has many ChangeLogs files. The following files are the the
|
|
||||||
most important :
|
|
||||||
|
|
||||||
- ChangeLog is the main ChangeLog.
|
|
||||||
- sysdeps/<arch>/ChangeLog is the ChangeLog for arch specific changes.
|
|
||||||
- sysdeps/common/ChangeLog is the ChangeLog for common changes (shared
|
|
||||||
implementation between archs).
|
|
||||||
|
|
||||||
Benoît
|
|
||||||
|
146
RELNOTES-0.25
Normal file
146
RELNOTES-0.25
Normal file
@@ -0,0 +1,146 @@
|
|||||||
|
RELEASE NOTES FOR LIBGTOP 0.25 STABLE
|
||||||
|
=====================================
|
||||||
|
|
||||||
|
OVERVIEW
|
||||||
|
--------
|
||||||
|
|
||||||
|
LibGTop is a library that read information about processes and the running
|
||||||
|
systems. This information include:
|
||||||
|
|
||||||
|
General System Information
|
||||||
|
|
||||||
|
cpu - CPU Usage
|
||||||
|
mem - Memory Usage
|
||||||
|
swap - Swap Usage (including paging activity)
|
||||||
|
loadavg - Load average (including nr_running, nr_tasks, last_pid)
|
||||||
|
uptime - Uptime and Idle time, can be calculated from CPU usage
|
||||||
|
|
||||||
|
SYS V IPC Limits:
|
||||||
|
|
||||||
|
shm_limits - Shared Memory Limits
|
||||||
|
msg_limits - Message Queue Limits
|
||||||
|
sem_limits - Semaphore Set Limits
|
||||||
|
|
||||||
|
Process List:
|
||||||
|
|
||||||
|
proclist - List of processes
|
||||||
|
|
||||||
|
Process information:
|
||||||
|
|
||||||
|
proc_state - cmd, state, uid, gid
|
||||||
|
proc_uid - uid,euid,gid,egid,pid,ppid,pgrp
|
||||||
|
session,tty,tpgid,priority,nice
|
||||||
|
proc_mem - size,vsize,resident,share,rss,rss_rlim
|
||||||
|
proc_time - start_time,rtime,utime,stime,cutime,cstime
|
||||||
|
timeout,it_real_value,frequency
|
||||||
|
proc_signal - signal,blocked,sigignore,sigcatch
|
||||||
|
proc_kernel - k_flags,min_flt,maj_flt,cmin_flt,cmaj_flt
|
||||||
|
kstk_esp,kstk_eip,nwchan,wchan
|
||||||
|
proc_segment - text_rss,shlib_rss,data_rss,stack_rss,dirty_size
|
||||||
|
start_code,end_code,start_stack
|
||||||
|
|
||||||
|
Process maps:
|
||||||
|
|
||||||
|
proc_map - Process map (/proc/<pid>/maps under Linux)
|
||||||
|
|
||||||
|
File system usage:
|
||||||
|
|
||||||
|
mountlist - List of currently mounted filesystems
|
||||||
|
fsusage - File system usage
|
||||||
|
|
||||||
|
PORTABILITY:
|
||||||
|
-----------
|
||||||
|
|
||||||
|
LibGtop is designed to be as portable as possible. None of the functions
|
||||||
|
and retrieved information should be specific to a specific operating
|
||||||
|
system. So you only need to port the system dependent part of the library
|
||||||
|
to a new system and all application programs can then use libgtop on this
|
||||||
|
new system.
|
||||||
|
|
||||||
|
CLIENT/SERVER MODEL:
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
Some systems like DEC OSF/1 or BSD require special priviledges for the calling
|
||||||
|
proces to fetch the required information (SUID root/SGID kmem). To solve this
|
||||||
|
problem, I designed a client/server model which makes a call to a SUID/SGID
|
||||||
|
server which fetches the required information whenever it is required. This
|
||||||
|
server is only called for features that really require priviledges, otherwise
|
||||||
|
the sysdeps code is called directory (every user can get the CPU usage on
|
||||||
|
DEC OSF/1, but only root can get information about processes other than the
|
||||||
|
current one).
|
||||||
|
|
||||||
|
There is also some kind of daemon which can be used to fetch information from
|
||||||
|
remote systems (still experimental). This daemon normally runs as nobody and
|
||||||
|
calls the SUID/SGID itself when needed.
|
||||||
|
|
||||||
|
GNOME APPLETS:
|
||||||
|
--------------
|
||||||
|
|
||||||
|
There are some applets and applications which already use LibGTop. They can
|
||||||
|
be found in the `libgtop-apps' module in the GNOME CVS tree:
|
||||||
|
|
||||||
|
* Applets: cpuload, cpumemusage - they need LibGTop to get their information
|
||||||
|
on all systems other than Linux.
|
||||||
|
|
||||||
|
* Applets: diskusage - just uses the mountlist/fsusage features of LibGTop,
|
||||||
|
the one in gnome-core also works on other systems.
|
||||||
|
|
||||||
|
* Applets: multiload - I enhanced the cpuload applet a little bit, it is
|
||||||
|
now a multi applet and can display CPU, Memory and
|
||||||
|
Swap usages.
|
||||||
|
|
||||||
|
GTOP:
|
||||||
|
----
|
||||||
|
|
||||||
|
This cool GNOME app has been ported to use LibGTop. It can be found in
|
||||||
|
`libgtop-apps/gtop' in the GNOME CVS tree.
|
||||||
|
|
||||||
|
You can now use nearly the full functionality of GTop on FreeBSD !
|
||||||
|
|
||||||
|
|
||||||
|
PLATTFORM SPECIFIC NOTES FOR LINUX:
|
||||||
|
==================================
|
||||||
|
|
||||||
|
Under Linux, LibGTop should work without problems and read everything
|
||||||
|
from /proc.
|
||||||
|
|
||||||
|
There is also an experimental kernel interface to read this information
|
||||||
|
directly from the kernel with a system call - but this is still experimental
|
||||||
|
and not well tested while I made this release.
|
||||||
|
|
||||||
|
PLATTFORM SPECIFIC NOTES FOR FREEBSD:
|
||||||
|
====================================
|
||||||
|
|
||||||
|
LibGTop should now work under FreeBSD and give you the full functionality
|
||||||
|
of GTop.
|
||||||
|
|
||||||
|
There are a few caveats:
|
||||||
|
|
||||||
|
* You need to manually make the `$(prefix)/bin/libgtop_server' SGID to kmem
|
||||||
|
after installation and mount the /proc filesystem of FreeBSD
|
||||||
|
(/proc/<pid>/mem is used withing kvm_uread ()).
|
||||||
|
|
||||||
|
* To get the filenames of the process maps displayed in GTop, you need to
|
||||||
|
configure with the `--with-libgtop-inodedb' option (you need GDBM for this
|
||||||
|
to work).
|
||||||
|
|
||||||
|
* You have then to create an inode database which is used to look up to
|
||||||
|
filenames. This is done using the `mkinodedb' program which comes along
|
||||||
|
with libgtop.
|
||||||
|
|
||||||
|
See the file src/inodedb/README for details:
|
||||||
|
|
||||||
|
The `mkinodedb' program which is build in this directory takes two
|
||||||
|
command line arguments: the full pathname of the database to be created
|
||||||
|
and the name of a configuration file consisting of directory and file names
|
||||||
|
each on a line by itself - see `/etc/ld.so.conf' for an example.
|
||||||
|
|
||||||
|
Putting a directory name in this file means all regular files found in this
|
||||||
|
directory are included in the database, but it will not recursively descend
|
||||||
|
into subdirectories (for instance, we want everythink in `/usr/lib' but not
|
||||||
|
every single file in `/usr/lib/sgml'). You can also use filenames to include
|
||||||
|
a single file.
|
||||||
|
|
||||||
|
Have fun,
|
||||||
|
|
||||||
|
Martin <martin@home-of-linux.org>
|
163
RELNOTES-1.0
Normal file
163
RELNOTES-1.0
Normal file
@@ -0,0 +1,163 @@
|
|||||||
|
RELEASE NOTES FOR LIBGTOP 1.0 STABLE
|
||||||
|
====================================
|
||||||
|
|
||||||
|
OVERVIEW
|
||||||
|
--------
|
||||||
|
|
||||||
|
LibGTop is a library that read information about processes and the
|
||||||
|
running systems. This information include:
|
||||||
|
|
||||||
|
General System Information:
|
||||||
|
|
||||||
|
cpu - CPU Usage
|
||||||
|
mem - Memory Usage
|
||||||
|
swap - Swap Usage (including paging activity)
|
||||||
|
loadavg - Load average (including nr_running, nr_tasks, last_pid)
|
||||||
|
uptime - Uptime and Idle time, can be calculated from CPU usage
|
||||||
|
|
||||||
|
SYS V IPC Limits:
|
||||||
|
|
||||||
|
shm_limits - Shared Memory Limits
|
||||||
|
msg_limits - Message Queue Limits
|
||||||
|
sem_limits - Semaphore Set Limits
|
||||||
|
|
||||||
|
Network:
|
||||||
|
|
||||||
|
netload - Network load
|
||||||
|
ppp - PPP statistics
|
||||||
|
|
||||||
|
Process List:
|
||||||
|
|
||||||
|
proclist - List of processes
|
||||||
|
|
||||||
|
Process information:
|
||||||
|
|
||||||
|
proc_state - cmd, state, uid, gid
|
||||||
|
proc_uid - uid,euid,gid,egid,pid,ppid,pgrp
|
||||||
|
session,tty,tpgid,priority,nice
|
||||||
|
proc_mem - size,vsize,resident,share,rss,rss_rlim
|
||||||
|
proc_time - start_time,rtime,utime,stime,cutime,cstime
|
||||||
|
timeout,it_real_value,frequency
|
||||||
|
proc_signal - signal,blocked,sigignore,sigcatch
|
||||||
|
proc_kernel - k_flags,min_flt,maj_flt,cmin_flt,cmaj_flt
|
||||||
|
kstk_esp,kstk_eip,nwchan,wchan
|
||||||
|
proc_segment - text_rss,shlib_rss,data_rss,stack_rss,dirty_size
|
||||||
|
start_code,end_code,start_stack
|
||||||
|
|
||||||
|
Process maps:
|
||||||
|
|
||||||
|
proc_args - Command line arguments
|
||||||
|
proc_map - Process map (/proc/<pid>/maps under Linux)
|
||||||
|
|
||||||
|
File system usage:
|
||||||
|
|
||||||
|
mountlist - List of currently mounted filesystems
|
||||||
|
fsusage - File system usage
|
||||||
|
|
||||||
|
PORTABILITY:
|
||||||
|
-----------
|
||||||
|
|
||||||
|
LibGTop is designed to be as portable as possible. None of the
|
||||||
|
functions and retrieved information should be specific to a specific
|
||||||
|
operating system. So you only need to port the system dependent part
|
||||||
|
of the library to a new system and all application programs can then
|
||||||
|
use libgtop on this new system.
|
||||||
|
|
||||||
|
CLIENT/SERVER MODEL:
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
Some systems like DEC OSF/1 or BSD require special privileges for the
|
||||||
|
calling process to fetch the required information (SUID root/SGID
|
||||||
|
kmem). To solve this problem, I designed a client/server model which
|
||||||
|
makes a call to a SUID/SGID server which fetches the required
|
||||||
|
information whenever it is required. This server is only called for
|
||||||
|
features that really require privileges, otherwise the sysdeps code
|
||||||
|
is called directory (every user can get the CPU usage on DEC OSF/1,
|
||||||
|
but only root can get information about processes other than the
|
||||||
|
current one).
|
||||||
|
|
||||||
|
There is also some kind of daemon which can be used to fetch
|
||||||
|
information from remote systems (still experimental). This daemon
|
||||||
|
normally runs as nobody and calls the SUID/SGID itself when needed.
|
||||||
|
|
||||||
|
LIBGTOP AND GNOME:
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
LibGTop is currently used in various places in the GNOME Project,
|
||||||
|
for instance in some of the applets in gnome-core and - of cause -
|
||||||
|
this ultra-cool application called GTop ...
|
||||||
|
|
||||||
|
Although LibGTop is not specific to GNOME and under GPL license, I
|
||||||
|
spent most my time during the last months to work in the GNOME project
|
||||||
|
so this is the primary use for LibGTop (and currently the only one).
|
||||||
|
|
||||||
|
However, you can also give its configure.in script the `--without-gnome'
|
||||||
|
parameter and then use it fully without GNOME in your own applications.
|
||||||
|
|
||||||
|
LIBGTOP AND GNOME - PART II:
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
LibGTop was tested with FreeBSD 3.0 but it should also work with
|
||||||
|
FreeBSD 2.2.7, NetBSD and OpenBSD.
|
||||||
|
|
||||||
|
Currently my primary aim is to help the GNOME people with our 1.0 release
|
||||||
|
so I won't have much time to test it with any other system than Linux.
|
||||||
|
|
||||||
|
However, I consider FreeBSD, NetBSD and OpenBSD as supported systems for
|
||||||
|
LibGTop and whenever I get bug reports I will do my best to fix them as
|
||||||
|
quickly as possible.
|
||||||
|
|
||||||
|
PLATFORM SPECIFIC NOTES FOR LINUX:
|
||||||
|
==================================
|
||||||
|
|
||||||
|
Under Linux, LibGTop should work without problems and read everything
|
||||||
|
from /proc.
|
||||||
|
|
||||||
|
LibGTop 0.25 also had an experimental kernel interface to read this
|
||||||
|
information directly from the kernel with a system call - but I have
|
||||||
|
currently dropped support for this as I am too busy with GNOME
|
||||||
|
development to keep current with kernel hacking.
|
||||||
|
|
||||||
|
PLATFORM SPECIFIC NOTES FOR SOLARIS:
|
||||||
|
====================================
|
||||||
|
|
||||||
|
Since so many people were asking me about this:
|
||||||
|
|
||||||
|
LibGTop currently does not have any support for Solaris, and it will
|
||||||
|
never have until some volunteer writes the code for it. I can't do this
|
||||||
|
myself since I do not have any machine to test it on.
|
||||||
|
|
||||||
|
PLATFORM SPECIFIC NOTES FOR BSD:
|
||||||
|
=================================
|
||||||
|
|
||||||
|
There are a few caveats:
|
||||||
|
|
||||||
|
* You need to manually make the `$(prefix)/bin/libgtop_server' SGID to
|
||||||
|
kmem after installation and mount the /proc file system of FreeBSD
|
||||||
|
(/proc/<pid>/mem is used within kvm_uread ()).
|
||||||
|
|
||||||
|
* To get the filenames of the process maps displayed in GTop, you need
|
||||||
|
to configure with the `--with-libgtop-inodedb' option (you need GDBM
|
||||||
|
for this to work).
|
||||||
|
|
||||||
|
You have then to create an inode database which is used to look up
|
||||||
|
filenames. This is done using the `mkinodedb' program which comes
|
||||||
|
along with libgtop.
|
||||||
|
|
||||||
|
See the file src/inodedb/README for details:
|
||||||
|
|
||||||
|
The `mkinodedb' program which is build in this directory takes two
|
||||||
|
command line arguments: the full pathname of the database to be
|
||||||
|
created and the name of a configuration file consisting of directory
|
||||||
|
and file names each on a line by itself - see `/etc/ld.so.conf' for
|
||||||
|
an example.
|
||||||
|
|
||||||
|
Putting a directory name in this file means all regular files found
|
||||||
|
in this directory are included in the database, but it will not
|
||||||
|
recursively descend into subdirectories (for instance, we want
|
||||||
|
everything in `/usr/lib' but not every single file in `/usr/lib/sgml').
|
||||||
|
You can also use filenames to include a single file.
|
||||||
|
|
||||||
|
Have fun,
|
||||||
|
|
||||||
|
Martin <martin@home-of-linux.org>
|
172
RELNOTES-1.0.x
Normal file
172
RELNOTES-1.0.x
Normal file
@@ -0,0 +1,172 @@
|
|||||||
|
RELEASE NOTES FOR LIBGTOP 1.0.7
|
||||||
|
===============================
|
||||||
|
|
||||||
|
OVERVIEW
|
||||||
|
--------
|
||||||
|
|
||||||
|
LibGTop is a library that read information about processes and the
|
||||||
|
running systems. This information include:
|
||||||
|
|
||||||
|
General System Information:
|
||||||
|
|
||||||
|
cpu - CPU Usage
|
||||||
|
mem - Memory Usage
|
||||||
|
swap - Swap Usage (including paging activity)
|
||||||
|
loadavg - Load average (including nr_running, nr_tasks, last_pid)
|
||||||
|
uptime - Uptime and Idle time, can be calculated from CPU usage
|
||||||
|
|
||||||
|
SYS V IPC Limits:
|
||||||
|
|
||||||
|
shm_limits - Shared Memory Limits
|
||||||
|
msg_limits - Message Queue Limits
|
||||||
|
sem_limits - Semaphore Set Limits
|
||||||
|
|
||||||
|
Network:
|
||||||
|
|
||||||
|
netload - Network load
|
||||||
|
ppp - PPP statistics
|
||||||
|
|
||||||
|
Process List:
|
||||||
|
|
||||||
|
proclist - List of processes
|
||||||
|
|
||||||
|
Process information:
|
||||||
|
|
||||||
|
proc_state - cmd, state, uid, gid
|
||||||
|
proc_uid - uid,euid,gid,egid,pid,ppid,pgrp
|
||||||
|
session,tty,tpgid,priority,nice
|
||||||
|
proc_mem - size,vsize,resident,share,rss,rss_rlim
|
||||||
|
proc_time - start_time,rtime,utime,stime,cutime,cstime
|
||||||
|
timeout,it_real_value,frequency
|
||||||
|
proc_signal - signal,blocked,sigignore,sigcatch
|
||||||
|
proc_kernel - k_flags,min_flt,maj_flt,cmin_flt,cmaj_flt
|
||||||
|
kstk_esp,kstk_eip,nwchan,wchan
|
||||||
|
proc_segment - text_rss,shlib_rss,data_rss,stack_rss,dirty_size
|
||||||
|
start_code,end_code,start_stack
|
||||||
|
|
||||||
|
Process maps:
|
||||||
|
|
||||||
|
proc_args - Command line arguments
|
||||||
|
proc_map - Process map (/proc/<pid>/maps under Linux)
|
||||||
|
|
||||||
|
File system usage:
|
||||||
|
|
||||||
|
mountlist - List of currently mounted filesystems
|
||||||
|
fsusage - File system usage
|
||||||
|
|
||||||
|
PORTABILITY:
|
||||||
|
-----------
|
||||||
|
|
||||||
|
LibGTop is designed to be as portable as possible. None of the
|
||||||
|
functions and retrieved information should be specific to a specific
|
||||||
|
operating system. So you only need to port the system dependent part
|
||||||
|
of the library to a new system and all application programs can then
|
||||||
|
use libgtop on this new system.
|
||||||
|
|
||||||
|
CLIENT/SERVER MODEL:
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
Some systems like DEC OSF/1 or BSD require special privileges for the
|
||||||
|
calling process to fetch the required information (SUID root/SGID
|
||||||
|
kmem). To solve this problem, I designed a client/server model which
|
||||||
|
makes a call to a SUID/SGID server which fetches the required
|
||||||
|
information whenever it is required. This server is only called for
|
||||||
|
features that really require privileges, otherwise the sysdeps code
|
||||||
|
is called directory (every user can get the CPU usage on DEC OSF/1,
|
||||||
|
but only root can get information about processes other than the
|
||||||
|
current one).
|
||||||
|
|
||||||
|
There is also some kind of daemon which can be used to fetch
|
||||||
|
information from remote systems (still experimental). This daemon
|
||||||
|
normally runs as nobody and calls the SUID/SGID itself when needed.
|
||||||
|
|
||||||
|
LIBGTOP AND GNOME:
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
Although LibGTop is part of the GNOME desktop environment, its main
|
||||||
|
interface is totally independent from any particular desktop environment,
|
||||||
|
so you can also use it as a standalone library in any piece of GPLed
|
||||||
|
software which makes it also a valuable part of the GNU project.
|
||||||
|
|
||||||
|
LibGTop is currently used in various places in the GNOME Project,
|
||||||
|
for instance in some of the applets in gnome-core and - of cause -
|
||||||
|
this ultra-cool application called GTop ...
|
||||||
|
|
||||||
|
However, you need to give the configure.in script the `--without-gnome'
|
||||||
|
parameter when you want to use LibGTop without GNOME (this is because,
|
||||||
|
if you want to use it with GNOME, you need to compile it after the main
|
||||||
|
GNOME libraries and I wanted to avoid getting unnecessary bug reports
|
||||||
|
about this).
|
||||||
|
|
||||||
|
LIBGTOP AND GNOME - PART II:
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
LibGTop was tested with FreeBSD 3.0 but it should also work with
|
||||||
|
FreeBSD 2.2.7, NetBSD and OpenBSD.
|
||||||
|
|
||||||
|
Unfortunately, I don't have the power and disk space to install all
|
||||||
|
possible operating systems out there on my machine and test things myself,
|
||||||
|
so I depend on people telling me whether it works and sending me bug
|
||||||
|
reports and patches if not.
|
||||||
|
|
||||||
|
However, I consider FreeBSD, NetBSD and OpenBSD as supported systems for
|
||||||
|
LibGTop and whenever I get bug reports I will do my best to fix them as
|
||||||
|
quickly as possible.
|
||||||
|
|
||||||
|
PLATFORM SPECIFIC NOTES FOR LINUX:
|
||||||
|
==================================
|
||||||
|
|
||||||
|
[I am speaking of the Linux kernel here.]
|
||||||
|
|
||||||
|
Under Linux, LibGTop should work without problems and read everything
|
||||||
|
from /proc.
|
||||||
|
|
||||||
|
LibGTop 0.25 also had an experimental kernel interface to read this
|
||||||
|
information directly from the kernel with a system call - but I have
|
||||||
|
currently dropped support for this as I am too busy with GNOME
|
||||||
|
development to keep current with kernel hacking.
|
||||||
|
|
||||||
|
PLATFORM SPECIFIC NOTES FOR SOLARIS:
|
||||||
|
====================================
|
||||||
|
|
||||||
|
The development branch of LibGTop (the 1.1.x series) has a first version
|
||||||
|
of the Solaris port which works at least on Solaris 7.
|
||||||
|
|
||||||
|
If you are on a Solaris system and want to give it a try, just fetch the
|
||||||
|
latest 1.1.x tarball from ftp://ftp.home-of-linux.org/pub/libgtop/1.1/
|
||||||
|
and try it out.
|
||||||
|
|
||||||
|
PLATFORM SPECIFIC NOTES FOR BSD:
|
||||||
|
=================================
|
||||||
|
|
||||||
|
There are a few caveats:
|
||||||
|
|
||||||
|
* You need to manually make the `$(prefix)/bin/libgtop_server' SGID to
|
||||||
|
kmem after installation and mount the /proc file system of FreeBSD
|
||||||
|
(/proc/<pid>/mem is used within kvm_uread ()).
|
||||||
|
|
||||||
|
* To get the filenames of the process maps displayed in GTop, you need
|
||||||
|
to configure with the `--with-libgtop-inodedb' option (you need GDBM
|
||||||
|
for this to work).
|
||||||
|
|
||||||
|
You have then to create an inode database which is used to look up
|
||||||
|
filenames. This is done using the `mkinodedb' program which comes
|
||||||
|
along with libgtop.
|
||||||
|
|
||||||
|
See the file src/inodedb/README for details:
|
||||||
|
|
||||||
|
The `mkinodedb' program which is build in this directory takes two
|
||||||
|
command line arguments: the full pathname of the database to be
|
||||||
|
created and the name of a configuration file consisting of directory
|
||||||
|
and file names each on a line by itself - see `/etc/ld.so.conf' for
|
||||||
|
an example.
|
||||||
|
|
||||||
|
Putting a directory name in this file means all regular files found
|
||||||
|
in this directory are included in the database, but it will not
|
||||||
|
recursively descend into subdirectories (for instance, we want
|
||||||
|
everything in `/usr/lib' but not every single file in `/usr/lib/sgml').
|
||||||
|
You can also use filenames to include a single file.
|
||||||
|
|
||||||
|
Have fun,
|
||||||
|
|
||||||
|
Martin <martin@home-of-linux.org>
|
170
acconfig.h
Normal file
170
acconfig.h
Normal file
@@ -0,0 +1,170 @@
|
|||||||
|
|
||||||
|
/* Define if gethostname () must be declared. */
|
||||||
|
#undef NEED_DECLARATION_GETHOSTNAME
|
||||||
|
|
||||||
|
/* Define if setreuid () must be declared. */
|
||||||
|
#undef NEED_DECLARATION_SETREUID
|
||||||
|
|
||||||
|
/* Define if setregid () must be declared. */
|
||||||
|
#undef NEED_DECLARATION_SETREGID
|
||||||
|
|
||||||
|
/* Define if getpagesize () must be declared. */
|
||||||
|
#undef NEED_DECLARATION_GETPAGESIZE
|
||||||
|
|
||||||
|
/* Define if program_invocation_name must be declared. */
|
||||||
|
#undef NEED_DECLARATION_PROGRAM_INVOCATION_NAME
|
||||||
|
|
||||||
|
@TOP@
|
||||||
|
|
||||||
|
#undef ENABLE_NLS
|
||||||
|
#undef HAVE_CATGETS
|
||||||
|
#undef GETTEXT_PACKAGE
|
||||||
|
#undef HAVE_GETTEXT
|
||||||
|
#undef HAVE_LC_MESSAGES
|
||||||
|
#undef HAVE_STPCPY
|
||||||
|
#undef HAVE_STRUCT_OSOCKADDR
|
||||||
|
#undef PACKAGE
|
||||||
|
#undef VERSION
|
||||||
|
#undef HAVE_LIBSM
|
||||||
|
#undef HAVE_LIBINTL_H
|
||||||
|
#undef HAVE_GTK_SIGNAL_HANDLER_PENDING
|
||||||
|
|
||||||
|
/* Do not remove this comments and the empty lines; they are needed */
|
||||||
|
#undef HAVE_PROGRAM_INVOCATION_SHORT_NAME
|
||||||
|
/* Define if you have the Andrew File System. */
|
||||||
|
#undef AFS
|
||||||
|
|
||||||
|
/* Define one of the following to indicate how a program can
|
||||||
|
get a list of mounted filesystems. */
|
||||||
|
|
||||||
|
/* Define if there is no specific function for reading the list of
|
||||||
|
mounted filesystems. fread will be used to read /etc/mnttab. [SVR2] */
|
||||||
|
#undef MOUNTED_FREAD
|
||||||
|
|
||||||
|
/* Define if (like SVR2) there is no specific function for reading the
|
||||||
|
list of mounted filesystems, and your system has these header files:
|
||||||
|
<sys/fstyp.h> and <sys/statfs.h>. [SVR3] */
|
||||||
|
#undef MOUNTED_FREAD_FSTYP
|
||||||
|
|
||||||
|
/* Define if there is a function named getfsstat for reading the list
|
||||||
|
of mounted filesystems. [DEC Alpha running OSF/1] */
|
||||||
|
#undef MOUNTED_GETFSSTAT
|
||||||
|
|
||||||
|
/* Define if there is a function named getmnt for reading the list of
|
||||||
|
mounted filesystems. [Ultrix] */
|
||||||
|
#undef MOUNTED_GETMNT
|
||||||
|
|
||||||
|
/* Define if there is a function named getmntent for reading the list
|
||||||
|
of mounted filesystems, and that function takes a single argument.
|
||||||
|
[4.3BSD, SunOS, HP-UX, Dynix, Irix] */
|
||||||
|
#undef MOUNTED_GETMNTENT1
|
||||||
|
|
||||||
|
/* Define if there is a function named getmntent for reading the list of
|
||||||
|
mounted filesystems, and that function takes two arguments. [SVR4] */
|
||||||
|
#undef MOUNTED_GETMNTENT2
|
||||||
|
|
||||||
|
/* Define if there is a function named getmntinfo for reading the list
|
||||||
|
of mounted filesystems. [4.4BSD] */
|
||||||
|
#undef MOUNTED_GETMNTINFO
|
||||||
|
|
||||||
|
/* Define if there is a function named listmntent that can be used to
|
||||||
|
list all mounted filesystems. [UNICOS] */
|
||||||
|
#undef MOUNTED_LISTMNTENT
|
||||||
|
|
||||||
|
/* Define if there is a function named mntctl that can be used to read
|
||||||
|
the list of mounted filesystems, and there is a system header file
|
||||||
|
that declares `struct vmount.' [AIX] */
|
||||||
|
#undef MOUNTED_VMOUNT
|
||||||
|
|
||||||
|
/* Define one of the following to indicate how a program can obtain
|
||||||
|
filesystems usage information. */
|
||||||
|
|
||||||
|
/* Define if statfs takes 3 args. [DEC Alpha running OSF/1] */
|
||||||
|
#undef STAT_STATFS3_OSF1
|
||||||
|
|
||||||
|
/* Define if there is no specific function for reading filesystems usage
|
||||||
|
information and you have the <sys/filsys.h> header file. [SVR2] */
|
||||||
|
#undef STAT_READ_FILSYS
|
||||||
|
|
||||||
|
/* Define if statfs takes 2 args and struct statfs has a field named f_bsize.
|
||||||
|
[4.3BSD, SunOS 4, HP-UX, AIX PS/2] */
|
||||||
|
#undef STAT_STATFS2_BSIZE
|
||||||
|
|
||||||
|
/* Define if statfs takes 2 args and struct statfs has a field named f_fsize.
|
||||||
|
[4.4BSD, NetBSD] */
|
||||||
|
#undef STAT_STATFS2_FSIZE
|
||||||
|
|
||||||
|
/* Define if statfs takes 2 args and the second argument has
|
||||||
|
type struct fs_data. [Ultrix] */
|
||||||
|
#undef STAT_STATFS2_FS_DATA
|
||||||
|
|
||||||
|
/* Define if statfs takes 4 args. [SVR3, Dynix, Irix, Dolphin] */
|
||||||
|
#undef STAT_STATFS4
|
||||||
|
|
||||||
|
/* Define if there is a function named statvfs. [SVR4] */
|
||||||
|
#undef STAT_STATVFS
|
||||||
|
|
||||||
|
/* Define if the block counts reported by statfs may be truncated to 2GB
|
||||||
|
and the correct values may be stored in the f_spare array.
|
||||||
|
[SunOS 4.1.2, 4.1.3, and 4.1.3_U1 are reported to have this problem.
|
||||||
|
SunOS 4.1.1 seems not to be affected.] */
|
||||||
|
#undef STATFS_TRUNCATES_BLOCK_COUNTS
|
||||||
|
|
||||||
|
|
||||||
|
/* to fix a bug in autoheader on DEC OSF1. */
|
||||||
|
#undef HAVE_PROGRAM_INVOCATION_NAME
|
||||||
|
|
||||||
|
#undef HAVE_SOCKETS
|
||||||
|
#undef HAVE_SOCKADDR_SUN_LEN
|
||||||
|
|
||||||
|
#undef HAVE_LIBJPEG
|
||||||
|
#undef HAVE_LIBGIF
|
||||||
|
#undef HAVE_LIBTIFF
|
||||||
|
#undef HAVE_LIBZ
|
||||||
|
#undef HAVE_LIBPNG
|
||||||
|
#undef HAVE_GMP2_INCLUDE_DIR
|
||||||
|
#undef HAVE_GUILE
|
||||||
|
|
||||||
|
#undef ssize_t
|
||||||
|
#undef u_int64_t
|
||||||
|
#undef int64_t
|
||||||
|
|
||||||
|
#undef HAVE_GLIBTOP_MACHINE_H
|
||||||
|
|
||||||
|
#undef GLIBTOP_NAMES
|
||||||
|
#undef GLIBTOP_GUILE
|
||||||
|
#undef GLIBTOP_GUILE_NAMES
|
||||||
|
#undef GLIBTOP_EXAMPLES
|
||||||
|
#undef GLIBTOP_INODEDB
|
||||||
|
|
||||||
|
#undef NEED_LIBGTOP
|
||||||
|
|
||||||
|
#undef HAVE_LINUX_TABLE
|
||||||
|
#undef HAVE_LIBGTOP_SMP
|
||||||
|
|
||||||
|
#undef HAVE_XAUTH
|
||||||
|
|
||||||
|
/* Define if your have the I4B package. */
|
||||||
|
#undef HAVE_I4B
|
||||||
|
#undef HAVE_I4B_ACCT
|
||||||
|
|
||||||
|
/* Define to enable debugging. */
|
||||||
|
#undef LIBGTOP_ENABLE_DEBUG
|
||||||
|
#undef LIBGTOP_FATAL_WARNINGS
|
||||||
|
|
||||||
|
/* Same as LINUX_VERSION_CODE either from <linux/version.h> or from
|
||||||
|
* the running kernel (if we don't have configured kernel sources).
|
||||||
|
*/
|
||||||
|
#undef GLIBTOP_LINUX_VERSION_CODE
|
||||||
|
|
||||||
|
/* Solaris release code (eg. 251 for Solaris 2.5.1). */
|
||||||
|
#undef GLIBTOP_SOLARIS_RELEASE
|
||||||
|
|
||||||
|
/* Define if you want to use LibGTop without GNOME. */
|
||||||
|
#undef WITHOUT_GNOME
|
||||||
|
|
||||||
|
/* Define if you have the <procfs.h> header file */
|
||||||
|
#undef HAVE_PROCFS_H
|
||||||
|
|
||||||
|
/* Define if you have the <sys/procfs.h> header file */
|
||||||
|
#undef HAVE_SYS_PROCFS_H
|
433
acinclude.m4
433
acinclude.m4
@@ -30,7 +30,7 @@ changequote([,]), [#include <sys/types.h>
|
|||||||
], ac_cv_type_$1=yes, ac_cv_type_$1=no)])dnl
|
], ac_cv_type_$1=yes, ac_cv_type_$1=no)])dnl
|
||||||
AC_MSG_RESULT($ac_cv_type_$1)
|
AC_MSG_RESULT($ac_cv_type_$1)
|
||||||
if test $ac_cv_type_$1 = no; then
|
if test $ac_cv_type_$1 = no; then
|
||||||
AC_DEFINE($1, $2, [Define to $2 if <sys/types.h> does not define.])
|
AC_DEFINE($1, $2)
|
||||||
fi
|
fi
|
||||||
])
|
])
|
||||||
|
|
||||||
@@ -43,6 +43,8 @@ dnl
|
|||||||
AC_DEFUN([GNOME_LIBGTOP_TYPES],
|
AC_DEFUN([GNOME_LIBGTOP_TYPES],
|
||||||
[
|
[
|
||||||
AC_CHECK_HEADERS(sys/bitypes.h)
|
AC_CHECK_HEADERS(sys/bitypes.h)
|
||||||
|
AC_LIBGTOP_CHECK_TYPE(u_int64_t, unsigned long long int)
|
||||||
|
AC_LIBGTOP_CHECK_TYPE(int64_t, signed long long int)
|
||||||
])
|
])
|
||||||
|
|
||||||
dnl See whether we need a declaration for a function.
|
dnl See whether we need a declaration for a function.
|
||||||
@@ -72,7 +74,7 @@ if eval "test \"`echo '$gcc_cv_decl_needed_'$1`\" = yes"; then
|
|||||||
AC_MSG_RESULT(yes)
|
AC_MSG_RESULT(yes)
|
||||||
gcc_need_declarations="$gcc_need_declarations $1"
|
gcc_need_declarations="$gcc_need_declarations $1"
|
||||||
gcc_tr_decl=NEED_DECLARATION_`echo $1 | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
|
gcc_tr_decl=NEED_DECLARATION_`echo $1 | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
|
||||||
AC_DEFINE_UNQUOTED($gcc_tr_decl, 1, [Define if $1 () must be declared.])
|
AC_DEFINE_UNQUOTED($gcc_tr_decl)
|
||||||
else
|
else
|
||||||
AC_MSG_RESULT(no)
|
AC_MSG_RESULT(no)
|
||||||
fi
|
fi
|
||||||
@@ -157,8 +159,7 @@ yes
|
|||||||
AC_MSG_RESULT($fu_cv_sys_mounted_cray_listmntent)
|
AC_MSG_RESULT($fu_cv_sys_mounted_cray_listmntent)
|
||||||
if test $fu_cv_sys_mounted_cray_listmntent = yes; then
|
if test $fu_cv_sys_mounted_cray_listmntent = yes; then
|
||||||
list_mounted_fs=found
|
list_mounted_fs=found
|
||||||
AC_DEFINE(MOUNTED_LISTMNTENT, 1,
|
AC_DEFINE(MOUNTED_LISTMNTENT)
|
||||||
[Define if there is a function named listmntent that can be used to list all mounted filesystems. [UNICOS]])
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -177,8 +178,7 @@ AC_CACHE_VAL(fu_cv_sys_mounted_getmntent1,
|
|||||||
AC_MSG_RESULT($fu_cv_sys_mounted_getmntent1)
|
AC_MSG_RESULT($fu_cv_sys_mounted_getmntent1)
|
||||||
if test $fu_cv_sys_mounted_getmntent1 = yes; then
|
if test $fu_cv_sys_mounted_getmntent1 = yes; then
|
||||||
list_mounted_fs=found
|
list_mounted_fs=found
|
||||||
AC_DEFINE(MOUNTED_GETMNTENT1, 1,
|
AC_DEFINE(MOUNTED_GETMNTENT1)
|
||||||
[Define if there is a function named getmntent for reading the list of mounted filesystems, and that function takes a single argument. [4.3BSD, SunOS, HP-UX, Dynix, Irix]])
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -192,8 +192,7 @@ fu_cv_sys_mounted_getmntent2=no)])
|
|||||||
AC_MSG_RESULT($fu_cv_sys_mounted_getmntent2)
|
AC_MSG_RESULT($fu_cv_sys_mounted_getmntent2)
|
||||||
if test $fu_cv_sys_mounted_getmntent2 = yes; then
|
if test $fu_cv_sys_mounted_getmntent2 = yes; then
|
||||||
list_mounted_fs=found
|
list_mounted_fs=found
|
||||||
AC_DEFINE(MOUNTED_GETMNTENT2, 1,
|
AC_DEFINE(MOUNTED_GETMNTENT2)
|
||||||
[Define if there is a function named getmntent for reading the list of mounted filesystems, and that function takes two arguments. [SVR4]])
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -218,8 +217,7 @@ fu_cv_sys_mounted_getsstat=no)])
|
|||||||
AC_MSG_RESULT($fu_cv_sys_mounted_getsstat)
|
AC_MSG_RESULT($fu_cv_sys_mounted_getsstat)
|
||||||
if test $fu_cv_sys_mounted_getsstat = yes; then
|
if test $fu_cv_sys_mounted_getsstat = yes; then
|
||||||
list_mounted_fs=found
|
list_mounted_fs=found
|
||||||
AC_DEFINE(MOUNTED_GETFSSTAT, 1,
|
AC_DEFINE(MOUNTED_GETFSSTAT)
|
||||||
[Define if there is a function named getfsstat for reading the list of mounted filesystems. [DEC Alpha running OSF/1]])
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -233,8 +231,7 @@ fu_cv_sys_mounted_vmount=no)])
|
|||||||
AC_MSG_RESULT($fu_cv_sys_mounted_vmount)
|
AC_MSG_RESULT($fu_cv_sys_mounted_vmount)
|
||||||
if test $fu_cv_sys_mounted_vmount = yes; then
|
if test $fu_cv_sys_mounted_vmount = yes; then
|
||||||
list_mounted_fs=found
|
list_mounted_fs=found
|
||||||
AC_DEFINE(MOUNTED_VMOUNT, 1,
|
AC_DEFINE(MOUNTED_VMOUNT)
|
||||||
[Define if there is a function named mntctl that can be used to read the list of mounted filesystems, and there is a system header file that declares `struct vmount.' [AIX]])
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -251,8 +248,7 @@ fu_cv_sys_mounted_fread_fstyp=no)])
|
|||||||
AC_MSG_RESULT($fu_cv_sys_mounted_fread_fstyp)
|
AC_MSG_RESULT($fu_cv_sys_mounted_fread_fstyp)
|
||||||
if test $fu_cv_sys_mounted_fread_fstyp = yes; then
|
if test $fu_cv_sys_mounted_fread_fstyp = yes; then
|
||||||
list_mounted_fs=found
|
list_mounted_fs=found
|
||||||
AC_DEFINE(MOUNTED_FREAD_FSTYP, 1,
|
AC_DEFINE(MOUNTED_FREAD_FSTYP)
|
||||||
[Define if (like SVR2) there is no specific function for reading the list of mounted filesystems, and your system has these header files: <sys/fstyp.h> and <sys/statfs.h>. [SVR3]])
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -273,8 +269,7 @@ test -n "$ok" \
|
|||||||
AC_MSG_RESULT($fu_cv_sys_mounted_getmntinfo)
|
AC_MSG_RESULT($fu_cv_sys_mounted_getmntinfo)
|
||||||
if test $fu_cv_sys_mounted_getmntinfo = yes; then
|
if test $fu_cv_sys_mounted_getmntinfo = yes; then
|
||||||
list_mounted_fs=found
|
list_mounted_fs=found
|
||||||
AC_DEFINE(MOUNTED_GETMNTINFO, 1,
|
AC_DEFINE(MOUNTED_GETMNTINFO)
|
||||||
[Define if there is a function named getmntinfo for reading the list of mounted filesystems. [4.4BSD]])
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -292,8 +287,7 @@ fu_cv_sys_mounted_getmnt=no)])
|
|||||||
AC_MSG_RESULT($fu_cv_sys_mounted_getmnt)
|
AC_MSG_RESULT($fu_cv_sys_mounted_getmnt)
|
||||||
if test $fu_cv_sys_mounted_getmnt = yes; then
|
if test $fu_cv_sys_mounted_getmnt = yes; then
|
||||||
list_mounted_fs=found
|
list_mounted_fs=found
|
||||||
AC_DEFINE(MOUNTED_GETMNT, 1,
|
AC_DEFINE(MOUNTED_GETMNT)
|
||||||
[Define if there is a function named getmnt for reading the list of mounted filesystems. [Ultrix]])
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -307,8 +301,7 @@ fu_cv_sys_mounted_fread=no)])
|
|||||||
AC_MSG_RESULT($fu_cv_sys_mounted_fread)
|
AC_MSG_RESULT($fu_cv_sys_mounted_fread)
|
||||||
if test $fu_cv_sys_mounted_fread = yes; then
|
if test $fu_cv_sys_mounted_fread = yes; then
|
||||||
list_mounted_fs=found
|
list_mounted_fs=found
|
||||||
AC_DEFINE(MOUNTED_FREAD, 1,
|
AC_DEFINE(MOUNTED_FREAD)
|
||||||
[Define if there is no specific function for reading the list of mounted filesystems. fread will be used to read /etc/mnttab. [SVR2]])
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -337,8 +330,7 @@ fu_cv_sys_stat_statvfs=yes,
|
|||||||
fu_cv_sys_stat_statvfs=no)])
|
fu_cv_sys_stat_statvfs=no)])
|
||||||
if test $fu_cv_sys_stat_statvfs = yes; then
|
if test $fu_cv_sys_stat_statvfs = yes; then
|
||||||
space=yes
|
space=yes
|
||||||
AC_DEFINE(STAT_STATVFS, 1,
|
AC_DEFINE(STAT_STATVFS)
|
||||||
[Define if there is a function named statvfs. [SVR4]])
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -362,8 +354,7 @@ fu_cv_sys_stat_statfs3_osf1=no)])
|
|||||||
AC_MSG_RESULT($fu_cv_sys_stat_statfs3_osf1)
|
AC_MSG_RESULT($fu_cv_sys_stat_statfs3_osf1)
|
||||||
if test $fu_cv_sys_stat_statfs3_osf1 = yes; then
|
if test $fu_cv_sys_stat_statfs3_osf1 = yes; then
|
||||||
space=yes
|
space=yes
|
||||||
AC_DEFINE(STAT_STATFS3_OSF1, 1,
|
AC_DEFINE(STAT_STATFS3_OSF1)
|
||||||
[Define if statfs takes 3 args. [DEC Alpha running OSF/1]])
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -394,8 +385,7 @@ fu_cv_sys_stat_statfs2_bsize=no)])
|
|||||||
AC_MSG_RESULT($fu_cv_sys_stat_statfs2_bsize)
|
AC_MSG_RESULT($fu_cv_sys_stat_statfs2_bsize)
|
||||||
if test $fu_cv_sys_stat_statfs2_bsize = yes; then
|
if test $fu_cv_sys_stat_statfs2_bsize = yes; then
|
||||||
space=yes
|
space=yes
|
||||||
AC_DEFINE(STAT_STATFS2_BSIZE, 1,
|
AC_DEFINE(STAT_STATFS2_BSIZE)
|
||||||
[Define if statfs takes 2 args and struct statfs has a field named f_bsize. [4.3BSD, SunOS 4, HP-UX, AIX PS/2]])
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -416,8 +406,7 @@ fu_cv_sys_stat_statfs4=no)])
|
|||||||
AC_MSG_RESULT($fu_cv_sys_stat_statfs4)
|
AC_MSG_RESULT($fu_cv_sys_stat_statfs4)
|
||||||
if test $fu_cv_sys_stat_statfs4 = yes; then
|
if test $fu_cv_sys_stat_statfs4 = yes; then
|
||||||
space=yes
|
space=yes
|
||||||
AC_DEFINE(STAT_STATFS4, 1,
|
AC_DEFINE(STAT_STATFS4)
|
||||||
[Define if statfs takes 4 args. [SVR3, Dynix, Irix, Dolphin]])
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -445,8 +434,7 @@ fu_cv_sys_stat_statfs2_fsize=no)])
|
|||||||
AC_MSG_RESULT($fu_cv_sys_stat_statfs2_fsize)
|
AC_MSG_RESULT($fu_cv_sys_stat_statfs2_fsize)
|
||||||
if test $fu_cv_sys_stat_statfs2_fsize = yes; then
|
if test $fu_cv_sys_stat_statfs2_fsize = yes; then
|
||||||
space=yes
|
space=yes
|
||||||
AC_DEFINE(STAT_STATFS2_FSIZE, 1,
|
AC_DEFINE(STAT_STATFS2_FSIZE)
|
||||||
[Define if statfs takes 2 args and struct statfs has a field named f_fsize. [4.4BSD, NetBSD]])
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -477,23 +465,20 @@ fu_cv_sys_stat_fs_data=no)])
|
|||||||
AC_MSG_RESULT($fu_cv_sys_stat_fs_data)
|
AC_MSG_RESULT($fu_cv_sys_stat_fs_data)
|
||||||
if test $fu_cv_sys_stat_fs_data = yes; then
|
if test $fu_cv_sys_stat_fs_data = yes; then
|
||||||
space=yes
|
space=yes
|
||||||
AC_DEFINE(STAT_STATFS2_FS_DATA, 1,
|
AC_DEFINE(STAT_STATFS2_FS_DATA)
|
||||||
[Define if statfs takes 2 args and the second argument has type struct fs_data. [Ultrix]])
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test $space = no; then
|
if test $space = no; then
|
||||||
# SVR2
|
# SVR2
|
||||||
AC_TRY_CPP([#include <sys/filsys.h>],
|
AC_TRY_CPP([#include <sys/filsys.h>],
|
||||||
AC_DEFINE(STAT_READ_FILSYS, 1,
|
AC_DEFINE(STAT_READ_FILSYS) space=yes)
|
||||||
[Define if there is no specific function for reading filesystems usage information and you have the <sys/filsys.h> header file. [SVR2]])
|
|
||||||
space=yes)
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test -n "$list_mounted_fs" && test $space != no; then
|
if test -n "$list_mounted_fs" && test $space != no; then
|
||||||
DF_PROG="df"
|
DF_PROG="df"
|
||||||
# AC_LIBOBJ(fsusage)
|
# LIBOBJS="$LIBOBJS fsusage.o"
|
||||||
# AC_LIBOBJ(mountlist)
|
# LIBOBJS="$LIBOBJS mountlist.o"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check for SunOS statfs brokenness wrt partitions 2GB and larger.
|
# Check for SunOS statfs brokenness wrt partitions 2GB and larger.
|
||||||
@@ -512,14 +497,380 @@ fu_cv_sys_truncating_statfs=yes,
|
|||||||
fu_cv_sys_truncating_statfs=no,
|
fu_cv_sys_truncating_statfs=no,
|
||||||
)])
|
)])
|
||||||
if test $fu_cv_sys_truncating_statfs = yes; then
|
if test $fu_cv_sys_truncating_statfs = yes; then
|
||||||
AC_DEFINE(STATFS_TRUNCATES_BLOCK_COUNTS, 1,
|
AC_DEFINE(STATFS_TRUNCATES_BLOCK_COUNTS)
|
||||||
[Define if the block counts reported by statfs may be truncated to 2GB and the correct values may be stored in the f_spare array. [SunOS 4.1.2, 4.1.3, and 4.1.3_U1 are reported to have this problem. SunOS 4.1.1 seems not to be affected.]])
|
|
||||||
fi
|
fi
|
||||||
AC_MSG_RESULT($fu_cv_sys_truncating_statfs)
|
AC_MSG_RESULT($fu_cv_sys_truncating_statfs)
|
||||||
|
|
||||||
AC_CHECKING(for AFS)
|
AC_CHECKING(for AFS)
|
||||||
test -d /afs && AC_DEFINE(AFS, 1, [Define if you have the Andrew File System.])
|
test -d /afs && AC_DEFINE(AFS)
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl GNOME_SUPPORT_CHECKS
|
||||||
|
dnl Check for various support functions needed by the standard
|
||||||
|
dnl Gnome libraries. Sets LIBOBJS, might define some macros.
|
||||||
|
dnl This should only be used when building the Gnome libs;
|
||||||
|
dnl Gnome clients should not need this macro.
|
||||||
|
AC_DEFUN([GNOME_SUPPORT_CHECKS],[
|
||||||
|
# we need an `awk' to build `gnomesupport.h'
|
||||||
|
AC_REQUIRE([AC_PROG_AWK])
|
||||||
|
|
||||||
|
# this should go away soon
|
||||||
|
need_gnome_support=yes
|
||||||
|
|
||||||
|
save_LIBOBJS="$LIBOBJS"
|
||||||
|
LIBOBJS=
|
||||||
|
|
||||||
|
AC_CHECK_FUNCS(getopt_long,,LIBOBJS="$LIBOBJS getopt.o getopt1.o")
|
||||||
|
|
||||||
|
# for `scandir'
|
||||||
|
AC_HEADER_DIRENT
|
||||||
|
|
||||||
|
# copied from `configure.in' of `libiberty'
|
||||||
|
vars="program_invocation_short_name program_invocation_name sys_errlist"
|
||||||
|
for v in $vars; do
|
||||||
|
AC_MSG_CHECKING([for $v])
|
||||||
|
AC_CACHE_VAL(gnome_cv_var_$v,
|
||||||
|
[AC_TRY_LINK([int *p;], [extern int $v; p = &$v;],
|
||||||
|
[eval "gnome_cv_var_$v=yes"],
|
||||||
|
[eval "gnome_cv_var_$v=no"])])
|
||||||
|
if eval "test \"`echo '$gnome_cv_var_'$v`\" = yes"; then
|
||||||
|
AC_MSG_RESULT(yes)
|
||||||
|
n=HAVE_`echo $v | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
|
||||||
|
AC_DEFINE_UNQUOTED($n)
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT(no)
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
AC_REPLACE_FUNCS(memmove mkstemp scandir strcasecmp strerror strndup strnlen)
|
||||||
|
AC_REPLACE_FUNCS(strtok_r strtod strtol strtoul vasprintf vsnprintf)
|
||||||
|
|
||||||
|
AC_CHECK_FUNCS(realpath,,LIBOBJS="$LIBOBJS canonicalize.o")
|
||||||
|
|
||||||
|
# to include `error.c' error.c has some HAVE_* checks
|
||||||
|
AC_CHECK_FUNCS(vprintf doprnt strerror_r)
|
||||||
|
# stolen from am_func_error_at_line
|
||||||
|
AC_CACHE_CHECK([for error_at_line], am_cv_lib_error_at_line,
|
||||||
|
[AC_TRY_LINK([],[error_at_line(0, 0, "", 0, "");],
|
||||||
|
am_cv_lib_error_at_line=yes,
|
||||||
|
am_cv_lib_error_at_line=no)])
|
||||||
|
if test $am_cv_lib_error_at_line = no; then
|
||||||
|
LIBOBJS="$LIBOBJS error.o"
|
||||||
|
fi
|
||||||
|
AC_SUBST(LIBOBJS)dnl
|
||||||
|
|
||||||
|
# This is required if we declare setreuid () and setregid ().
|
||||||
|
AC_TYPE_UID_T
|
||||||
|
|
||||||
|
# see if we need to declare some functions. Solaris is notorious for
|
||||||
|
# putting functions into the `libc' but not listing them in the headers
|
||||||
|
AC_CHECK_HEADERS(string.h strings.h stdlib.h unistd.h dirent.h)
|
||||||
|
GCC_NEED_DECLARATIONS(gethostname setreuid setregid getpagesize)
|
||||||
|
GCC_NEED_DECLARATION(scandir,[
|
||||||
|
#ifdef HAVE_DIRENT_H
|
||||||
|
#include <dirent.h>
|
||||||
|
#endif
|
||||||
|
])
|
||||||
|
|
||||||
|
# Turn our LIBOBJS into libtool objects. This is gross, but it
|
||||||
|
# requires changes to autoconf before it goes away.
|
||||||
|
LTLIBOBJS=`echo "$LIBOBJS" | sed 's/\.o/.lo/g'`
|
||||||
|
AC_SUBST(need_gnome_support)
|
||||||
|
AC_SUBST(LTLIBOBJS)
|
||||||
|
|
||||||
|
LIBOBJS="$save_LIBOBJS"
|
||||||
|
AM_CONDITIONAL(BUILD_GNOME_SUPPORT, test "$need_gnome_support" = yes)
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
|
dnl This file is intended for use both internally in libgtop and in every program
|
||||||
|
dnl that wants to use it.
|
||||||
|
dnl
|
||||||
|
dnl It defines the following variables:
|
||||||
|
dnl
|
||||||
|
dnl * 'libgtop_sysdeps_dir' - sysdeps dir for libgtop.
|
||||||
|
dnl * 'libgtop_use_machine_h' - some of system dependend parts of libgtop provide
|
||||||
|
dnl their own header file. In this case we need to
|
||||||
|
dnl define 'HAVE_GLIBTOP_MACHINE_H'.
|
||||||
|
dnl * 'libgtop_need_server' - is the server really needed? Defines 'NEED_LIBGTOP'
|
||||||
|
dnl if true; defines conditional 'NEED_LIBGTOP'.
|
||||||
|
|
||||||
|
AC_DEFUN([LIBGTOP_HACKER_TESTS],[
|
||||||
|
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||||
|
|
||||||
|
case "$host_os" in
|
||||||
|
linux*)
|
||||||
|
AC_ARG_WITH(linux-table,
|
||||||
|
[ --with-linux-table Use the table () function from Martin Baulig],[
|
||||||
|
linux_table="$withval"],[linux_table=auto])
|
||||||
|
if test $linux_table = yes ; then
|
||||||
|
AC_CHECK_HEADER(linux/table.h, linux_table=yes, linux_table=no)
|
||||||
|
elif test $linux_table = auto ; then
|
||||||
|
AC_MSG_CHECKING(for table function in Linux Kernel)
|
||||||
|
AC_TRY_RUN([
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <linux/unistd.h>
|
||||||
|
#include <linux/table.h>
|
||||||
|
|
||||||
|
#include <syscall.h>
|
||||||
|
|
||||||
|
static inline _syscall3 (int, table, int, type, union table *, tbl, const void *, param);
|
||||||
|
|
||||||
|
int
|
||||||
|
main (void)
|
||||||
|
{
|
||||||
|
union table tbl;
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
ret = table (TABLE_VERSION, NULL, NULL);
|
||||||
|
|
||||||
|
if (ret == -1)
|
||||||
|
exit (-errno);
|
||||||
|
|
||||||
|
exit (ret < 1 ? ret : 0);
|
||||||
|
}
|
||||||
|
], linux_table=yes, linux_table=no, linux_table=no)
|
||||||
|
AC_MSG_RESULT($linux_table)
|
||||||
|
fi
|
||||||
|
if test $linux_table = yes ; then
|
||||||
|
AC_DEFINE(HAVE_LINUX_TABLE)
|
||||||
|
fi
|
||||||
|
AM_CONDITIONAL(LINUX_TABLE, test $linux_table = yes)
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
|
||||||
|
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||||
|
|
||||||
|
AC_SUBST(libgtop_sysdeps_dir)
|
||||||
|
AC_SUBST(libgtop_use_machine_h)
|
||||||
|
AC_SUBST(libgtop_need_server)
|
||||||
|
|
||||||
|
AC_ARG_WITH(libgtop-examples,
|
||||||
|
[ --with-libgtop-examples Build the libgtop examples (default=no)],[
|
||||||
|
build_examples="$withval"], [build_examples=no])
|
||||||
|
|
||||||
|
AM_CONDITIONAL(EXAMPLES, test x"$build_examples" = xyes)
|
||||||
|
|
||||||
|
AC_ARG_ENABLE(hacker-mode,
|
||||||
|
[ --enable-hacker-mode Enable building of unstable sysdeps],
|
||||||
|
[hacker_mode="$enableval"], [hacker_mode=no])
|
||||||
|
|
||||||
|
AM_CONDITIONAL(HACKER_MODE, test x"$hacker_mode" = xyes)
|
||||||
|
|
||||||
|
if test x$hacker_mode = xyes ; then
|
||||||
|
LIBGTOP_HACKER_TESTS
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_ARG_WITH(libgtop-smp,
|
||||||
|
[ --with-libgtop-smp Enable SMP support (default-auto)],[
|
||||||
|
libgtop_smp="$withval"],[libgtop_smp=auto])
|
||||||
|
|
||||||
|
if test $libgtop_smp = auto ; then
|
||||||
|
AC_MSG_CHECKING(whether to enable SMP support)
|
||||||
|
case "$host_os" in
|
||||||
|
linux*)
|
||||||
|
libgtop_smp=yes
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
libgtop_smp=no
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
AC_MSG_RESULT($libgtop_smp)
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test $libgtop_smp = yes ; then
|
||||||
|
AC_DEFINE(HAVE_LIBGTOP_SMP)
|
||||||
|
fi
|
||||||
|
|
||||||
|
AM_CONDITIONAL(LIBGTOP_SMP, test $libgtop_smp = yes)
|
||||||
|
|
||||||
|
AC_MSG_CHECKING(for libgtop sysdeps directory)
|
||||||
|
|
||||||
|
case "$host_os" in
|
||||||
|
linux*)
|
||||||
|
if test x$linux_table = xyes ; then
|
||||||
|
libgtop_sysdeps_dir=kernel
|
||||||
|
libgtop_use_machine_h=no
|
||||||
|
else
|
||||||
|
libgtop_sysdeps_dir=linux
|
||||||
|
libgtop_use_machine_h=no
|
||||||
|
libgtop_have_sysinfo=yes
|
||||||
|
fi
|
||||||
|
libgtop_need_server=no
|
||||||
|
;;
|
||||||
|
freebsd*|netbsd*|openbsd*|bsdi*)
|
||||||
|
libgtop_sysdeps_dir=freebsd
|
||||||
|
libgtop_use_machine_h=yes
|
||||||
|
libgtop_need_server=yes
|
||||||
|
libgtop_postinstall='chgrp kmem $(bindir)/libgtop_server && chmod 2755 $(bindir)/libgtop_server'
|
||||||
|
;;
|
||||||
|
solaris*)
|
||||||
|
libgtop_sysdeps_dir=solaris
|
||||||
|
libgtop_use_machine_h=yes
|
||||||
|
libgtop_need_server=yes
|
||||||
|
libgtop_postinstall='chgrp sys $(bindir)/libgtop_server && chmod 2755 $(bindir)/libgtop_server'
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
if test x$hacker_mode = xyes ; then
|
||||||
|
case "$host_os" in
|
||||||
|
sunos4*)
|
||||||
|
#Please note that this port is obsolete and not working at
|
||||||
|
#all. It is only useful for people who want to fix it ... :-)
|
||||||
|
libgtop_sysdeps_dir=sun4
|
||||||
|
libgtop_use_machine_h=yes
|
||||||
|
libgtop_need_server=yes
|
||||||
|
;;
|
||||||
|
osf*)
|
||||||
|
libgtop_sysdeps_dir=osf1
|
||||||
|
libgtop_use_machine_h=yes
|
||||||
|
libgtop_need_server=yes
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
libgtop_sysdeps_dir=stub
|
||||||
|
libgtop_use_machine_h=no
|
||||||
|
libgtop_need_server=no
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
else
|
||||||
|
libgtop_sysdeps_dir=stub
|
||||||
|
libgtop_use_machine_h=no
|
||||||
|
libgtop_need_server=no
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
test -z "$libgtop_postinstall" && libgtop_postinstall=:
|
||||||
|
|
||||||
|
AC_MSG_RESULT($libgtop_sysdeps_dir)
|
||||||
|
|
||||||
|
AC_SUBST(libgtop_sysdeps_dir)
|
||||||
|
AC_SUBST(libgtop_postinstall)
|
||||||
|
AC_SUBST(libgtop_have_sysinfo)
|
||||||
|
|
||||||
|
case "$host_os" in
|
||||||
|
*bsd*)
|
||||||
|
AC_CHECK_HEADERS(net/if_var.h)
|
||||||
|
AC_MSG_CHECKING([for I4B])
|
||||||
|
AC_TRY_COMPILE([
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/socket.h>
|
||||||
|
|
||||||
|
#include <net/if.h>
|
||||||
|
#include <net/if_types.h>
|
||||||
|
|
||||||
|
#ifdef HAVE_NET_IF_VAR_H
|
||||||
|
#include <net/if_var.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <net/netisr.h>
|
||||||
|
#include <net/route.h>
|
||||||
|
|
||||||
|
#if defined(__FreeBSD__) || defined(__NetBSD__)
|
||||||
|
#include <net/if_sppp.h>
|
||||||
|
#else
|
||||||
|
#include <i4b/sppp/if_sppp.h>
|
||||||
|
#endif
|
||||||
|
],[
|
||||||
|
size_t size = sizeof (struct sppp);
|
||||||
|
], have_i4b=yes, have_i4b=no)
|
||||||
|
AC_MSG_RESULT($have_i4b)
|
||||||
|
if test x$have_i4b = xyes; then
|
||||||
|
AC_DEFINE(HAVE_I4B)
|
||||||
|
AC_MSG_CHECKING([for I4B accounting])
|
||||||
|
AC_TRY_COMPILE([
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/socket.h>
|
||||||
|
|
||||||
|
#include <net/if.h>
|
||||||
|
#include <net/if_types.h>
|
||||||
|
|
||||||
|
#ifdef HAVE_NET_IF_VAR_H
|
||||||
|
#include <net/if_var.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <net/netisr.h>
|
||||||
|
#include <net/route.h>
|
||||||
|
|
||||||
|
#if defined(__FreeBSD__) || defined(__NetBSD__)
|
||||||
|
#include <net/if_sppp.h>
|
||||||
|
#else
|
||||||
|
#include <i4b/sppp/if_sppp.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <machine/i4b_acct.h>
|
||||||
|
],[
|
||||||
|
size_t size = sizeof (struct i4bisppp_softc);
|
||||||
|
], have_i4b_acct=yes, have_i4b_acct=no)
|
||||||
|
AC_MSG_RESULT($have_i4b_acct)
|
||||||
|
if test x$have_i4b_acct = xyes ; then
|
||||||
|
AC_DEFINE(HAVE_I4B_ACCT)
|
||||||
|
else
|
||||||
|
AC_WARN([
|
||||||
|
*** I4B accounting disabled - you won't get any PPP statistics.
|
||||||
|
*** Read "misc/i4b_acct.txt" in the LibGTop source directory
|
||||||
|
*** to see how to enable it.])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
linux*)
|
||||||
|
os_major_version=`uname -r | sed 's/-pre[[0-9]]*//' | \
|
||||||
|
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
|
||||||
|
os_minor_version=`uname -r | sed 's/-pre[[0-9]]*//' | \
|
||||||
|
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
|
||||||
|
os_micro_version=`uname -r | sed 's/-pre[[0-9]]*//' | \
|
||||||
|
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
|
||||||
|
os_version_expr="$os_major_version 65536 * $os_minor_version 256 * + $os_micro_version + p q"
|
||||||
|
|
||||||
|
AC_CHECK_HEADERS(linux/version.h, have_linux_version_h=yes,
|
||||||
|
have_linux_version_h=no)
|
||||||
|
|
||||||
|
if test x$have_linux_version_h = xyes ; then
|
||||||
|
version_code=`cat /usr/include/linux/version.h | \
|
||||||
|
grep \#define | grep LINUX_VERSION_CODE`
|
||||||
|
os_version_code=`echo $version_code | \
|
||||||
|
sed 's/^.*LINUX_VERSION_CODE[[ \t]]*\([[0-9]]*\).*$/\1/'`
|
||||||
|
else
|
||||||
|
os_version_code=`echo "$os_version_expr" | dc`
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_MSG_CHECKING(for Linux kernel version code)
|
||||||
|
AC_DEFINE_UNQUOTED(GLIBTOP_LINUX_VERSION_CODE, $os_version_code)
|
||||||
|
AC_MSG_RESULT($os_version_code)
|
||||||
|
;;
|
||||||
|
solaris*)
|
||||||
|
os_major_version=`uname -r | sed 's/\([[0-9]]*\).\([[0-9]]\)\.*\([[0-9]]*\)/\1/'`
|
||||||
|
os_minor_version=`uname -r | sed 's/\([[0-9]]*\).\([[0-9]]\)\.*\([[0-9]]*\)/\2/'`
|
||||||
|
os_micro_version=`uname -r | sed 's/\([[0-9]]*\).\([[0-9]]\)\.*\([[0-9]]*\)/\3/'`
|
||||||
|
test -z "$os_micro_version" && os_micro_version=0
|
||||||
|
os_version_expr="$os_major_version 100 * $os_minor_version 10 * + $os_micro_version + p q"
|
||||||
|
os_version_code=`echo "$os_version_expr" | dc`
|
||||||
|
|
||||||
|
AC_MSG_CHECKING(for Solaris release code)
|
||||||
|
AC_DEFINE_UNQUOTED(GLIBTOP_SOLARIS_RELEASE, $os_version_code)
|
||||||
|
AC_MSG_RESULT($os_version_code)
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
AC_MSG_CHECKING(for machine.h in libgtop sysdeps dir)
|
||||||
|
AC_MSG_RESULT($libgtop_use_machine_h)
|
||||||
|
|
||||||
|
AC_MSG_CHECKING(whether we need libgtop)
|
||||||
|
AC_MSG_RESULT($libgtop_need_server)
|
||||||
|
|
||||||
|
if test x$libgtop_need_server = xyes ; then
|
||||||
|
AC_DEFINE(NEED_LIBGTOP)
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test x$libgtop_use_machine_h = xyes ; then
|
||||||
|
AC_DEFINE(HAVE_GLIBTOP_MACHINE_H)
|
||||||
|
fi
|
||||||
|
|
||||||
|
AM_CONDITIONAL(NEED_LIBGTOP, test x$libgtop_need_server = xyes)
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|
||||||
m4_include([libgtop-sysdeps.m4])
|
|
||||||
|
@@ -18,5 +18,4 @@ which gnome-autogen.sh || {
|
|||||||
echo "You need to install gnome-common from the GNOME CVS"
|
echo "You need to install gnome-common from the GNOME CVS"
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
REQUIRED_AUTOMAKE_VERSION=1.9
|
USE_GNOME2_MACROS=1 . gnome-autogen.sh
|
||||||
. gnome-autogen.sh
|
|
||||||
|
361
configure.in
361
configure.in
@@ -2,50 +2,49 @@ dnl
|
|||||||
dnl Configure script for the Gnome library
|
dnl Configure script for the Gnome library
|
||||||
dnl
|
dnl
|
||||||
|
|
||||||
m4_define([libgtop_major_version], [2])
|
AC_INIT(copyright.txt)
|
||||||
m4_define([libgtop_minor_version], [24])
|
AM_CONFIG_HEADER(config.h)
|
||||||
m4_define([libgtop_micro_version], [4])
|
|
||||||
m4_define([libgtop_version], [libgtop_major_version.libgtop_minor_version.libgtop_micro_version])
|
|
||||||
|
|
||||||
dnl increment if the interface has additions, changes, removals.
|
|
||||||
m4_define([libgtop_current], [9])
|
|
||||||
|
|
||||||
dnl increment any time the source changes; set to
|
|
||||||
dnl 0 if you increment CURRENT
|
|
||||||
m4_define([libgtop_revision], [0])
|
|
||||||
|
|
||||||
dnl increment if any interfaces have been added; set to 0
|
|
||||||
dnl if any interfaces have been removed. removal has
|
|
||||||
dnl precedence over adding, so set to 0 if both happened.
|
|
||||||
m4_define([libgtop_age], [2])
|
|
||||||
|
|
||||||
# Increase each time you change the client/server protocol.
|
|
||||||
m4_define([libgtop_server_version], [5])
|
|
||||||
|
|
||||||
# Version code calculation
|
|
||||||
m4_define([libgtop_version_code], [m4_eval(libgtop_major_version * 1000000 + libgtop_minor_version * 1000 + libgtop_micro_version)])
|
|
||||||
|
|
||||||
AC_PREREQ(2.59)
|
|
||||||
AC_INIT([libgtop], [libgtop_version],
|
|
||||||
[http://bugzilla.gnome.org/enter_bug.cgi?product=libgtop])
|
|
||||||
AC_CONFIG_SRCDIR(copyright.txt)
|
|
||||||
AC_CONFIG_HEADERS(config.h)
|
|
||||||
|
|
||||||
AC_CANONICAL_SYSTEM
|
AC_CANONICAL_SYSTEM
|
||||||
|
|
||||||
AM_INIT_AUTOMAKE
|
LIBGTOP_MAJOR_VERSION=1
|
||||||
AC_SUBST(ACLOCAL_AMFLAGS, [\${ACLOCAL_FLAGS}])
|
LIBGTOP_MINOR_VERSION=90
|
||||||
|
LIBGTOP_MICRO_VERSION=2
|
||||||
|
LIBGTOP_VERSION=$LIBGTOP_MAJOR_VERSION.$LIBGTOP_MINOR_VERSION.$LIBGTOP_MICRO_VERSION
|
||||||
|
AM_INIT_AUTOMAKE(libgtop, $LIBGTOP_VERSION)
|
||||||
|
LIBGTOP_INTERFACE_AGE=2
|
||||||
|
LIBGTOP_BINARY_AGE=2
|
||||||
|
|
||||||
AC_SUBST(LIBGTOP_MAJOR_VERSION, [libgtop_major_version])
|
# you can set this to `-snap' for instance to create
|
||||||
AC_SUBST(LIBGTOP_MINOR_VERSION, [libgtop_minor_version])
|
# a `libgtop-1.x.y-snap.tar.gz' tarball.
|
||||||
AC_SUBST(LIBGTOP_MICRO_VERSION, [libgtop_micro_version])
|
LIBGTOP_VERSION_SUFFIX=
|
||||||
AC_SUBST(LIBGTOP_SERVER_VERSION, [libgtop_server_version])
|
|
||||||
AC_SUBST(LIBGTOP_VERSION, [libgtop_version])
|
# Increase each time you change the client/server protocol.
|
||||||
AC_SUBST(LIBGTOP_VERSION_CODE, [libgtop_version_code])
|
LIBGTOP_SERVER_VERSION=5
|
||||||
|
|
||||||
|
# Version code calculation
|
||||||
|
LIBGTOP_VERSION_CODE=`expr $LIBGTOP_MAJOR_VERSION \* 1000000 + $LIBGTOP_MINOR_VERSION \* 1000 + $LIBGTOP_MICRO_VERSION`
|
||||||
|
|
||||||
|
AC_SUBST(LIBGTOP_MAJOR_VERSION)
|
||||||
|
AC_SUBST(LIBGTOP_MINOR_VERSION)
|
||||||
|
AC_SUBST(LIBGTOP_MICRO_VERSION)
|
||||||
|
AC_SUBST(LIBGTOP_INTERFACE_AGE)
|
||||||
|
AC_SUBST(LIBGTOP_BINARY_AGE)
|
||||||
|
AC_SUBST(LIBGTOP_SERVER_VERSION)
|
||||||
|
AC_SUBST(LIBGTOP_VERSION)
|
||||||
|
AC_SUBST(LIBGTOP_VERSION_CODE)
|
||||||
|
AC_SUBST(LIBGTOP_VERSION_SUFFIX)
|
||||||
|
|
||||||
# libtool versioning
|
# libtool versioning
|
||||||
AC_SUBST(LT_VERSION_INFO,
|
LT_RELEASE=$LIBGTOP_MAJOR_VERSION.$LIBGTOP_MINOR_VERSION
|
||||||
["-version-info libgtop_current:libgtop_revision:libgtop_age"])
|
LT_CURRENT=`expr $LIBGTOP_MICRO_VERSION - $LIBGTOP_INTERFACE_AGE`
|
||||||
|
LT_REVISION=$LIBGTOP_INTERFACE_AGE
|
||||||
|
LT_AGE=`expr $LIBGTOP_BINARY_AGE - $LIBGTOP_INTERFACE_AGE`
|
||||||
|
LT_VERSION_INFO='-version-info ${LT_CURRENT}:${LT_REVISION}:${LT_AGE}'
|
||||||
|
AC_SUBST(LT_VERSION_INFO)
|
||||||
|
AC_SUBST(LT_RELEASE)
|
||||||
|
AC_SUBST(LT_CURRENT)
|
||||||
|
AC_SUBST(LT_REVISION)
|
||||||
|
AC_SUBST(LT_AGE)
|
||||||
|
|
||||||
ACLOCAL_FLAGS="$ACLOCAL_FLAGS -I ."
|
ACLOCAL_FLAGS="$ACLOCAL_FLAGS -I ."
|
||||||
|
|
||||||
@@ -71,8 +70,10 @@ AC_CHECK_TOOL(CC,gcc)
|
|||||||
AC_CHECK_TOOL(RANLIB,ranlib)
|
AC_CHECK_TOOL(RANLIB,ranlib)
|
||||||
AC_CHECK_TOOL(AS,as)
|
AC_CHECK_TOOL(AS,as)
|
||||||
AC_CHECK_TOOL(AR,ar)
|
AC_CHECK_TOOL(AR,ar)
|
||||||
|
AC_CHECK_TOOL(NM,nm)
|
||||||
|
|
||||||
export CC CXX RANLIB LD AS AR
|
NM=`which $NM`
|
||||||
|
export CC CXX RANLIB LD AS AR NM
|
||||||
|
|
||||||
AC_PROG_INSTALL
|
AC_PROG_INSTALL
|
||||||
AC_PROG_LN_S
|
AC_PROG_LN_S
|
||||||
@@ -82,21 +83,112 @@ export cross_compiling
|
|||||||
|
|
||||||
AM_PROG_LIBTOOL
|
AM_PROG_LIBTOOL
|
||||||
|
|
||||||
|
dnl Let the user enable compiler warnings
|
||||||
|
dnl GNOME_COMPILE_WARNINGS
|
||||||
|
|
||||||
|
dnl GNOME_INIT_HOOK(gnome_found=yes)
|
||||||
|
|
||||||
|
dnl if test "x$gnome_found" != xyes; then
|
||||||
|
dnl if test "x$want_gnome" != xno ; then
|
||||||
|
dnl AC_MSG_ERROR([
|
||||||
|
dnl *** GNOME was not found on this system. ***
|
||||||
|
dnl
|
||||||
|
dnl *** If you want to use LibGTop without GNOME, you need
|
||||||
|
dnl *** to give configure the --without-gnome parameter.
|
||||||
|
dnl ])
|
||||||
|
dnl else
|
||||||
|
dnl AC_DEFINE(WITHOUT_GNOME)
|
||||||
|
dnl fi
|
||||||
|
dnl GNOME_SUPPORT_CHECKS
|
||||||
|
dnl else
|
||||||
|
dnl if test "x$want_gnome" != xno ; then
|
||||||
|
dnl AM_CONDITIONAL(BUILD_GNOME_SUPPORT, false)
|
||||||
|
dnl else
|
||||||
|
dnl GNOME_SUPPORT_CHECKS
|
||||||
|
dnl fi
|
||||||
|
dnl fi
|
||||||
|
AM_CONDITIONAL(BUILD_GNOME_SUPPORT, false)
|
||||||
|
|
||||||
AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes)
|
AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes)
|
||||||
|
|
||||||
GNOME_LIBGTOP_SYSDEPS
|
GNOME_LIBGTOP_SYSDEPS
|
||||||
GNOME_LIBGTOP_TYPES
|
GNOME_LIBGTOP_TYPES
|
||||||
|
|
||||||
GLIB_REQUIRED=2.6.0
|
dnl AC_ARG_WITH(libgtop-guile,
|
||||||
|
dnl [ --with-libgtop-guile Build the libgtop guile interface (default=no)],
|
||||||
|
dnl [build_guile="$withval"], [build_guile=yes])
|
||||||
|
|
||||||
|
dnl if test x$build_guile != xno ; then
|
||||||
|
dnl GNOME_CHECK_GUILE
|
||||||
|
dnl fi
|
||||||
|
|
||||||
|
AC_ARG_WITH(libgtop-inodedb,
|
||||||
|
[ --with-libgtop-inodedb Build the inodedb stuff (default=no)],
|
||||||
|
[build_inodedb="$withval"], [build_inodedb=no])
|
||||||
|
|
||||||
|
LIBGTOP_EXTRA_LIBS=
|
||||||
|
|
||||||
|
if test x$build_inodedb = xyes ; then
|
||||||
|
AC_CHECK_LIB(gdbm, gdbm_open, LIBGTOP_EXTRA_LIBS='-lgdbm', build_inodedb=no)
|
||||||
|
fi
|
||||||
|
|
||||||
|
AM_CONDITIONAL(INODEDB, test x$build_inodedb = xyes)
|
||||||
|
|
||||||
|
if test x$build_inodedb = xyes ; then
|
||||||
|
AC_DEFINE(GLIBTOP_INODEDB)
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_DEFINE(GLIBTOP_NAMES)
|
||||||
|
|
||||||
|
if test x$ac_cv_guile_found = xyes ; then
|
||||||
|
AC_DEFINE(GLIBTOP_GUILE)
|
||||||
|
AC_DEFINE(GLIBTOP_GUILE_NAMES)
|
||||||
|
libgtop_guile_found=yes
|
||||||
|
guile_examples='third'
|
||||||
|
guile_static_examples='third_static'
|
||||||
|
guile_subdirs='guile'
|
||||||
|
else
|
||||||
|
libgtop_guile_found=no
|
||||||
|
guile_examples=
|
||||||
|
guile_static_examples=
|
||||||
|
guile_subdirs=
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test x$libgtop_smp = xyes ; then
|
||||||
|
smp_examples='smp'
|
||||||
|
smp_static_examples='smp_static'
|
||||||
|
else
|
||||||
|
smp_examples=
|
||||||
|
smp_static_examples=
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "x$enable_static" != xno; then
|
||||||
|
static_targets="first_static second_static mountlist_static procmap_static netload_static sysdeps_static timings_static $guile_static_examples $smp_static_examples"
|
||||||
|
else
|
||||||
|
static_targets=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
AM_CONDITIONAL(ENABLE_STATIC, test x$enable_static = xyes)
|
||||||
|
AM_CONDITIONAL(ENABLE_SHARED, test x$enable_static = xyes)
|
||||||
|
|
||||||
|
AC_SUBST(static_targets)
|
||||||
|
AC_SUBST(smp_examples)
|
||||||
|
AC_SUBST(guile_examples)
|
||||||
|
AC_SUBST(guile_subdirs)
|
||||||
|
|
||||||
|
AM_PROG_LIBTOOL
|
||||||
|
|
||||||
|
GLIB_REQUIRED=1.3.10
|
||||||
|
|
||||||
PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_REQUIRED)
|
PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_REQUIRED)
|
||||||
AC_SUBST(GLIB_CFLAGS)
|
AC_SUBST(GLIB_CFLAGS)
|
||||||
AC_SUBST(GLIB_LIBS)
|
AC_SUBST(GLIB_LIBS)
|
||||||
|
|
||||||
AC_CHECK_HEADER(ifaddrs.h, [HAVE_IFADDRS_H=yes], [HAVE_IFADDRS_H=no])
|
dnl (1.2.0,,AC_MSG_ERROR(GLIB >= 1.2.0 is required for LibGTop))
|
||||||
if test x$HAVE_IFADDRS_H = xyes ; then
|
|
||||||
AC_DEFINE(HAVE_IFADDRS_H, 1, [defined if you have ifaddrs.h])
|
dnl You need to uncomment the following line if you want to use
|
||||||
fi
|
dnl libGTop without Gnome.
|
||||||
|
GNOME_SUPPORT_CHECKS
|
||||||
|
|
||||||
dnl Checks for typedefs, structures, and compiler characteristics.
|
dnl Checks for typedefs, structures, and compiler characteristics.
|
||||||
AC_C_CONST
|
AC_C_CONST
|
||||||
@@ -130,31 +222,15 @@ AC_CHECK_FUNCS(dlerror,,)
|
|||||||
LIBS="$oLIBS"
|
LIBS="$oLIBS"
|
||||||
AC_SUBST(DL_LIB)
|
AC_SUBST(DL_LIB)
|
||||||
|
|
||||||
dnl Linux
|
|
||||||
AC_CHECK_HEADER(linux/isdn.h,[HAVE_ISDN_H=yes],[HAVE_ISDN_H=no])
|
|
||||||
if test x$HAVE_ISDN_H = xyes ; then
|
|
||||||
AC_DEFINE(HAVE_ISDN_H, 1, [defined if you have linux/isdn.h])
|
|
||||||
fi
|
|
||||||
|
|
||||||
dnl AIX
|
|
||||||
AC_CHECK_LIB(perfstat, vmgetinfo,
|
|
||||||
AC_DEFINE(HAVE_VMGETINFO, 1,
|
|
||||||
[Define to 1 if you have the 'vmgetinfo' function in libperfstat]))
|
|
||||||
|
|
||||||
dnl Solaris
|
dnl Solaris
|
||||||
case "$host_os" in
|
AC_CHECK_LIB(kstat, kstat_open)
|
||||||
solaris*)
|
AC_CHECK_FUNCS(getloadavg swapctl)
|
||||||
AC_CHECK_LIB(kstat, kstat_open)
|
AC_CHECK_HEADERS(procfs.h sys/procfs.h, break)
|
||||||
AC_CHECK_FUNCS(getloadavg swapctl)
|
|
||||||
AC_CHECK_HEADERS(procfs.h sys/procfs.h, break)
|
|
||||||
|
|
||||||
|
dnl Some versions of Solaris require -lelf for -lkvm
|
||||||
dnl Some versions of Solaris require -lelf for -lkvm
|
AC_CHECK_LIB(kvm, kvm_open,[
|
||||||
case $host_os in
|
|
||||||
solaris[[8-9]] | solaris2.[[0-9]].*)
|
|
||||||
AC_CHECK_LIB(kvm, kvm_open,[
|
|
||||||
LIBS="-lkvm $LIBS"
|
LIBS="-lkvm $LIBS"
|
||||||
],[AC_MSG_CHECKING(for kvm_open in -lkvm with -lelf)
|
],[AC_MSG_CHECKING(for kvm_open in -lkvm with -lelf)
|
||||||
AC_CACHE_VAL(ac_cv_lib_kvm_with_elf,
|
AC_CACHE_VAL(ac_cv_lib_kvm_with_elf,
|
||||||
[ac_save_LIBS="$LIBS"
|
[ac_save_LIBS="$LIBS"
|
||||||
LIBS="-lkvm -lelf $LIBS"
|
LIBS="-lkvm -lelf $LIBS"
|
||||||
@@ -168,11 +244,7 @@ case "$host_os" in
|
|||||||
else
|
else
|
||||||
AC_MSG_RESULT(no)
|
AC_MSG_RESULT(no)
|
||||||
fi
|
fi
|
||||||
])
|
])
|
||||||
;;
|
|
||||||
esac
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
dnl For DEC OSF1
|
dnl For DEC OSF1
|
||||||
AC_CHECK_LIB(mach, vm_statistics)
|
AC_CHECK_LIB(mach, vm_statistics)
|
||||||
@@ -192,7 +264,7 @@ CFLAGS=$saved_CFLAGS
|
|||||||
AC_CHECK_FUNC(socket,
|
AC_CHECK_FUNC(socket,
|
||||||
[AC_CHECK_HEADER(netinet/in.h,
|
[AC_CHECK_HEADER(netinet/in.h,
|
||||||
[AC_CHECK_HEADER(arpa/inet.h, [
|
[AC_CHECK_HEADER(arpa/inet.h, [
|
||||||
AC_DEFINE(HAVE_SOCKETS, 1, [Define if BSD sockets are supported])
|
AC_DEFINE(HAVE_SOCKETS)
|
||||||
AC_MSG_CHECKING("for sun_len member in struct sockaddr_un")
|
AC_MSG_CHECKING("for sun_len member in struct sockaddr_un")
|
||||||
AC_TRY_LINK([
|
AC_TRY_LINK([
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
@@ -200,7 +272,7 @@ AC_CHECK_FUNC(socket,
|
|||||||
#include <sys/un.h>
|
#include <sys/un.h>
|
||||||
],
|
],
|
||||||
[static struct sockaddr_un x; x.sun_len = 1;],
|
[static struct sockaddr_un x; x.sun_len = 1;],
|
||||||
[AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SOCKADDR_SUN_LEN, 1, [Define if struct sockaddr_un has a sun_len member])],
|
[AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SOCKADDR_SUN_LEN)],
|
||||||
[AC_MSG_RESULT(no)])])])])
|
[AC_MSG_RESULT(no)])])])])
|
||||||
|
|
||||||
dnl Checks for library functions.
|
dnl Checks for library functions.
|
||||||
@@ -210,15 +282,14 @@ AC_TYPE_SIGNAL
|
|||||||
AC_FUNC_STRFTIME
|
AC_FUNC_STRFTIME
|
||||||
AC_CHECK_FUNCS(getcwd gettimeofday getwd putenv strdup strtoul uname)
|
AC_CHECK_FUNCS(getcwd gettimeofday getwd putenv strdup strtoul uname)
|
||||||
|
|
||||||
IT_PROG_INTLTOOL([0.35.0])
|
dnl ## all 'es_??' are only needed for format numbers different of 'es'
|
||||||
|
ALL_LINGUAS="az ca da de el es es_DO es_GT es_HN es_MX es_PA es_PE es_SV fi fr ga gl hu ja ko ms nl nn no pl pt pt_BR ru sk sl sv tr uk zh_CN zh_TW"
|
||||||
|
|
||||||
GETTEXT_PACKAGE=libgtop-2.0
|
GETTEXT_PACKAGE=libgtop-2.0
|
||||||
AC_SUBST(GETTEXT_PACKAGE)
|
AC_SUBST(GETTEXT_PACKAGE)
|
||||||
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE",
|
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE")
|
||||||
[Define to the gettext package used by the library])
|
|
||||||
|
|
||||||
AM_GLIB_GNU_GETTEXT
|
AM_GLIB_GNU_GETTEXT
|
||||||
GLIB_DEFINE_LOCALEDIR([GTOPLOCALEDIR])
|
|
||||||
|
|
||||||
AC_PATH_XTRA
|
AC_PATH_XTRA
|
||||||
|
|
||||||
@@ -245,7 +316,7 @@ test -z "$with_xauth" && { AC_CHECK_HEADER(X11/Xauth.h, ,with_xauth=no)
|
|||||||
test -z "$with_xauth" && { AC_CHECK_LIB(Xau, XauGetAuthByAddr,[:],with_xauth=no, $X_LIBS) }
|
test -z "$with_xauth" && { AC_CHECK_LIB(Xau, XauGetAuthByAddr,[:],with_xauth=no, $X_LIBS) }
|
||||||
test -z "$with_xauth" && with_xauth=yes
|
test -z "$with_xauth" && with_xauth=yes
|
||||||
if test "$with_xauth" = "yes"; then
|
if test "$with_xauth" = "yes"; then
|
||||||
AC_DEFINE(HAVE_XAUTH, 1, [Define if Xauth is supported])
|
AC_DEFINE(HAVE_XAUTH)
|
||||||
XE_SPACE(libs_xauth, $X_LIBS -lXau)
|
XE_SPACE(libs_xauth, $X_LIBS -lXau)
|
||||||
fi
|
fi
|
||||||
CPPFLAGS="$saved_CPPFLAGS"
|
CPPFLAGS="$saved_CPPFLAGS"
|
||||||
@@ -255,15 +326,26 @@ dnl For diskusage stuff
|
|||||||
GNOME_FILEUTILS_CHECKS
|
GNOME_FILEUTILS_CHECKS
|
||||||
|
|
||||||
dnl Debugging
|
dnl Debugging
|
||||||
AC_ARG_ENABLE(debug,
|
AC_ARG_ENABLE(debug, [ --enable-debug turn on debugging [default=no]],AC_DEFINE(LIBGTOP_ENABLE_DEBUG),)
|
||||||
AS_HELP_STRING([--enable-debug],
|
AC_ARG_ENABLE(fatal-warnings, [ --enable-fatal-warnings make all warnings fatal [debug=no]],AC_DEFINE(LIBGTOP_FATAL_WARNINGS),)
|
||||||
[Turn on debugging @<:@default=no@:>@]),
|
|
||||||
AC_DEFINE(LIBGTOP_ENABLE_DEBUG, 1, [Define to enable debugging]))
|
if test "x$gnome_found" = xyes ; then
|
||||||
AC_ARG_ENABLE(fatal-warnings,
|
LIBSUPPORT="$GNOME_LIBDIR -lgnomesupport"
|
||||||
AS_HELP_STRING([--enable-fatal-warnings],
|
SUPPORTINCS="$GNOME_INCLUDEDIR"
|
||||||
[Make all warnings fatal @<:@debug=no@:>@]),
|
else
|
||||||
AC_DEFINE(LIBGTOP_FATAL_WARNINGS, 1,
|
LIBSUPPORT='$(top_builddir)/support/libgnomesupport-2.0.la'
|
||||||
[Define to enable fatal warnings]))
|
SUPPORTINCS='-DNEED_GNOMESUPPORT_H -I$(top_builddir)/support -I$(top_srcdir)/support'
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl Some ugly hack; if '-lgnomesupport' is part of $GNOME_LIBS,
|
||||||
|
dnl we include it here.
|
||||||
|
case "$GNOME_LIBS" in
|
||||||
|
'*-lgnomesupport*' )
|
||||||
|
LIBSUPPORT="$GNOME_LIBDIR -lgnomesupport"
|
||||||
|
SUPPORTINCS="$GNOME_INCLUDEDIR" ;;
|
||||||
|
esac
|
||||||
|
AC_SUBST(LIBSUPPORT)
|
||||||
|
AC_SUBST(SUPPORTINCS)
|
||||||
|
|
||||||
dnl These definitions are expanded in make.
|
dnl These definitions are expanded in make.
|
||||||
LIBGTOP_LIBS='-L$(libdir)'
|
LIBGTOP_LIBS='-L$(libdir)'
|
||||||
@@ -273,6 +355,10 @@ if test x$libgtop_use_machine_h = xyes ; then
|
|||||||
LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_GLIBTOP_MACHINE_H"
|
LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_GLIBTOP_MACHINE_H"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if test x$build_inodedb = xyes ; then
|
||||||
|
LIBGTOP_INCS="$LIBGTOP_INCS -DGLIBTOP_INODEDB"
|
||||||
|
fi
|
||||||
|
|
||||||
if test x$libgtop_smp = xyes ; then
|
if test x$libgtop_smp = xyes ; then
|
||||||
LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_LIBGTOP_SMP"
|
LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_LIBGTOP_SMP"
|
||||||
fi
|
fi
|
||||||
@@ -281,65 +367,62 @@ if test x$libgtop_have_sysinfo = xyes ; then
|
|||||||
LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_LIBGTOP_SYSINFO"
|
LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_LIBGTOP_SYSINFO"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
LIBGTOP_INCS="$LIBGTOP_INCS $GLIB_CFLAGS"
|
LIBGTOP_INCS="$LIBGTOP_INCS $SUPPORTINCS $GLIB_CFLAGS"
|
||||||
|
|
||||||
libgtop_save_prefix="$prefix"
|
LIBGTOP_GUILE_LIBS="$LIBGTOP_LIBS"
|
||||||
libgtop_save_exec_prefix="$exec_prefix"
|
LIBGTOP_GUILE_INCS="$LIBGTOP_INCS"
|
||||||
test "x$prefix" = xNONE && prefix=$ac_default_prefix
|
LIBGTOP_BINDIR='$(bindir)'
|
||||||
test "x$exec_prefix" = xNONE && exec_prefix=$prefix
|
LIBGTOP_SERVER='$(bindir)/libgtop_server'
|
||||||
LIBGTOP_BINDIR=`eval echo "${bindir}"`
|
|
||||||
LIBGTOP_SERVER=`eval echo "${bindir}/libgtop_server2"`
|
|
||||||
prefix="$libgtop_save_prefix"
|
|
||||||
exec_prefix="$libgtop_save_exec_prefix"
|
|
||||||
|
|
||||||
sysdeps_dir="$libgtop_sysdeps_dir"
|
sysdeps_dir="$libgtop_sysdeps_dir"
|
||||||
AC_SUBST(sysdeps_dir)
|
AC_SUBST(sysdeps_dir)
|
||||||
|
|
||||||
|
if test x$ac_cv_guile_found = xyes ; then
|
||||||
|
LIBGTOP_GUILE_LIBS="$LIBGTOP_GUILE_LIBS -lgtop_guile-2.0"
|
||||||
|
libgtop_guile_found=yes
|
||||||
|
else
|
||||||
|
libgtop_guile_found=no
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_SUBST(libgtop_guile_found)
|
||||||
|
|
||||||
if test -z "$LIBGTOP_EXTRA_LIBS" ; then
|
if test -z "$LIBGTOP_EXTRA_LIBS" ; then
|
||||||
LIBGTOP_EXTRA_LIBS="$libs_xauth"
|
LIBGTOP_EXTRA_LIBS="$libs_xauth"
|
||||||
else
|
else
|
||||||
LIBGTOP_EXTRA_LIBS="$LIBGTOP_EXTRA_LIBS $libs_xauth"
|
LIBGTOP_EXTRA_LIBS="$LIBGTOP_EXTRA_LIBS $libs_xauth"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
LIBGTOP_EXTRA_LIBS="$GLIB_LIBS $LIBGTOP_EXTRA_LIBS"
|
LIBGTOP_EXTRA_LIBS="$LIBGTOP_EXTRA_LIBS $GLIB_LIBS"
|
||||||
|
|
||||||
|
LIBGTOP_LIBS="$LIBGTOP_LIBS -lgtop-2.0 -lgtop_sysdeps-2.0 -lgtop_common-2.0"
|
||||||
|
LIBGTOP_GUILE_LIBS="$LIBGTOP_GUILE_LIBS -lgtop-2.0 -lgtop_sysdeps-2.0 -lgtop_common-2.0"
|
||||||
|
|
||||||
|
LIBGTOP_NAMES_LIBS="$LIBGTOP_LIBS -lgtop_names-2.0"
|
||||||
|
LIBGTOP_GUILE_NAMES_LIBS="$LIBGTOP_GUILE_LIBS -lgtop_guile_names-2.0 -lgtop_names-2.0"
|
||||||
|
|
||||||
LIBGTOP_LIBS="$LIBGTOP_LIBS"
|
LIBGTOP_LIBS="$LIBGTOP_LIBS"
|
||||||
|
LIBGTOP_NAMES_LIBS="$LIBGTOP_NAMES_LIBS"
|
||||||
|
LIBGTOP_GUILE_LIBS="$LIBGTOP_GUILE_LIBS"
|
||||||
|
LIBGTOP_GUILE_NAMES_LIBS="$LIBGTOP_GUILE_NAMES_LIBS"
|
||||||
|
|
||||||
LIBGTOP_LIBS="$LIBGTOP_LIBS"
|
LIBGTOP_GUILE_LIBS="$LIBGTOP_GUILE_LIBS $GUILE_LIBS"
|
||||||
|
LIBGTOP_GUILE_INCS="$LIBGTOP_GUILE_INCS $GUILE_INCS -DGLIBTOP_GUILE"
|
||||||
|
|
||||||
|
LIBGTOP_NAMES_INCS="$LIBGTOP_INCS -DGLIBTOP_NAMES"
|
||||||
|
LIBGTOP_GUILE_NAMES_INCS="$LIBGTOP_GUILE_INCS -DGLIBTOP_GUILE_NAMES"
|
||||||
|
LIBGTOP_GUILE_NAMES_INCS="$LIBGTOP_GUILE_INCS -DGLIBTOP_NAMES"
|
||||||
|
|
||||||
machine_incs="-I\$(top_srcdir)/sysdeps/$sysdeps_dir"
|
machine_incs="-I\$(top_srcdir)/sysdeps/$sysdeps_dir"
|
||||||
|
|
||||||
AC_SUBST(machine_incs)
|
AC_SUBST(machine_incs)
|
||||||
|
|
||||||
if test "$GCC" = "yes" ; then
|
if test x$libgtop_guile_found = xyes ; then
|
||||||
CFLAGS="\
|
guile_def="-DGLIBTOP_GUILE -DGLIBTOP_GUILE_NAMES $GUILE_INCS "
|
||||||
-Winline \
|
else
|
||||||
-Wall \
|
guile_def=""
|
||||||
-std=gnu89 \
|
|
||||||
-Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes \
|
|
||||||
-Wnested-externs -Wpointer-arith \
|
|
||||||
-Wcast-align -Wsign-compare \
|
|
||||||
$CFLAGS"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
INCLUDES="-I\$(top_builddir) -I\$(top_srcdir) -I\$(top_srcdir)/sysdeps/$sysdeps_dir -I\$(top_srcdir)/include $GLIB_CFLAGS $X_CFLAGS"
|
INCLUDES="-D_IN_LIBGTOP -D_GNU_SOURCE -DGLIBTOP_NAMES -I\$(top_builddir) -I\$(top_srcdir) -I\$(top_srcdir)/sysdeps/$sysdeps_dir -I\$(top_srcdir)/include $SUPPORTINCS $GLIB_CFLAGS $CFLAGS $X_CFLAGS $guile_def "'-DGTOPLOCALEDIR=\"$(datadir)/locale\" -DLIBGTOP_VERSION=\"'"$LIBGTOP_VERSION"'\" -DLIBGTOP_SERVER_VERSION=\"'"$LIBGTOP_SERVER_VERSION"'\" -DLIBGTOP_VERSION_CODE='$LIBGTOP_VERSION_CODE' -DLIBGTOP_SERVER=\"'"$LIBGTOP_SERVER"'\"'
|
||||||
|
|
||||||
# Add various defines to the config.h file ...
|
|
||||||
AH_VERBATIM([_GNU_SOURCE],
|
|
||||||
[/* Enable GNU extensions on systems that have them. */
|
|
||||||
#ifndef _GNU_SOURCE
|
|
||||||
# define _GNU_SOURCE
|
|
||||||
#endif])
|
|
||||||
AC_DEFINE([_IN_LIBGTOP], 1,
|
|
||||||
[Note that we are building libgtop rather than using it])
|
|
||||||
AC_DEFINE([LIBGTOP_VERSION], ["libgtop_version"],
|
|
||||||
[The libgtop version number])
|
|
||||||
AC_DEFINE([LIBGTOP_SERVER_VERSION], ["libgtop_server_version"],
|
|
||||||
[The libgtop server version])
|
|
||||||
AC_DEFINE([LIBGTOP_VERSION_CODE], [libgtop_version_code],
|
|
||||||
[The libgtop version number as an integer])
|
|
||||||
AC_DEFINE_UNQUOTED([LIBGTOP_SERVER], ["$LIBGTOP_SERVER"],
|
|
||||||
[The path to the libgtop server])
|
|
||||||
|
|
||||||
AC_SUBST(INCLUDES)
|
AC_SUBST(INCLUDES)
|
||||||
|
|
||||||
@@ -347,12 +430,18 @@ AC_SUBST(LIBGTOP_EXTRA_LIBS)
|
|||||||
AC_SUBST(GLIB_LIBS)
|
AC_SUBST(GLIB_LIBS)
|
||||||
AC_SUBST(LIBGTOP_LIBS)
|
AC_SUBST(LIBGTOP_LIBS)
|
||||||
AC_SUBST(LIBGTOP_INCS)
|
AC_SUBST(LIBGTOP_INCS)
|
||||||
|
AC_SUBST(LIBGTOP_NAMES_LIBS)
|
||||||
|
AC_SUBST(LIBGTOP_NAMES_INCS)
|
||||||
|
AC_SUBST(LIBGTOP_GUILE_LIBS)
|
||||||
|
AC_SUBST(LIBGTOP_GUILE_INCS)
|
||||||
|
AC_SUBST(LIBGTOP_GUILE_NAMES_LIBS)
|
||||||
|
AC_SUBST(LIBGTOP_GUILE_NAMES_INCS)
|
||||||
AC_SUBST(LIBGTOP_BINDIR)
|
AC_SUBST(LIBGTOP_BINDIR)
|
||||||
AC_SUBST(LIBGTOP_SERVER)
|
AC_SUBST(LIBGTOP_SERVER)
|
||||||
|
|
||||||
if test x$libgtop_need_server = xyes ; then
|
if test x$libgtop_need_server = xyes ; then
|
||||||
sysdeps_suid_lib="\$(top_builddir)/sysdeps/\$(sysdeps_dir)/libgtop_sysdeps_suid-2.0.la"
|
sysdeps_suid_lib="\$(top_builddir)/sysdeps/\$(sysdeps_dir)/libgtop_sysdeps_suid-2.0.la"
|
||||||
server_programs='libgtop_server2'
|
server_programs='libgtop_server'
|
||||||
else
|
else
|
||||||
sysdeps_suid_lib=
|
sysdeps_suid_lib=
|
||||||
server_programs=
|
server_programs=
|
||||||
@@ -360,9 +449,7 @@ fi
|
|||||||
AC_SUBST(sysdeps_suid_lib)
|
AC_SUBST(sysdeps_suid_lib)
|
||||||
AC_SUBST(server_programs)
|
AC_SUBST(server_programs)
|
||||||
|
|
||||||
GTK_DOC_CHECK(1.4)
|
AC_OUTPUT([
|
||||||
|
|
||||||
AC_CONFIG_FILES([
|
|
||||||
Makefile
|
Makefile
|
||||||
libgtop.spec
|
libgtop.spec
|
||||||
po/Makefile.in
|
po/Makefile.in
|
||||||
@@ -371,25 +458,23 @@ include/Makefile
|
|||||||
include/glibtop/Makefile
|
include/glibtop/Makefile
|
||||||
sysdeps/Makefile
|
sysdeps/Makefile
|
||||||
sysdeps/common/Makefile
|
sysdeps/common/Makefile
|
||||||
|
sysdeps/names/Makefile
|
||||||
|
sysdeps/guile/Makefile
|
||||||
|
sysdeps/guile/names/Makefile
|
||||||
sysdeps/stub/Makefile
|
sysdeps/stub/Makefile
|
||||||
sysdeps/stub_suid/Makefile
|
sysdeps/stub_suid/Makefile
|
||||||
sysdeps/sun4/Makefile
|
sysdeps/sun4/Makefile
|
||||||
sysdeps/osf1/Makefile
|
sysdeps/osf1/Makefile
|
||||||
sysdeps/linux/Makefile
|
sysdeps/linux/Makefile
|
||||||
|
sysdeps/kernel/Makefile
|
||||||
sysdeps/freebsd/Makefile
|
sysdeps/freebsd/Makefile
|
||||||
sysdeps/solaris/Makefile
|
sysdeps/solaris/Makefile
|
||||||
sysdeps/aix/Makefile
|
|
||||||
sysdeps/bsd/Makefile
|
|
||||||
sysdeps/darwin/Makefile
|
|
||||||
src/Makefile
|
src/Makefile
|
||||||
src/daemon/Makefile
|
src/daemon/Makefile
|
||||||
|
src/inodedb/Makefile
|
||||||
lib/Makefile
|
lib/Makefile
|
||||||
examples/Makefile
|
examples/Makefile
|
||||||
doc/Makefile
|
doc/Makefile
|
||||||
doc/reference/Makefile
|
support/Makefile
|
||||||
doc/reference/version.xml
|
|
||||||
libgtop-2.0.pc
|
libgtop-2.0.pc
|
||||||
libgtopconfig.h
|
|
||||||
])
|
])
|
||||||
|
|
||||||
AC_OUTPUT
|
|
||||||
|
@@ -1,8 +1,9 @@
|
|||||||
|
/* $Id$ */
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
/* Copyright (C) 1998-99 Martin Baulig
|
||||||
This file is part of LibGTop 2.0.
|
This file is part of LibGTop 1.0.
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
||||||
Contributed by Benoît Dejean <TazForEver@dlfp.org>, 2004.
|
|
||||||
|
|
||||||
LibGTop is free software; you can redistribute it and/or modify it
|
LibGTop is free software; you can redistribute it and/or modify it
|
||||||
under the terms of the GNU General Public License as published by
|
under the terms of the GNU General Public License as published by
|
||||||
|
9
debian/.cvsignore
vendored
Normal file
9
debian/.cvsignore
vendored
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
control
|
||||||
|
rules
|
||||||
|
build
|
||||||
|
tmp
|
||||||
|
*.postinst
|
||||||
|
*.debhelper
|
||||||
|
*.files
|
||||||
|
files
|
||||||
|
substvars
|
3
debian/libgtop-dev.files.in
vendored
3
debian/libgtop-dev.files.in
vendored
@@ -1,14 +1,17 @@
|
|||||||
@PREFIX@/lib/libgtop.a
|
@PREFIX@/lib/libgtop.a
|
||||||
@PREFIX@/lib/libgtop_common.a
|
@PREFIX@/lib/libgtop_common.a
|
||||||
|
@PREFIX@/lib/libgtop_names.a
|
||||||
@PREFIX@/lib/libgtop_suid_common.a
|
@PREFIX@/lib/libgtop_suid_common.a
|
||||||
@PREFIX@/lib/libgtop_sysdeps.a
|
@PREFIX@/lib/libgtop_sysdeps.a
|
||||||
@PREFIX@/lib/libgtop.la
|
@PREFIX@/lib/libgtop.la
|
||||||
@PREFIX@/lib/libgtop_common.la
|
@PREFIX@/lib/libgtop_common.la
|
||||||
|
@PREFIX@/lib/libgtop_names.la
|
||||||
@PREFIX@/lib/libgtop_suid_common.la
|
@PREFIX@/lib/libgtop_suid_common.la
|
||||||
@PREFIX@/lib/libgtop_sysdeps.la
|
@PREFIX@/lib/libgtop_sysdeps.la
|
||||||
@PREFIX@/lib/libgtopConf.sh
|
@PREFIX@/lib/libgtopConf.sh
|
||||||
@PREFIX@/lib/libgtop.so
|
@PREFIX@/lib/libgtop.so
|
||||||
@PREFIX@/lib/libgtop_common.so
|
@PREFIX@/lib/libgtop_common.so
|
||||||
|
@PREFIX@/lib/libgtop_names.so
|
||||||
@PREFIX@/lib/libgtop_suid_common.so
|
@PREFIX@/lib/libgtop_suid_common.so
|
||||||
@PREFIX@/lib/libgtop_sysdeps.so
|
@PREFIX@/lib/libgtop_sysdeps.so
|
||||||
@PREFIX@/lib/libgtop-features.def
|
@PREFIX@/lib/libgtop-features.def
|
||||||
|
5
debian/libgtop2.README.Debian
vendored
5
debian/libgtop2.README.Debian
vendored
@@ -1,5 +0,0 @@
|
|||||||
|
|
||||||
The Debian package of libgtop, a GNOME library.
|
|
||||||
|
|
||||||
--
|
|
||||||
Ian Lynagh <ian@lynagh.demon.co.uk>
|
|
12
debian/libgtop2.copyright
vendored
12
debian/libgtop2.copyright
vendored
@@ -1,12 +0,0 @@
|
|||||||
|
|
||||||
libgtop is released under the GPL.
|
|
||||||
On Debian GNU/Linux systems, the complete text of the GNU General
|
|
||||||
Public License can be found in /usr/share/common-licenses/GPL
|
|
||||||
|
|
||||||
Original authors: Martin Baulig <martin@home-of-linux.org>
|
|
||||||
Drazen Kacar <dave@srce.hr>
|
|
||||||
|
|
||||||
Originally Debianised by Jim Pick <jim@jimpick.com>
|
|
||||||
Then re-Debianised in October 1998 by Martin Schulze
|
|
||||||
<joey@finlandia.infodrom.north.de> before being taken over by Ian Lynagh
|
|
||||||
<ian@lynagh.demon.co.uk> in November 1998.
|
|
7
debian/libgtop2.docs
vendored
7
debian/libgtop2.docs
vendored
@@ -1,7 +0,0 @@
|
|||||||
RELNOTES-0.25
|
|
||||||
RELNOTES-1.0
|
|
||||||
RELNOTES-1.1.x
|
|
||||||
NEWS
|
|
||||||
AUTHORS
|
|
||||||
TODO
|
|
||||||
debian/changelog
|
|
2
debian/libgtop2.files.in
vendored
2
debian/libgtop2.files.in
vendored
@@ -1,2 +0,0 @@
|
|||||||
@PREFIX@/lib/libgtop*-1.1.so.*.*
|
|
||||||
@PREFIX@/lib/libgtop*-1.1.so.*
|
|
10
doc/.cvsignore
Normal file
10
doc/.cvsignore
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
texinfo.tex
|
||||||
|
*.info
|
||||||
|
Makefile.in
|
||||||
|
Makefile
|
||||||
|
*.log *.toc *.dvi *.aux *.cp *.fn *.vr *.tp *.ky *.pg
|
||||||
|
*.ps
|
||||||
|
auto-macros.texi
|
||||||
|
version.texi
|
||||||
|
stamp-vti
|
||||||
|
*.html *.pdf
|
@@ -1,50 +1,3 @@
|
|||||||
2007-02-15 Benoît Dejean <benoit@placenet.org>
|
|
||||||
|
|
||||||
* reference/Makefile.am:
|
|
||||||
|
|
||||||
Fixed distcheck.
|
|
||||||
|
|
||||||
2006-02-21 Benoît Dejean <benoit@placenet.org>
|
|
||||||
|
|
||||||
* reference.texi: Fixed glibtop_get_proc_state doc.
|
|
||||||
Patch by Emil Nowak <emil5@go2.pl>.
|
|
||||||
|
|
||||||
2005-01-03 Benoît Dejean <TazForEver@dlfp.org>
|
|
||||||
|
|
||||||
* reference.texi: Updated.
|
|
||||||
|
|
||||||
2004-12-04 Benoît Dejean <tazforever@dlfp.org>
|
|
||||||
|
|
||||||
* reference.texi: Updated.
|
|
||||||
|
|
||||||
2004-08-03 Benoît Dejean <tazforever@dlfp.org>
|
|
||||||
|
|
||||||
* reference.texi: Updated.
|
|
||||||
|
|
||||||
2004-07-07 Benoît Dejean <tazforever@dlfp.org>
|
|
||||||
|
|
||||||
* reference.texi: updated.
|
|
||||||
Added glibtop_get_proc_argv.
|
|
||||||
Added glibtop_fsusage.block_size.
|
|
||||||
|
|
||||||
2004-03-05 Bastien Nocera <hadess@hadess.net>
|
|
||||||
|
|
||||||
* reference.texi: update for new API
|
|
||||||
|
|
||||||
2003-10-20 Bastien Nocera <hadess@hadess.net>
|
|
||||||
|
|
||||||
* reference.texi: s/u_int64_t/guint64/
|
|
||||||
|
|
||||||
2003-10-20 Bastien Nocera <hadess@hadess.net>
|
|
||||||
|
|
||||||
* Makefile.am: removed traces of guile, intllibs and libgnomesupport
|
|
||||||
|
|
||||||
2002-03-12 James Henstridge <james@daa.com.au>
|
|
||||||
|
|
||||||
* Makefile.am (MAKEINFO): using += seems to screw up the build
|
|
||||||
with newer automakes. Set it explicitly (using @MAKEINFO@) seems
|
|
||||||
to be compatible with both.
|
|
||||||
|
|
||||||
2001-11-26 Abel Cheung <maddog@linux.org.hk>
|
2001-11-26 Abel Cheung <maddog@linux.org.hk>
|
||||||
|
|
||||||
* libgtop.texi, Makefile.am: Renamed to libgtop2.texi
|
* libgtop.texi, Makefile.am: Renamed to libgtop2.texi
|
||||||
|
@@ -1,8 +1,45 @@
|
|||||||
SUBDIRS = reference
|
|
||||||
|
|
||||||
info_TEXINFOS = libgtop2.texi
|
info_TEXINFOS = libgtop2.texi
|
||||||
|
|
||||||
libgtop2_TEXINFOS = libgtop2.texi about.texi reference.texi \
|
libgtop2_TEXINFOS = libgtop2.texi about.texi reference.texi \
|
||||||
version.texi main.texi white-paper.texi
|
auto-macros.texi version.texi main.texi \
|
||||||
|
white-paper.texi
|
||||||
|
|
||||||
AM_MAKEINFOFLAGS = -I $(libgtop_top_builddir)/doc
|
MAKEINFO += -I @libgtop_top_builddir@/doc
|
||||||
|
|
||||||
|
EXTRA_DIST = auto-macros.texi.in
|
||||||
|
|
||||||
|
auto-macros.texi: auto-macros.texi.in Makefile
|
||||||
|
## Use sed and then mv to avoid problems if the user interrupts.
|
||||||
|
sed -e 's#\%LIBGTOP_LIBDIR\%#$(libdir)#g' \
|
||||||
|
-e 's#\%LIBGTOP_INCLUDEDIR\%#$(includedir)/libgtop-2.0#g' \
|
||||||
|
-e 's#\%LIBGTOP_DATADIR\%#$(datadir)#g' \
|
||||||
|
-e 's#\%LIBGTOP_EXTRA_LIBS\%#$(LIBGTOP_EXTRA_LIBS)#g' \
|
||||||
|
-e 's#\%LIBGTOP_LIBS\%#$(LIBGTOP_LIBS)#g' \
|
||||||
|
-e 's#\%LIBGTOP_INCS\%#$(LIBGTOP_INCS)#g' \
|
||||||
|
-e 's#\%LIBGTOP_NAMES_LIBS\%#$(LIBGTOP_NAMES_LIBS)#g' \
|
||||||
|
-e 's#\%LIBGTOP_NAMES_INCS\%#$(LIBGTOP_NAMES_INCS)#g' \
|
||||||
|
-e 's#\%LIBGTOP_GUILE_LIBS\%#$(LIBGTOP_GUILE_LIBS)#g' \
|
||||||
|
-e 's#\%LIBGTOP_GUILE_INCS\%#$(LIBGTOP_GUILE_INCS)#g' \
|
||||||
|
-e 's#\%LIBGTOP_GUILE_NAMES_LIBS\%#$(LIBGTOP_GUILE_NAMES_LIBS)#g' \
|
||||||
|
-e 's#\%LIBGTOP_GUILE_NAMES_INCS\%#$(LIBGTOP_GUILE_NAMES_INCS)#g' \
|
||||||
|
-e 's#\%LIBGTOP_BINDIR\%#$(LIBGTOP_BINDIR)#g' \
|
||||||
|
-e 's#\%LIBGTOP_SERVER\%#$(LIBGTOP_SERVER)#g' \
|
||||||
|
-e 's#\%LIBGTOP_MAJOR_VERSION\%#$(LIBGTOP_MAJOR_VERSION)#g' \
|
||||||
|
-e 's#\%LIBGTOP_MINOR_VERSION\%#$(LIBGTOP_MINOR_VERSION)#g' \
|
||||||
|
-e 's#\%LIBGTOP_MICRO_VERSION\%#$(LIBGTOP_MICRO_VERSION)#g' \
|
||||||
|
-e 's#\%LIBGTOP_VERSION\%#$(LIBGTOP_VERSION)#g' \
|
||||||
|
-e 's#\%LIBGTOP_VERSION_CODE\%#$(LIBGTOP_VERSION_CODE)#g' \
|
||||||
|
-e 's#\%LIBGTOP_SERVER_VERSION\%#$(LIBGTOP_SERVER_VERSION)#g' \
|
||||||
|
-e 's#\%libgtop_sysdeps_dir\%#$(libgtop_sysdeps_dir)#g' \
|
||||||
|
-e 's#\%libgtop_need_server\%#$(libgtop_need_server)#g' \
|
||||||
|
-e 's#\%libgtop_use_machine_h\%#$(libgtop_use_machine_h)#g' \
|
||||||
|
-e 's#\%libgtop_guile_found\%#$(libgtop_guile_found)#g' \
|
||||||
|
-e 's#\%libgtop_want_examples\%#$(libgtop_want_examples)#g' \
|
||||||
|
< $(srcdir)/auto-macros.texi.in > auto-macros.tmp
|
||||||
|
echo '@c Set this if this is LibGTop 1.1.x' >> auto-macros.tmp
|
||||||
|
if [ $(LIBGTOP_VERSION_CODE) -ge 1001000 ] ; then \
|
||||||
|
echo '@set LIBGTOP-1-1' >> auto-macros.tmp ; \
|
||||||
|
else \
|
||||||
|
echo '@clear LIBGTOP-1-1' >> auto-macros.tmp ; \
|
||||||
|
fi
|
||||||
|
mv auto-macros.tmp auto-macros.texi
|
||||||
|
12
doc/auto-macros.texi.in
Normal file
12
doc/auto-macros.texi.in
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
@c LibGTop major, minor and micro version.
|
||||||
|
@set LIBGTOP_MAJOR_VERSION %LIBGTOP_MAJOR_VERSION%
|
||||||
|
@set LIBGTOP_MINOR_VERSION %LIBGTOP_MINOR_VERSION%
|
||||||
|
@set LIBGTOP_MICRO_VERSION %LIBGTOP_MICRO_VERSION%
|
||||||
|
|
||||||
|
@c LibGTop version and numerical version code ("1.234.567" -> 1234567).
|
||||||
|
@set LIBGTOP_VERSION "%LIBGTOP_VERSION%"
|
||||||
|
@set LIBGTOP_VERSION_CODE %LIBGTOP_VERSION_CODE%
|
||||||
|
|
||||||
|
@c LibGTop server version, increased each time the protocol changes.
|
||||||
|
@set LIBGTOP_SERVER_VERSION %LIBGTOP_SERVER_VERSION%
|
||||||
|
|
@@ -1,107 +0,0 @@
|
|||||||
@node LibGTop Internals, , Reference Manual, Top
|
|
||||||
@chapter LibGTop Internals
|
|
||||||
|
|
||||||
@menu
|
|
||||||
* General Internals:: General Internals
|
|
||||||
* Sysdeps Internals:: Sysdeps Internals
|
|
||||||
@end menu
|
|
||||||
|
|
||||||
@node General Internals, Sysdeps Internals, LibGTop Internals, LibGTop Internals
|
|
||||||
@section General Internals
|
|
||||||
|
|
||||||
@menu
|
|
||||||
* glibtop:: The server structure
|
|
||||||
@end menu
|
|
||||||
|
|
||||||
@node glibtop, , General Internals, General Internals
|
|
||||||
@subsection The server structure - @code{glibtop}
|
|
||||||
|
|
||||||
@example
|
|
||||||
@cartouche
|
|
||||||
typedef struct _glibtop glibtop;
|
|
||||||
|
|
||||||
struct _glibtop
|
|
||||||
@{
|
|
||||||
unsigned flags;
|
|
||||||
unsigned method;
|
|
||||||
unsigned error_method;
|
|
||||||
#ifdef HAVE_GLIBTOP_MACHINE_H
|
|
||||||
glibtop_machine machine;
|
|
||||||
#endif
|
|
||||||
int input [2];
|
|
||||||
int output [2];
|
|
||||||
int socket;
|
|
||||||
int ncpu;
|
|
||||||
unsigned long os_version_code;
|
|
||||||
const char *name;
|
|
||||||
const char *server_command;
|
|
||||||
const char *server_host;
|
|
||||||
const char *server_user;
|
|
||||||
const char *server_rsh;
|
|
||||||
unsigned long features;
|
|
||||||
unsigned long server_port;
|
|
||||||
glibtop_sysdeps sysdeps;
|
|
||||||
glibtop_sysdeps required;
|
|
||||||
glibtop_sysdeps wanted;
|
|
||||||
pid_t pid;
|
|
||||||
@};
|
|
||||||
@end cartouche
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@node Sysdeps Internals, , General Internals, LibGTop Internals
|
|
||||||
@section Sysdeps Internals
|
|
||||||
|
|
||||||
@menu
|
|
||||||
* glibtop_open_s:: Non-privileged initializations
|
|
||||||
* glibtop_close_s:: Non-privileged cleanups
|
|
||||||
@end menu
|
|
||||||
|
|
||||||
@node glibtop_open_s, glibtop_close_s, Sysdeps Internals, Sysdeps Internals
|
|
||||||
@subsection glibtop_open_s
|
|
||||||
|
|
||||||
This function is used in the non-suid sysdeps library @samp{-lgtop_sysdeps} to
|
|
||||||
initialize a server. It should do all initializations that do not need any
|
|
||||||
privileges.
|
|
||||||
|
|
||||||
@example
|
|
||||||
@cartouche
|
|
||||||
void
|
|
||||||
glibtop_open_s (glibtop *server, const char *program_name,
|
|
||||||
const unsigned long features,
|
|
||||||
const unsigned flags);
|
|
||||||
@end cartouche
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@table @code
|
|
||||||
@item server
|
|
||||||
Pointer to the @code{glibtop} server structure.
|
|
||||||
@item program_name
|
|
||||||
Name of the calling program; the implementation will usually
|
|
||||||
set @samp{server->name} to this so it'll be used as the program
|
|
||||||
name in error messages.
|
|
||||||
@end table
|
|
||||||
|
|
||||||
Typically, this function will set @code{server->name}, @code{server->ncpu} and
|
|
||||||
@code{server->os_version_code} and initialize any of the @code{server->machine}
|
|
||||||
fields which do not need any privileges.
|
|
||||||
|
|
||||||
It is normally implemented in @file{open.c} in the sysdeps directory.
|
|
||||||
|
|
||||||
@node glibtop_close_s, , glibtop_open_s, Sysdeps Internals
|
|
||||||
@subsection glibtop_close_s
|
|
||||||
|
|
||||||
This function is used in the non-suid sysdeps library @samp{-lgtop_sysdeps} to
|
|
||||||
clean-up a server when it's no longer used.
|
|
||||||
|
|
||||||
It must free all resources that were allocated in @code{glibtop_open_s}.
|
|
||||||
|
|
||||||
@example
|
|
||||||
@cartouche
|
|
||||||
void
|
|
||||||
glibtop_close_s (glibtop *server);
|
|
||||||
@end cartouche
|
|
||||||
@end example
|
|
||||||
|
|
||||||
It is normally implemented in @file{close.c} in the sysdeps directory, but may
|
|
||||||
be empty.
|
|
||||||
|
|
@@ -5,6 +5,7 @@
|
|||||||
@setchapternewpage odd
|
@setchapternewpage odd
|
||||||
@c %**end of header
|
@c %**end of header
|
||||||
|
|
||||||
|
@include auto-macros.texi
|
||||||
@include version.texi
|
@include version.texi
|
||||||
|
|
||||||
@ifinfo
|
@ifinfo
|
||||||
|
@@ -50,25 +50,24 @@ typedef struct _glibtop_cpu glibtop_cpu;
|
|||||||
|
|
||||||
struct _glibtop_cpu
|
struct _glibtop_cpu
|
||||||
@{
|
@{
|
||||||
guint64 flags,
|
u_int64_t flags,
|
||||||
total,
|
total,
|
||||||
user,
|
user,
|
||||||
nice,
|
nice,
|
||||||
sys,
|
sys,
|
||||||
idle,
|
idle,
|
||||||
iowait,
|
|
||||||
irq,
|
|
||||||
softirq,
|
|
||||||
frequency,
|
frequency,
|
||||||
xcpu_total [GLIBTOP_NCPU],
|
xcpu_total [GLIBTOP_NCPU],
|
||||||
xcpu_user [GLIBTOP_NCPU],
|
xcpu_user [GLIBTOP_NCPU],
|
||||||
xcpu_nice [GLIBTOP_NCPU],
|
xcpu_nice [GLIBTOP_NCPU],
|
||||||
xcpu_sys [GLIBTOP_NCPU],
|
xcpu_sys [GLIBTOP_NCPU],
|
||||||
|
@ifset LIBGTOP-1-1
|
||||||
xcpu_idle [GLIBTOP_NCPU],
|
xcpu_idle [GLIBTOP_NCPU],
|
||||||
xcpu_iowait [GLIBTOP_NCPU],
|
|
||||||
xcpu_irq [GLIBTOP_NCPU],
|
|
||||||
xcpu_softirq [GLIBTOP_NCPU],
|
|
||||||
xcpu_flags;
|
xcpu_flags;
|
||||||
|
@end ifset
|
||||||
|
@ifclear LIBGTOP-1-1
|
||||||
|
xcpu_idle [GLIBTOP_NCPU];
|
||||||
|
@end ifclear
|
||||||
@};
|
@};
|
||||||
@end cartouche
|
@end cartouche
|
||||||
@end example
|
@end example
|
||||||
@@ -93,33 +92,25 @@ Number of clock ticks the system spent in system mode.
|
|||||||
@item idle
|
@item idle
|
||||||
Number of clock ticks the system spent in the idle task.
|
Number of clock ticks the system spent in the idle task.
|
||||||
|
|
||||||
@item iowait
|
|
||||||
Number of clock ticks the system spent waiting for I/O to complete.
|
|
||||||
|
|
||||||
@item irq
|
|
||||||
Number of clock ticks the system spent servicing interrupts.
|
|
||||||
|
|
||||||
@item softirq
|
|
||||||
Number of clock ticks the system spent servicing softirqs.
|
|
||||||
|
|
||||||
@item frequency
|
@item frequency
|
||||||
Tick frequency (default is 100).
|
Tick frequency (default is 100).
|
||||||
|
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
The @samp{xcpu_} values are for SMP systems - they are the same than
|
The @samp{xcpu_} values are for SMP systems - they are the same than
|
||||||
@code{total}, @code{user}, @code{nice}, @code{sys}, @code{idle},
|
@code{total}, @code{user}, @code{nice}, @code{sys} and @code{idle}
|
||||||
@code{iowait}, @code{irq} and @code{softirq}
|
|
||||||
except that they are arrays of @code{GLIBTOP_NCPU} (defined in
|
except that they are arrays of @code{GLIBTOP_NCPU} (defined in
|
||||||
@file{<glibtop/cpu.h>}) elements and contain one value for each CPU
|
@file{<glibtop/limits.h>}) elements and contain one value for each CPU
|
||||||
in the system.
|
in the system.
|
||||||
|
|
||||||
|
@ifset LIBGTOP-1-1
|
||||||
@table @code
|
@table @code
|
||||||
@item xcpu_flags
|
@item xcpu_flags
|
||||||
This is interpreted as a bit-field: on systems like Solaris, not all CPUs
|
This is interpreted as a bit-field: on systems like Solaris, not all CPUs
|
||||||
need to be running all the time, so we set the corresponding bit for each
|
need to be running all the time, so we set the corresponding bit for each
|
||||||
CPU that is currently running.
|
CPU that is currently running.
|
||||||
@end table
|
@end table
|
||||||
|
@end ifset
|
||||||
|
|
||||||
Please note that all of the cpu values are absolute values measured in
|
Please note that all of the cpu values are absolute values measured in
|
||||||
certain units (to get seconds, divide them by @code{frequency}) since system
|
certain units (to get seconds, divide them by @code{frequency}) since system
|
||||||
@@ -148,7 +139,7 @@ typedef struct _glibtop_mem glibtop_mem;
|
|||||||
|
|
||||||
struct _glibtop_mem
|
struct _glibtop_mem
|
||||||
@{
|
@{
|
||||||
guint64 flags,
|
u_int64_t flags,
|
||||||
total,
|
total,
|
||||||
used,
|
used,
|
||||||
free,
|
free,
|
||||||
@@ -216,7 +207,7 @@ typedef struct _glibtop_swap glibtop_swap;
|
|||||||
|
|
||||||
struct _glibtop_swap
|
struct _glibtop_swap
|
||||||
@{
|
@{
|
||||||
guint64 flags,
|
u_int64_t flags,
|
||||||
total,
|
total,
|
||||||
used,
|
used,
|
||||||
free,
|
free,
|
||||||
@@ -275,10 +266,10 @@ typedef struct _glibtop_uptime glibtop_uptime;
|
|||||||
|
|
||||||
struct _glibtop_uptime
|
struct _glibtop_uptime
|
||||||
@{
|
@{
|
||||||
guint64 flags;
|
u_int64_t flags;
|
||||||
double uptime,
|
double uptime,
|
||||||
idletime;
|
idletime;
|
||||||
guint64 boot_time;
|
u_int64_t boot_time;
|
||||||
@};
|
@};
|
||||||
@end cartouche
|
@end cartouche
|
||||||
@end example
|
@end example
|
||||||
@@ -327,9 +318,9 @@ typedef struct _glibtop_loadavg glibtop_loadavg;
|
|||||||
|
|
||||||
struct _glibtop_loadavg
|
struct _glibtop_loadavg
|
||||||
@{
|
@{
|
||||||
guint64 flags;
|
u_int64_t flags;
|
||||||
double loadavg [3];
|
double loadavg [3];
|
||||||
guint64 nr_running,
|
u_int64_t nr_running,
|
||||||
nr_tasks,
|
nr_tasks,
|
||||||
last_pid;
|
last_pid;
|
||||||
@};
|
@};
|
||||||
@@ -368,11 +359,11 @@ Library function @code{glibtop_get_proclist}:
|
|||||||
@cartouche
|
@cartouche
|
||||||
unsigned *
|
unsigned *
|
||||||
glibtop_get_proclist (glibtop_proclist *buf,
|
glibtop_get_proclist (glibtop_proclist *buf,
|
||||||
gint64 which, gint64 arg);
|
int64_t which, int64_t arg);
|
||||||
|
|
||||||
unsigned *
|
unsigned *
|
||||||
glibtop_get_proclist_l (glibtop *server, glibtop_proclist *buf,
|
glibtop_get_proclist_l (glibtop *server, glibtop_proclist *buf,
|
||||||
gint64 which, gint64 arg);
|
int64_t which, int64_t arg);
|
||||||
@end cartouche
|
@end cartouche
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
@@ -404,7 +395,7 @@ typedef struct _glibtop_proclist glibtop_proclist;
|
|||||||
|
|
||||||
struct _glibtop_proclist
|
struct _glibtop_proclist
|
||||||
@{
|
@{
|
||||||
guint64 flags,
|
u_int64_t flags,
|
||||||
number,
|
number,
|
||||||
total,
|
total,
|
||||||
size;
|
size;
|
||||||
@@ -473,8 +464,8 @@ Size of a single entry in the returned list
|
|||||||
(this equals @code{sizeof (unsigned)}).
|
(this equals @code{sizeof (unsigned)}).
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
The returned list is allocated using @code{g_malloc} and must be freed
|
The returned list is allocated using @code{glibtop_malloc} and must be freed
|
||||||
using @code{g_free} to avoid a memory leak.
|
using @code{glibtop_free} to avoid a memory leak.
|
||||||
|
|
||||||
@page
|
@page
|
||||||
@node glibtop_proc_state, glibtop_proc_uid, glibtop_proclist, System Dependent
|
@node glibtop_proc_state, glibtop_proc_uid, glibtop_proclist, System Dependent
|
||||||
@@ -493,7 +484,7 @@ glibtop_get_proc_state_l (glibtop *server, glibtop_proc_state *buf,
|
|||||||
@end cartouche
|
@end cartouche
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
Declaration of @code{glibtop_proc_state} in @file{<glibtop/procstate.h>}:
|
Declaration of @code{glibtop_proc_state} in @file{<glibtop/proc_state.h>}:
|
||||||
|
|
||||||
@example
|
@example
|
||||||
@cartouche
|
@cartouche
|
||||||
@@ -501,7 +492,7 @@ typedef struct _glibtop_proc_state glibtop_proc_state;
|
|||||||
|
|
||||||
struct _glibtop_proc_state
|
struct _glibtop_proc_state
|
||||||
@{
|
@{
|
||||||
guint64 flags;
|
u_int64_t flags;
|
||||||
char cmd[40];
|
char cmd[40];
|
||||||
@ifset LIBGTOP-1-1
|
@ifset LIBGTOP-1-1
|
||||||
unsigned state;
|
unsigned state;
|
||||||
@@ -581,7 +572,6 @@ There are some constants for the @code{state} field:
|
|||||||
#define GLIBTOP_PROCESS_ZOMBIE 8
|
#define GLIBTOP_PROCESS_ZOMBIE 8
|
||||||
#define GLIBTOP_PROCESS_STOPPED 16
|
#define GLIBTOP_PROCESS_STOPPED 16
|
||||||
#define GLIBTOP_PROCESS_SWAPPING 32
|
#define GLIBTOP_PROCESS_SWAPPING 32
|
||||||
#define GLIBTOP_PROCESS_DEAD 64
|
|
||||||
@end cartouche
|
@end cartouche
|
||||||
@end example
|
@end example
|
||||||
@end ifset
|
@end ifset
|
||||||
@@ -628,7 +618,7 @@ typedef struct _glibtop_proc_uid glibtop_proc_uid;
|
|||||||
|
|
||||||
struct _glibtop_proc_uid
|
struct _glibtop_proc_uid
|
||||||
@{
|
@{
|
||||||
guint64 flags;
|
u_int64_t flags;
|
||||||
int uid,
|
int uid,
|
||||||
euid,
|
euid,
|
||||||
gid,
|
gid,
|
||||||
@@ -680,7 +670,7 @@ Standard unix nice level of process.
|
|||||||
Number of additional process groups.
|
Number of additional process groups.
|
||||||
@item groups
|
@item groups
|
||||||
Array of additional process groups@*
|
Array of additional process groups@*
|
||||||
(@code{GLIBTOP_MAX_GROUPS} is defined in @file{<glibtop/procuid.h>}).
|
(@code{GLIBTOP_MAX_GROUPS} is defined in @file{<glibtop/limits.h>}).
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
@page
|
@page
|
||||||
@@ -708,7 +698,7 @@ typedef struct _glibtop_proc_mem glibtop_proc_mem;
|
|||||||
|
|
||||||
struct _glibtop_proc_mem
|
struct _glibtop_proc_mem
|
||||||
@{
|
@{
|
||||||
guint64 flags,
|
u_int64_t flags,
|
||||||
size,
|
size,
|
||||||
vsize,
|
vsize,
|
||||||
resident,
|
resident,
|
||||||
@@ -727,7 +717,7 @@ Number of pages of virtual memory.
|
|||||||
@item resident
|
@item resident
|
||||||
Number of residnet set (non-swapped) pages.
|
Number of residnet set (non-swapped) pages.
|
||||||
@item share
|
@item share
|
||||||
Number of pages of shared (mmap\'d) memory.
|
Number of pages of shared (mmap'd) memory.
|
||||||
@item rss
|
@item rss
|
||||||
Number of pages the process has in real memory, minus 3 for administrative
|
Number of pages the process has in real memory, minus 3 for administrative
|
||||||
purposes.
|
purposes.
|
||||||
@@ -823,7 +813,7 @@ typedef struct _glibtop_proc_time glibtop_proc_time;
|
|||||||
|
|
||||||
struct _glibtop_proc_time
|
struct _glibtop_proc_time
|
||||||
@{
|
@{
|
||||||
guint64 flags,
|
u_int64_t flags,
|
||||||
start_time,
|
start_time,
|
||||||
rtime,
|
rtime,
|
||||||
utime,
|
utime,
|
||||||
@@ -840,7 +830,6 @@ struct _glibtop_proc_time
|
|||||||
@end cartouche
|
@end cartouche
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
|
|
||||||
@table @code
|
@table @code
|
||||||
@item start_time
|
@item start_time
|
||||||
Start time of process in seconds since the epoch
|
Start time of process in seconds since the epoch
|
||||||
@@ -867,18 +856,6 @@ SMP user-mode CPU time accumulated by process
|
|||||||
SMP kernel-mode CPU time accumulated by process
|
SMP kernel-mode CPU time accumulated by process
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
|
|
||||||
Please note that under Linux, @code{start_time} value may be strange.
|
|
||||||
Linux kernel defines @code{INITIAL_JIFFIES} which implies a time
|
|
||||||
shift. Because @code{INITIAL_JIFFIES} is not user-space defined, we
|
|
||||||
cannot use it to compute accurate @code{start_time}. On Linux2.6,
|
|
||||||
@code{INITIAL_JIFFIES} is 300 so @code{start_time} is always 3s
|
|
||||||
different from real start time of the given process. You may also get
|
|
||||||
shift results if your system clock is not synchronised with your
|
|
||||||
hardware clock. See @samp{man hwclock}.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@page
|
@page
|
||||||
@node glibtop_proc_signal, glibtop_proc_kernel, glibtop_proc_time, System Dependent
|
@node glibtop_proc_signal, glibtop_proc_kernel, glibtop_proc_time, System Dependent
|
||||||
@subsection Process Signal information
|
@subsection Process Signal information
|
||||||
@@ -904,7 +881,7 @@ typedef struct _glibtop_proc_signal glibtop_proc_signal;
|
|||||||
|
|
||||||
struct _glibtop_proc_signal
|
struct _glibtop_proc_signal
|
||||||
@{
|
@{
|
||||||
guint64 flags,
|
u_int64_t flags,
|
||||||
signal [2],
|
signal [2],
|
||||||
blocked [2],
|
blocked [2],
|
||||||
sigignore [2],
|
sigignore [2],
|
||||||
@@ -925,7 +902,7 @@ Mask of caught signals
|
|||||||
@end table
|
@end table
|
||||||
|
|
||||||
All signal masks are interpreted as bit mask; it is an array of two
|
All signal masks are interpreted as bit mask; it is an array of two
|
||||||
@code{guint64}'s so we can save 128 signals there.
|
@code{u_int64_t}'s so we can save 128 signals there.
|
||||||
|
|
||||||
@page
|
@page
|
||||||
@node glibtop_proc_kernel, glibtop_proc_segment, glibtop_proc_signal, System Dependent
|
@node glibtop_proc_kernel, glibtop_proc_segment, glibtop_proc_signal, System Dependent
|
||||||
@@ -952,8 +929,8 @@ typedef struct _glibtop_proc_kernel glibtop_proc_kernel;
|
|||||||
|
|
||||||
struct _glibtop_proc_kernel
|
struct _glibtop_proc_kernel
|
||||||
@{
|
@{
|
||||||
guint64 flags;
|
u_int64_t flags;
|
||||||
guint64 k_flags,
|
u_int64_t k_flags,
|
||||||
min_flt,
|
min_flt,
|
||||||
maj_flt,
|
maj_flt,
|
||||||
cmin_flt,
|
cmin_flt,
|
||||||
@@ -1052,7 +1029,7 @@ typedef struct _glibtop_proc_segment glibtop_proc_segment;
|
|||||||
|
|
||||||
struct _glibtop_proc_segment
|
struct _glibtop_proc_segment
|
||||||
@{
|
@{
|
||||||
guint64 flags,
|
u_int64_t flags,
|
||||||
text_rss,
|
text_rss,
|
||||||
shlib_rss,
|
shlib_rss,
|
||||||
data_rss,
|
data_rss,
|
||||||
@@ -1060,7 +1037,16 @@ struct _glibtop_proc_segment
|
|||||||
dirty_size,
|
dirty_size,
|
||||||
start_code,
|
start_code,
|
||||||
end_code,
|
end_code,
|
||||||
start_stack;
|
start_data,
|
||||||
|
end_data,
|
||||||
|
start_brk,
|
||||||
|
end_brk,
|
||||||
|
start_stack,
|
||||||
|
start_mmap,
|
||||||
|
arg_start,
|
||||||
|
arg_end,
|
||||||
|
env_start,
|
||||||
|
env_end;
|
||||||
@};
|
@};
|
||||||
@end cartouche
|
@end cartouche
|
||||||
@end example
|
@end example
|
||||||
@@ -1093,7 +1079,7 @@ Library function @code{glibtop_get_proc_args}:
|
|||||||
@example
|
@example
|
||||||
@cartouche
|
@cartouche
|
||||||
char *
|
char *
|
||||||
glibtop_get_proc_args(glibtop_proc_args *buf, pid_t pid,
|
glibtop_get_proc_args_l (glibtop_proc_args *buf, pid_t pid,
|
||||||
unsigned max_len);
|
unsigned max_len);
|
||||||
|
|
||||||
char *
|
char *
|
||||||
@@ -1110,7 +1096,7 @@ typedef struct _glibtop_proc_args glibtop_proc_args;
|
|||||||
|
|
||||||
struct _glibtop_proc_args
|
struct _glibtop_proc_args
|
||||||
@{
|
@{
|
||||||
guint64 flags,
|
u_int64_t flags,
|
||||||
size;
|
size;
|
||||||
@};
|
@};
|
||||||
@end cartouche
|
@end cartouche
|
||||||
@@ -1122,31 +1108,7 @@ Returns a string with all command line arguments of process @code{pid}
|
|||||||
The command line arguments in the returned string are separated by zero bytes;
|
The command line arguments in the returned string are separated by zero bytes;
|
||||||
the lenght of this string is returned in the @code{size} field.
|
the lenght of this string is returned in the @code{size} field.
|
||||||
|
|
||||||
Remember to @code{g_free} the returned string to avoid a memory leak.
|
Remember to @code{glibtop_free} the returned string to avoid a memory leak.
|
||||||
|
|
||||||
@strong{New functions}
|
|
||||||
|
|
||||||
@example
|
|
||||||
@cartouche
|
|
||||||
char **
|
|
||||||
glibtop_get_proc_argv(glibtop_proc_args *buf, pid_t pid,
|
|
||||||
unsigned max_len);
|
|
||||||
|
|
||||||
char **
|
|
||||||
glibtop_get_proc_argv_l (glibtop *server, glibtop_proc_args *buf,
|
|
||||||
pid_t pid, unsigned max_len);
|
|
||||||
@end cartouche
|
|
||||||
@end example
|
|
||||||
|
|
||||||
Returns a NULL-terminated array of strings with all arguments of
|
|
||||||
process @code{pid} (up to @code{max_len} characters, use zero to get
|
|
||||||
all arguments). @code{glibtop_get_proc_argv()} and
|
|
||||||
@code{glibtop_get_proc_argv_l()} are wrappers to
|
|
||||||
@code{glibtop_get_proc_args()} and @code{glibtop_get_proc_args_l()}
|
|
||||||
that return process' arguments like the C @code{argv}.
|
|
||||||
|
|
||||||
Remember to @code{g_strfreev} the returned array to avoid a memory
|
|
||||||
leak.
|
|
||||||
|
|
||||||
@page
|
@page
|
||||||
@node glibtop_proc_map, glibtop_netload, glibtop_proc_args, System Dependent
|
@node glibtop_proc_map, glibtop_netload, glibtop_proc_args, System Dependent
|
||||||
@@ -1173,7 +1135,7 @@ typedef struct _glibtop_proc_map glibtop_proc_map;
|
|||||||
|
|
||||||
struct _glibtop_proc_map
|
struct _glibtop_proc_map
|
||||||
@{
|
@{
|
||||||
guint64 flags,
|
u_int64_t flags,
|
||||||
number,
|
number,
|
||||||
total,
|
total,
|
||||||
size;
|
size;
|
||||||
@@ -1182,7 +1144,7 @@ struct _glibtop_proc_map
|
|||||||
@end example
|
@end example
|
||||||
|
|
||||||
Returns a @code{glibtop_map_entry *} list (which needs to be freed with
|
Returns a @code{glibtop_map_entry *} list (which needs to be freed with
|
||||||
@code{g_free}) of memory maps of process @code{pid}.
|
@code{glibtop_free}) of memory maps of process @code{pid}.
|
||||||
|
|
||||||
@table @code
|
@table @code
|
||||||
@item number
|
@item number
|
||||||
@@ -1202,7 +1164,7 @@ typedef struct _glibtop_map_entry glibtop_map_entry;
|
|||||||
|
|
||||||
struct _glibtop_map_entry
|
struct _glibtop_map_entry
|
||||||
@{
|
@{
|
||||||
guint64 flags, start, end, offset, perm, inode, device;
|
u_int64_t flags, start, end, offset, perm, inode, device;
|
||||||
char filename [GLIBTOP_MAP_FILENAME_LEN+1];
|
char filename [GLIBTOP_MAP_FILENAME_LEN+1];
|
||||||
@};
|
@};
|
||||||
@end cartouche
|
@end cartouche
|
||||||
@@ -1213,13 +1175,13 @@ fields are valid:
|
|||||||
|
|
||||||
@example
|
@example
|
||||||
@cartouche
|
@cartouche
|
||||||
#define GLIBTOP_MAP_ENTRY_START 0
|
#define GLIBTOP_MAP_ENTRY_START 1
|
||||||
#define GLIBTOP_MAP_ENTRY_END 1
|
#define GLIBTOP_MAP_ENTRY_END 2
|
||||||
#define GLIBTOP_MAP_ENTRY_OFFSET 2
|
#define GLIBTOP_MAP_ENTRY_OFFSET 3
|
||||||
#define GLIBTOP_MAP_ENTRY_PERM 3
|
#define GLIBTOP_MAP_ENTRY_PERM 4
|
||||||
#define GLIBTOP_MAP_ENTRY_INODE 4
|
#define GLIBTOP_MAP_ENTRY_INODE 5
|
||||||
#define GLIBTOP_MAP_ENTRY_DEVICE 5
|
#define GLIBTOP_MAP_ENTRY_DEVICE 6
|
||||||
#define GLIBTOP_MAP_ENTRY_FILENAME 6
|
#define GLIBTOP_MAP_ENTRY_FILENAME 7
|
||||||
@end cartouche
|
@end cartouche
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
@@ -1260,7 +1222,7 @@ typedef struct _glibtop_netload glibtop_netload;
|
|||||||
|
|
||||||
struct _glibtop_netload
|
struct _glibtop_netload
|
||||||
@{
|
@{
|
||||||
guint64 flags,
|
u_int64_t flags,
|
||||||
if_flags,
|
if_flags,
|
||||||
mtu,
|
mtu,
|
||||||
subnet,
|
subnet,
|
||||||
@@ -1367,7 +1329,7 @@ typedef struct _glibtop_ppp glibtop_ppp;
|
|||||||
|
|
||||||
struct _glibtop_ppp
|
struct _glibtop_ppp
|
||||||
@{
|
@{
|
||||||
guint64 flags,
|
u_int64_t flags,
|
||||||
state,
|
state,
|
||||||
bytes_in,
|
bytes_in,
|
||||||
bytes_out;
|
bytes_out;
|
||||||
@@ -1447,7 +1409,7 @@ typedef struct _glibtop_mountlist glibtop_mountlist;
|
|||||||
|
|
||||||
struct _glibtop_mountlist
|
struct _glibtop_mountlist
|
||||||
@{
|
@{
|
||||||
guint64 flags,
|
u_int64_t flags,
|
||||||
number,
|
number,
|
||||||
total,
|
total,
|
||||||
size;
|
size;
|
||||||
@@ -1456,7 +1418,7 @@ struct _glibtop_mountlist
|
|||||||
@end example
|
@end example
|
||||||
|
|
||||||
Returns a @code{glibtop_mountentry *} list (which needs to be freed with
|
Returns a @code{glibtop_mountentry *} list (which needs to be freed with
|
||||||
@code{g_free}) of mounted filesystems.
|
@code{glibtop_free}) of mounted filesystems.
|
||||||
|
|
||||||
@table @code
|
@table @code
|
||||||
@item number
|
@item number
|
||||||
@@ -1476,7 +1438,7 @@ typedef struct _glibtop_mountentry glibtop_mountentry;
|
|||||||
|
|
||||||
struct _glibtop_mountentry
|
struct _glibtop_mountentry
|
||||||
@{
|
@{
|
||||||
guint64 dev;
|
u_int64_t dev;
|
||||||
char devname [GLIBTOP_MOUNTENTRY_LEN+1];
|
char devname [GLIBTOP_MOUNTENTRY_LEN+1];
|
||||||
char mountdir [GLIBTOP_MOUNTENTRY_LEN+1];
|
char mountdir [GLIBTOP_MOUNTENTRY_LEN+1];
|
||||||
char type [GLIBTOP_MOUNTENTRY_LEN+1];
|
char type [GLIBTOP_MOUNTENTRY_LEN+1];
|
||||||
@@ -1484,7 +1446,13 @@ struct _glibtop_mountentry
|
|||||||
@end cartouche
|
@end cartouche
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
@code{GLIBTOP_MOUNTENTRY_LEN} is defined in @file{<glibtop.h>}.
|
@ifset LIBGTOP-1-1
|
||||||
|
@code{GLIBTOP_MOUNTENTRY_LEN} is defined in @file{<glibtop/limits.h>}.
|
||||||
|
@end ifset
|
||||||
|
@ifclear LIBGTOP-1-1
|
||||||
|
@code{GLIBTOP_MOUNTENTRY_LEN} is defined in @file{<glibtop.h>}
|
||||||
|
(this was moved to @file{<glibtop/limits.h>} in LibGTop 1.1.0).
|
||||||
|
@end ifclear
|
||||||
|
|
||||||
@table @code
|
@table @code
|
||||||
@item devname
|
@item devname
|
||||||
@@ -1520,15 +1488,12 @@ typedef struct _glibtop_fsusage glibtop_fsusage;
|
|||||||
|
|
||||||
struct _glibtop_fsusage
|
struct _glibtop_fsusage
|
||||||
@{
|
@{
|
||||||
guint64 flags,
|
u_int64_t flags,
|
||||||
blocks,
|
blocks,
|
||||||
bfree,
|
bfree,
|
||||||
bavail,
|
bavail,
|
||||||
files,
|
files,
|
||||||
ffree;
|
ffree;
|
||||||
guint32 block_size;
|
|
||||||
guint64 read,
|
|
||||||
write;
|
|
||||||
@};
|
@};
|
||||||
@end cartouche
|
@end cartouche
|
||||||
@end example
|
@end example
|
||||||
@@ -1544,14 +1509,10 @@ Free blocks available to ordinary users.
|
|||||||
Total file nodes.
|
Total file nodes.
|
||||||
@item ffree
|
@item ffree
|
||||||
Free file nodes.
|
Free file nodes.
|
||||||
@item block_size
|
|
||||||
Block size in bytes.
|
|
||||||
@item read
|
|
||||||
Total blocks read.
|
|
||||||
@item write
|
|
||||||
Total blocks written.
|
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
|
Blocks are usually 512 bytes.
|
||||||
|
|
||||||
@page
|
@page
|
||||||
@node Library Functions, , Common Functions, Reference Manual
|
@node Library Functions, , Common Functions, Reference Manual
|
||||||
@section Library Functions
|
@section Library Functions
|
||||||
@@ -1678,7 +1639,7 @@ typedef struct _glibtop_sysdeps glibtop_sysdeps;
|
|||||||
|
|
||||||
struct _glibtop_sysdeps
|
struct _glibtop_sysdeps
|
||||||
@{
|
@{
|
||||||
guint64 flags,
|
u_int64_t flags,
|
||||||
features,
|
features,
|
||||||
pointer_size,
|
pointer_size,
|
||||||
cpu,
|
cpu,
|
||||||
|
@@ -1,59 +0,0 @@
|
|||||||
AUTOMAKE_OPTIONS = 1.6
|
|
||||||
## Process this file with automake to produce Makefile.in
|
|
||||||
# The name of the module, e.g. 'glib'.
|
|
||||||
DOC_MODULE=libgtop
|
|
||||||
|
|
||||||
# The top-level SGML file. You can change this if you want to.
|
|
||||||
DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.xml
|
|
||||||
|
|
||||||
# Extra options to pass to gtkdoc-scangobj. Not normally needed.
|
|
||||||
# SCANGOBJ_OPTIONS=
|
|
||||||
|
|
||||||
# Extra options to supply to gtkdoc-scan.
|
|
||||||
# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"
|
|
||||||
SCAN_OPTIONS=
|
|
||||||
|
|
||||||
# Extra options to supply to gtkdoc-mkdb.
|
|
||||||
# e.g. MKDB_OPTIONS=--sgml-mode --output-format=xml
|
|
||||||
MKDB_OPTIONS=--sgml-mode --output-format=xml --source-dir=$(top_srcdir)/sysdeps/common
|
|
||||||
|
|
||||||
# The directory containing the source code. Relative to $(srcdir).
|
|
||||||
# gtk-doc will search all .c & .h files beneath here for inline comments
|
|
||||||
# documenting the functions and macros.
|
|
||||||
# e.g. DOC_SOURCE_DIR=../../../gtk
|
|
||||||
DOC_SOURCE_DIR=$(top_srcdir)/include/glibtop
|
|
||||||
|
|
||||||
# Used for dependencies. The docs will be rebuilt if any of these change.
|
|
||||||
# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h
|
|
||||||
# e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c
|
|
||||||
HFILE_GLOB=$(top_srcdir)/include/glibtop/*.h
|
|
||||||
CFILE_GLOB=$(top_srcdir)/sysdeps/common/*.c
|
|
||||||
|
|
||||||
# Header files to ignore when scanning.
|
|
||||||
# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h
|
|
||||||
IGNORE_HFILES=error.h global.h gnuserv.h init_hooks.h write.h read.h read_data.h config.h libgtopconfig.h
|
|
||||||
|
|
||||||
EXTRA_HFILES=$(top_srcdir)/glibtop.h
|
|
||||||
|
|
||||||
# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
|
|
||||||
# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
|
|
||||||
content_files=version.xml
|
|
||||||
|
|
||||||
# Images to copy into HTML directory.
|
|
||||||
# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
|
|
||||||
HTML_IMAGES=
|
|
||||||
|
|
||||||
# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
|
|
||||||
# Only needed if you are using gtkdoc-scangobj to dynamically query widget
|
|
||||||
# signals and properties.
|
|
||||||
# e.g. INCLUDES=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
|
|
||||||
# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
|
|
||||||
INCLUDES=
|
|
||||||
GTKDOC_LIBS=
|
|
||||||
|
|
||||||
# This includes the standard gtk-doc make rules, copied by gtkdocize.
|
|
||||||
include $(top_srcdir)/gtk-doc.make
|
|
||||||
|
|
||||||
# Other files to distribute
|
|
||||||
# e.g. EXTRA_DIST += version.xml.in
|
|
||||||
EXTRA_DIST += version.xml.in
|
|
@@ -1,206 +0,0 @@
|
|||||||
<?xml version="1.0"?>
|
|
||||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
|
|
||||||
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
|
|
||||||
<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
|
|
||||||
<bookinfo>
|
|
||||||
<title>Libgtop Reference Manual</title>
|
|
||||||
<releaseinfo>for libgtop <xi:include href="version.xml"/></releaseinfo>
|
|
||||||
<authorgroup>
|
|
||||||
<author>
|
|
||||||
<firstname>Martin </firstname>
|
|
||||||
<surname>Baulig</surname>
|
|
||||||
<affiliation>
|
|
||||||
<address>
|
|
||||||
<email>martin@home-of-linux.org</email>
|
|
||||||
</address>
|
|
||||||
</affiliation>
|
|
||||||
</author>
|
|
||||||
<author>
|
|
||||||
<firstname>Germán</firstname>
|
|
||||||
<surname>Poó-Caamaño</surname>
|
|
||||||
<affiliation>
|
|
||||||
<address>
|
|
||||||
<email>gpoo@ubiobio.cl</email>
|
|
||||||
</address>
|
|
||||||
</affiliation>
|
|
||||||
</author>
|
|
||||||
</authorgroup>
|
|
||||||
|
|
||||||
<legalnotice>
|
|
||||||
<para>Permission is granted to copy, distribute and/or modify
|
|
||||||
this document under the terms of the <citetitle>GNU Free
|
|
||||||
Documentation License</citetitle>, Version 1.1 or any later
|
|
||||||
version published by the Free Software Foundation with no
|
|
||||||
Invariant Sections, no Front-Cover Texts, and no Back-Cover
|
|
||||||
Texts. You may obtain a copy of the <citetitle>GNU Free
|
|
||||||
Documentation License</citetitle> from the Free Software
|
|
||||||
Foundation by visiting <ulink type="http"
|
|
||||||
url="http://www.fsf.org">their Web site</ulink> or by writing
|
|
||||||
to: Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
Boston, MA 02111-1307, USA.</para>
|
|
||||||
|
|
||||||
<para>Many of the names used by companies to distinguish their
|
|
||||||
products and services are claimed as trademarks. Where those
|
|
||||||
names appear in any GNOME documentation, and those trademarks
|
|
||||||
are made aware to the members of the GNOME Documentation
|
|
||||||
Project, the names have been printed in caps or initial
|
|
||||||
caps.</para>
|
|
||||||
</legalnotice>
|
|
||||||
|
|
||||||
<abstract>
|
|
||||||
<para>
|
|
||||||
LibGTop is a library to get system specific data such as CPU and
|
|
||||||
Memory Usage and information about running Processes.</para>
|
|
||||||
|
|
||||||
<para>On Systems like Solaris or Digital Unix where you need special
|
|
||||||
privileges to get those data, it uses a setuid/setgid server to do
|
|
||||||
so.</para>
|
|
||||||
|
|
||||||
<para>Even if LibGTop is a part of the GNOME desktop environment
|
|
||||||
(@uref{http://www.gnome.org}), the main interface of LibGTop is totally
|
|
||||||
independent from any particular desktop environment, so you can also
|
|
||||||
use it as a standalone library in any piece of GPLed software.</para>
|
|
||||||
|
|
||||||
<para>This manual documents the interfaces of the libgtop
|
|
||||||
library and has some short notes to help get you up to speed
|
|
||||||
with using the library.</para>
|
|
||||||
</abstract>
|
|
||||||
</bookinfo>
|
|
||||||
|
|
||||||
<!--FIXME: It is missing the rest of about.texi -->
|
|
||||||
|
|
||||||
<chapter id="libgtop-white-paper">
|
|
||||||
<title>White paper</title>
|
|
||||||
|
|
||||||
<sect1 id="libgtop-white-paper-introduction">
|
|
||||||
<title>Introduction</title>
|
|
||||||
<para>Many modern UNIX systems like Solaris, BSD or Digitial Unix
|
|
||||||
only allow priviledged processes to read information like CPU and
|
|
||||||
Memory Usage or information about running processes.</para>
|
|
||||||
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem><para>
|
|
||||||
BSD, for instance, doesn't have any other way to get those data than reading
|
|
||||||
directly from @file{/dev/kmem} and you need to be in the @code{kmem} group to
|
|
||||||
be able to read this.</para></listitem>
|
|
||||||
|
|
||||||
<listitem><para>
|
|
||||||
Other systems, like Digital Unix, allow all users to get things like CPU and
|
|
||||||
Memory statistics, but only root may read information about any process other
|
|
||||||
than the current one (you may not even get information about your own processes
|
|
||||||
if you're not root).</para></listitem>
|
|
||||||
|
|
||||||
<listitem><para>
|
|
||||||
Linux has a very nice @file{/proc} filesystem, but reading and parsing
|
|
||||||
@file{/proc} is very slow and inefficient.</para></listitem>
|
|
||||||
|
|
||||||
<listitem><para>
|
|
||||||
Solaris is a bit better, but you still need to be in the @code{sys} group or
|
|
||||||
even root to get some data.</para></listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Because of this system utilities like @code{ps}, @code{uptime} or @code{top}
|
|
||||||
often are setgid kmem or setuid root. Usually, they're also very specific to
|
|
||||||
the system they're written for and not easily portable to other systems without
|
|
||||||
a lot of work.</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
This, of cause, becomes a problem for graphical tools like @code{gtop} - making
|
|
||||||
a GTK+ program setgid or even setuid would be a security hole as big as you can
|
|
||||||
drive the entire X11 source code through. For the GNOME project, we also needed
|
|
||||||
some kind of library which provides all the required information in a portable
|
|
||||||
since there's more than just one single program that wants to use them - for
|
|
||||||
instance @code{gtop} and the @code{multiload}, @code{cpumemusage} and
|
|
||||||
@code{netload} panel applets.</para>
|
|
||||||
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1 id="libgtop-white-paper-overview">
|
|
||||||
<title>Overview</title>
|
|
||||||
<para>This section should give you a short overview on how LibGTop
|
|
||||||
was developed, which things needed to be considered and how it
|
|
||||||
works.</para>
|
|
||||||
|
|
||||||
<sect2 id="libgtop-white-paper-overview-design">
|
|
||||||
<title>Interface Design: Things that need to be considered</title>
|
|
||||||
<para>
|
|
||||||
At the very beginning, it was necessary to collect all the data the library part
|
|
||||||
should provide and put them into some C structures. This was not that easiy as it
|
|
||||||
might sound since LibGTop should be portable to any modern UNIX system with a common
|
|
||||||
library part on all those systems, but the data that should be returned vary from
|
|
||||||
system to system. For instance some systems support shared memory, but some others
|
|
||||||
may not.</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
The header files where we define these C structures (which are system-independent) are
|
|
||||||
shared between client and server. This way we can call the system dependent code
|
|
||||||
directly where we do not need any special privileges to do so.</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
All of those structures contain a @code{flags} member which is interpreted as a bit
|
|
||||||
mask and tells the caller of the library functions which of the fields in the returned
|
|
||||||
structure are valid and which are not.</para>
|
|
||||||
</sect2>
|
|
||||||
|
|
||||||
<sect2 id="libgtop-white-paper-overview-server">
|
|
||||||
<title>Server Implementation: The LibGTop "server"</title>
|
|
||||||
<para>
|
|
||||||
The LibGTop @dfn{server} is a setgid/setuid binary which contains all the system
|
|
||||||
dependent code which needs special privileges. It is only build if it's required
|
|
||||||
on the current system (for instance, the Linux kernel provides all the required
|
|
||||||
data via its @file{/proc} filesystem so we do not need the server at all) and it
|
|
||||||
only contains the @dfn{features} which need privileges.</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Whenever we do not need any privileges to get all the data for some of the requested
|
|
||||||
structures (here called @dfn{features}) the library calls the sysdeps code directly
|
|
||||||
rather than using the server.</para>
|
|
||||||
</sect2>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
</chapter>
|
|
||||||
|
|
||||||
<chapter id="libgtop-lib">
|
|
||||||
<title>Libgtop Library Reference</title>
|
|
||||||
|
|
||||||
<para>This section contains the API reference for libgtop. All
|
|
||||||
the public interfaces are documented here.</para>
|
|
||||||
|
|
||||||
<xi:include href="xml/glibtop.xml"/>
|
|
||||||
<xi:include href="xml/close.xml"/>
|
|
||||||
<xi:include href="xml/command.xml"/>
|
|
||||||
<xi:include href="xml/glibtop-server.xml"/>
|
|
||||||
<xi:include href="xml/netload.xml"/>
|
|
||||||
<xi:include href="xml/ppp.xml"/>
|
|
||||||
<xi:include href="xml/shm_limits.xml"/>
|
|
||||||
<xi:include href="xml/uptime.xml"/>
|
|
||||||
<xi:include href="xml/netlist.xml"/>
|
|
||||||
<xi:include href="xml/open.xml"/>
|
|
||||||
<xi:include href="xml/parameter.xml"/>
|
|
||||||
<xi:include href="xml/procargs.xml"/>
|
|
||||||
<xi:include href="xml/procmem.xml"/>
|
|
||||||
<xi:include href="xml/procopenfiles.xml"/>
|
|
||||||
<xi:include href="xml/procsegment.xml"/>
|
|
||||||
<xi:include href="xml/procsignal.xml"/>
|
|
||||||
<xi:include href="xml/sysdeps.xml"/>
|
|
||||||
<xi:include href="xml/procstate.xml"/>
|
|
||||||
<xi:include href="xml/procuid.xml"/>
|
|
||||||
<xi:include href="xml/proctime.xml"/>
|
|
||||||
<xi:include href="xml/signal.xml"/>
|
|
||||||
<xi:include href="xml/procmap.xml"/>
|
|
||||||
<xi:include href="xml/sysinfo.xml"/>
|
|
||||||
<xi:include href="xml/union.xml"/>
|
|
||||||
<xi:include href="xml/version.xml"/>
|
|
||||||
<xi:include href="xml/proclist.xml"/>
|
|
||||||
<xi:include href="xml/sem_limits.xml"/>
|
|
||||||
<xi:include href="xml/prockernel.xml"/>
|
|
||||||
<xi:include href="xml/fsusage.xml"/>
|
|
||||||
<xi:include href="xml/loadavg.xml"/>
|
|
||||||
<xi:include href="xml/mem.xml"/>
|
|
||||||
<xi:include href="xml/mountlist.xml"/>
|
|
||||||
<xi:include href="xml/msg_limits.xml"/>
|
|
||||||
<xi:include href="xml/cpu.xml"/>
|
|
||||||
<xi:include href="xml/swap.xml"/>
|
|
||||||
</chapter>
|
|
||||||
</book>
|
|
@@ -1,736 +0,0 @@
|
|||||||
<INCLUDE>glibtop.h</INCLUDE>
|
|
||||||
<SECTION>
|
|
||||||
<FILE>glibtop</FILE>
|
|
||||||
<TITLE>GlibTop</TITLE>
|
|
||||||
GLIBTOP_MOUNTENTRY_LEN
|
|
||||||
LIBGTOP_CHECK_VERSION
|
|
||||||
glibtop
|
|
||||||
glibtop_global_server
|
|
||||||
glibtop_init
|
|
||||||
glibtop_init_r
|
|
||||||
glibtop_init_s
|
|
||||||
glibtop_server_features
|
|
||||||
</SECTION>
|
|
||||||
|
|
||||||
<INCLUDE>glibtop/close.h</INCLUDE>
|
|
||||||
<SECTION>
|
|
||||||
<FILE>close</FILE>
|
|
||||||
<TITLE>Close</TITLE>
|
|
||||||
glibtop_close
|
|
||||||
glibtop_close_r
|
|
||||||
glibtop_close_s
|
|
||||||
glibtop_close_p
|
|
||||||
</SECTION>
|
|
||||||
|
|
||||||
<INCLUDE>glibtop/command.h</INCLUDE>
|
|
||||||
<SECTION>
|
|
||||||
<FILE>command</FILE>
|
|
||||||
<TITLE>Command</TITLE>
|
|
||||||
GLIBTOP_CMND_QUIT
|
|
||||||
GLIBTOP_CMND_SYSDEPS
|
|
||||||
GLIBTOP_CMND_CPU
|
|
||||||
GLIBTOP_CMND_MEM
|
|
||||||
GLIBTOP_CMND_SWAP
|
|
||||||
GLIBTOP_CMND_UPTIME
|
|
||||||
GLIBTOP_CMND_LOADAVG
|
|
||||||
GLIBTOP_CMND_SHM_LIMITS
|
|
||||||
GLIBTOP_CMND_MSG_LIMITS
|
|
||||||
GLIBTOP_CMND_SEM_LIMITS
|
|
||||||
GLIBTOP_CMND_PROCLIST
|
|
||||||
GLIBTOP_CMND_PROC_STATE
|
|
||||||
GLIBTOP_CMND_PROC_UID
|
|
||||||
GLIBTOP_CMND_PROC_MEM
|
|
||||||
GLIBTOP_CMND_PROC_TIME
|
|
||||||
GLIBTOP_CMND_PROC_SIGNAL
|
|
||||||
GLIBTOP_CMND_PROC_KERNEL
|
|
||||||
GLIBTOP_CMND_PROC_SEGMENT
|
|
||||||
GLIBTOP_CMND_PROC_ARGS
|
|
||||||
GLIBTOP_CMND_PROC_MAP
|
|
||||||
GLIBTOP_CMND_MOUNTLIST
|
|
||||||
GLIBTOP_CMND_FSUSAGE
|
|
||||||
GLIBTOP_CMND_NETLOAD
|
|
||||||
GLIBTOP_CMND_PPP
|
|
||||||
GLIBTOP_CMND_NETLIST
|
|
||||||
GLIBTOP_CMND_PROC_OPEN_FILES
|
|
||||||
GLIBTOP_MAX_CMND
|
|
||||||
glibtop_command
|
|
||||||
glibtop_response
|
|
||||||
glibtop_response_union
|
|
||||||
glibtop_call
|
|
||||||
glibtop_call_l
|
|
||||||
glibtop_call_s
|
|
||||||
</SECTION>
|
|
||||||
|
|
||||||
<INCLUDE>glibtop/glibtop-server.h</INCLUDE>
|
|
||||||
<SECTION>
|
|
||||||
<FILE>glibtop-server</FILE>
|
|
||||||
<TITLE>GlibTop Server</TITLE>
|
|
||||||
glibtop_server
|
|
||||||
glibtop_server_info
|
|
||||||
glibtop_closure
|
|
||||||
glibtop_server_new
|
|
||||||
glibtop_server_ref
|
|
||||||
glibtop_server_unref
|
|
||||||
</SECTION>
|
|
||||||
|
|
||||||
<INCLUDE>glibtop/netload.h</INCLUDE>
|
|
||||||
<SECTION>
|
|
||||||
<FILE>netload</FILE>
|
|
||||||
<TITLE>Net Load</TITLE>
|
|
||||||
GLIBTOP_NETLOAD_IF_FLAGS
|
|
||||||
GLIBTOP_NETLOAD_MTU
|
|
||||||
GLIBTOP_NETLOAD_SUBNET
|
|
||||||
GLIBTOP_NETLOAD_ADDRESS
|
|
||||||
GLIBTOP_NETLOAD_PACKETS_IN
|
|
||||||
GLIBTOP_NETLOAD_PACKETS_OUT
|
|
||||||
GLIBTOP_NETLOAD_PACKETS_TOTAL
|
|
||||||
GLIBTOP_NETLOAD_BYTES_IN
|
|
||||||
GLIBTOP_NETLOAD_BYTES_OUT
|
|
||||||
GLIBTOP_NETLOAD_BYTES_TOTAL
|
|
||||||
GLIBTOP_NETLOAD_ERRORS_IN
|
|
||||||
GLIBTOP_NETLOAD_ERRORS_OUT
|
|
||||||
GLIBTOP_NETLOAD_ERRORS_TOTAL
|
|
||||||
GLIBTOP_NETLOAD_COLLISIONS
|
|
||||||
GLIBTOP_NETLOAD_ADDRESS6
|
|
||||||
GLIBTOP_NETLOAD_PREFIX6
|
|
||||||
GLIBTOP_NETLOAD_SCOPE6
|
|
||||||
GLIBTOP_NETLOAD_HWADDRESS
|
|
||||||
GLIBTOP_MAX_NETLOAD
|
|
||||||
glibtop_netload
|
|
||||||
glibtop_get_netload
|
|
||||||
glibtop_get_netload_r
|
|
||||||
glibtop_get_netload_l
|
|
||||||
glibtop_init_netload_p
|
|
||||||
glibtop_get_netload_p
|
|
||||||
glibtop_init_netload_s
|
|
||||||
glibtop_get_netload_s
|
|
||||||
</SECTION>
|
|
||||||
|
|
||||||
<INCLUDE>glibtop/ppp.h</INCLUDE>
|
|
||||||
<SECTION>
|
|
||||||
<FILE>ppp</FILE>
|
|
||||||
<TITLE>PPP</TITLE>
|
|
||||||
GLIBTOP_PPP_STATE
|
|
||||||
GLIBTOP_PPP_BYTES_IN
|
|
||||||
GLIBTOP_PPP_BYTES_OUT
|
|
||||||
GLIBTOP_MAX_PPP
|
|
||||||
glibtop_ppp
|
|
||||||
glibtop_get_ppp
|
|
||||||
glibtop_get_ppp_r
|
|
||||||
glibtop_get_ppp_l
|
|
||||||
glibtop_init_ppp_p
|
|
||||||
glibtop_get_ppp_p
|
|
||||||
glibtop_init_ppp_s
|
|
||||||
glibtop_get_ppp_s
|
|
||||||
</SECTION>
|
|
||||||
|
|
||||||
<INCLUDE>glibtop/shm_limits.h</INCLUDE>
|
|
||||||
<SECTION>
|
|
||||||
<FILE>shm_limits</FILE>
|
|
||||||
<TITLE>Shared Memory Limits</TITLE>
|
|
||||||
GLIBTOP_IPC_SHMMAX
|
|
||||||
GLIBTOP_IPC_SHMMIN
|
|
||||||
GLIBTOP_IPC_SHMMNI
|
|
||||||
GLIBTOP_IPC_SHMSEG
|
|
||||||
GLIBTOP_IPC_SHMALL
|
|
||||||
GLIBTOP_MAX_SHM_LIMITS
|
|
||||||
glibtop_shm_limits
|
|
||||||
glibtop_get_shm_limits
|
|
||||||
glibtop_get_shm_limits_r
|
|
||||||
glibtop_get_shm_limits_l
|
|
||||||
glibtop_init_shm_limits_p
|
|
||||||
glibtop_get_shm_limits_p
|
|
||||||
glibtop_init_shm_limits_s
|
|
||||||
glibtop_get_shm_limits_s
|
|
||||||
</SECTION>
|
|
||||||
|
|
||||||
<INCLUDE>glibtop/uptime.h</INCLUDE>
|
|
||||||
<SECTION>
|
|
||||||
<FILE>uptime</FILE>
|
|
||||||
<TITLE>Uptime</TITLE>
|
|
||||||
GLIBTOP_UPTIME_UPTIME
|
|
||||||
GLIBTOP_UPTIME_IDLETIME
|
|
||||||
GLIBTOP_UPTIME_BOOT_TIME
|
|
||||||
GLIBTOP_MAX_UPTIME
|
|
||||||
glibtop_uptime
|
|
||||||
glibtop_get_uptime
|
|
||||||
glibtop_get_uptime_r
|
|
||||||
glibtop_get_uptime_l
|
|
||||||
glibtop_init_uptime_p
|
|
||||||
glibtop_get_uptime_p
|
|
||||||
glibtop_init_uptime_s
|
|
||||||
glibtop_get_uptime_s
|
|
||||||
</SECTION>
|
|
||||||
|
|
||||||
<INCLUDE>glibtop/netlist.h</INCLUDE>
|
|
||||||
<SECTION>
|
|
||||||
<FILE>netlist</FILE>
|
|
||||||
<TITLE>Net List</TITLE>
|
|
||||||
GLIBTOP_NETLIST_NUMBER
|
|
||||||
GLIBTOP_MAX_NETLIST
|
|
||||||
glibtop_netlist
|
|
||||||
glibtop_get_netlist
|
|
||||||
glibtop_get_netlist_r
|
|
||||||
glibtop_get_netlist_l
|
|
||||||
glibtop_init_netlist_p
|
|
||||||
glibtop_get_netlist_p
|
|
||||||
glibtop_init_netlist_s
|
|
||||||
glibtop_get_netlist_s
|
|
||||||
</SECTION>
|
|
||||||
|
|
||||||
<INCLUDE>glibtop/open.h</INCLUDE>
|
|
||||||
<SECTION>
|
|
||||||
<FILE>open</FILE>
|
|
||||||
GLIBTOP_INIT_NO_OPEN
|
|
||||||
GLIBTOP_INIT_NO_INIT
|
|
||||||
GLIBTOP_FEATURES_NO_SERVER
|
|
||||||
GLIBTOP_FEATURES_EXCEPT
|
|
||||||
GLIBTOP_METHOD_DIRECT
|
|
||||||
GLIBTOP_METHOD_PIPE
|
|
||||||
GLIBTOP_METHOD_INET
|
|
||||||
GLIBTOP_METHOD_UNIX
|
|
||||||
GLIBTOP_ERROR_METHOD_IGNORE
|
|
||||||
GLIBTOP_ERROR_METHOD_WARN_ONCE
|
|
||||||
GLIBTOP_ERROR_METHOD_WARN
|
|
||||||
GLIBTOP_ERROR_METHOD_ABORT
|
|
||||||
GLIBTOP_ERROR_METHOD_DEFAULT
|
|
||||||
glibtop_open_l
|
|
||||||
glibtop_init_p
|
|
||||||
glibtop_open_p
|
|
||||||
glibtop_open_s
|
|
||||||
</SECTION>
|
|
||||||
|
|
||||||
<INCLUDE>glibtop/parameter.h</INCLUDE>
|
|
||||||
<SECTION>
|
|
||||||
<FILE>parameter</FILE>
|
|
||||||
GLIBTOP_PARAM_METHOD
|
|
||||||
GLIBTOP_PARAM_FEATURES
|
|
||||||
GLIBTOP_PARAM_COMMAND
|
|
||||||
GLIBTOP_PARAM_HOST
|
|
||||||
GLIBTOP_PARAM_PORT
|
|
||||||
GLIBTOP_PARAM_ERROR_METHOD
|
|
||||||
GLIBTOP_PARAM_REQUIRED
|
|
||||||
glibtop_get_parameter
|
|
||||||
glibtop_set_parameter
|
|
||||||
glibtop_get_parameter_l
|
|
||||||
glibtop_set_parameter_l
|
|
||||||
</SECTION>
|
|
||||||
|
|
||||||
<INCLUDE>glibtop/procargs.h</INCLUDE>
|
|
||||||
<SECTION>
|
|
||||||
<FILE>procargs</FILE>
|
|
||||||
GLIBTOP_PROC_ARGS_SIZE
|
|
||||||
GLIBTOP_MAX_PROC_ARGS
|
|
||||||
glibtop_proc_args
|
|
||||||
glibtop_get_proc_args_l
|
|
||||||
glibtop_get_proc_args
|
|
||||||
glibtop_get_proc_args_r
|
|
||||||
glibtop_init_proc_args_p
|
|
||||||
glibtop_get_proc_args_p
|
|
||||||
glibtop_init_proc_args_s
|
|
||||||
glibtop_get_proc_args_s
|
|
||||||
glibtop_get_proc_argv_l
|
|
||||||
glibtop_get_proc_argv
|
|
||||||
</SECTION>
|
|
||||||
|
|
||||||
<INCLUDE>glibtop/procmem.h</INCLUDE>
|
|
||||||
<SECTION>
|
|
||||||
<FILE>procmem</FILE>
|
|
||||||
GLIBTOP_PROC_MEM_SIZE
|
|
||||||
GLIBTOP_PROC_MEM_VSIZE
|
|
||||||
GLIBTOP_PROC_MEM_RESIDENT
|
|
||||||
GLIBTOP_PROC_MEM_SHARE
|
|
||||||
GLIBTOP_PROC_MEM_RSS
|
|
||||||
GLIBTOP_PROC_MEM_RSS_RLIM
|
|
||||||
GLIBTOP_MAX_PROC_MEM
|
|
||||||
glibtop_proc_mem
|
|
||||||
glibtop_get_proc_mem
|
|
||||||
glibtop_get_proc_mem_r
|
|
||||||
glibtop_get_proc_mem_l
|
|
||||||
glibtop_init_proc_mem_p
|
|
||||||
glibtop_get_proc_mem_p
|
|
||||||
glibtop_init_proc_mem_s
|
|
||||||
glibtop_get_proc_mem_s
|
|
||||||
</SECTION>
|
|
||||||
|
|
||||||
<INCLUDE>glibtop/procopenfiles.h</INCLUDE>
|
|
||||||
<SECTION>
|
|
||||||
<FILE>procopenfiles</FILE>
|
|
||||||
GLIBTOP_PROC_OPEN_FILES_NUMBER
|
|
||||||
GLIBTOP_PROC_OPEN_FILES_TOTAL
|
|
||||||
GLIBTOP_PROC_OPEN_FILES_SIZE
|
|
||||||
GLIBTOP_MAX_PROC_OPEN_FILES
|
|
||||||
GLIBTOP_FILE_ENTRY_FD
|
|
||||||
GLIBTOP_FILE_ENTRY_NAME
|
|
||||||
GLIBTOP_FILE_ENTRY_TYPE
|
|
||||||
GLIBTOP_FILE_ENTRY_INETSOCKET_DST_HOST
|
|
||||||
GLIBTOP_FILE_ENTRY_INETSOCKET_DST_PORT
|
|
||||||
GLIBTOP_MAX_OPEN_FILE_ENTRY
|
|
||||||
GLIBTOP_OPEN_FILENAME_LEN
|
|
||||||
GLIBTOP_OPEN_DEST_HOST_LEN
|
|
||||||
glibtop_open_files_entry
|
|
||||||
glibtop_proc_open_files
|
|
||||||
glibtop_get_proc_open_files
|
|
||||||
glibtop_get_proc_open_files_r
|
|
||||||
glibtop_get_proc_open_files_l
|
|
||||||
glibtop_init_proc_open_files_p
|
|
||||||
glibtop_get_proc_open_files_p
|
|
||||||
glibtop_init_proc_open_files_s
|
|
||||||
glibtop_get_proc_open_files_s
|
|
||||||
</SECTION>
|
|
||||||
|
|
||||||
<INCLUDE>glibtop/procsegment.h</INCLUDE>
|
|
||||||
<SECTION>
|
|
||||||
<FILE>procsegment</FILE>
|
|
||||||
GLIBTOP_PROC_SEGMENT_TEXT_RSS
|
|
||||||
GLIBTOP_PROC_SEGMENT_SHLIB_RSS
|
|
||||||
GLIBTOP_PROC_SEGMENT_DATA_RSS
|
|
||||||
GLIBTOP_PROC_SEGMENT_STACK_RSS
|
|
||||||
GLIBTOP_PROC_SEGMENT_DIRTY_SIZE
|
|
||||||
GLIBTOP_PROC_SEGMENT_START_CODE
|
|
||||||
GLIBTOP_PROC_SEGMENT_END_CODE
|
|
||||||
GLIBTOP_PROC_SEGMENT_START_STACK
|
|
||||||
GLIBTOP_MAX_PROC_SEGMENT
|
|
||||||
glibtop_proc_segment
|
|
||||||
glibtop_get_proc_segment
|
|
||||||
glibtop_get_proc_segment_r
|
|
||||||
glibtop_get_proc_segment_l
|
|
||||||
glibtop_init_proc_segment_p
|
|
||||||
glibtop_get_proc_segment_p
|
|
||||||
glibtop_init_proc_segment_s
|
|
||||||
glibtop_get_proc_segment_s
|
|
||||||
</SECTION>
|
|
||||||
|
|
||||||
<INCLUDE>glibtop/procsignal.h</INCLUDE>
|
|
||||||
<SECTION>
|
|
||||||
<FILE>procsignal</FILE>
|
|
||||||
GLIBTOP_PROC_SIGNAL_SIGNAL
|
|
||||||
GLIBTOP_PROC_SIGNAL_BLOCKED
|
|
||||||
GLIBTOP_PROC_SIGNAL_SIGIGNORE
|
|
||||||
GLIBTOP_PROC_SIGNAL_SIGCATCH
|
|
||||||
GLIBTOP_MAX_PROC_SIGNAL
|
|
||||||
glibtop_proc_signal
|
|
||||||
glibtop_get_proc_signal
|
|
||||||
glibtop_get_proc_signal_r
|
|
||||||
glibtop_get_proc_signal_l
|
|
||||||
glibtop_init_proc_signal_p
|
|
||||||
glibtop_get_proc_signal_p
|
|
||||||
glibtop_init_proc_signal_s
|
|
||||||
glibtop_get_proc_signal_s
|
|
||||||
</SECTION>
|
|
||||||
|
|
||||||
<INCLUDE>glibtop/sysdeps.h</INCLUDE>
|
|
||||||
<SECTION>
|
|
||||||
<FILE>sysdeps</FILE>
|
|
||||||
GLIBTOP_SYSDEPS_FEATURES
|
|
||||||
GLIBTOP_SYSDEPS_CPU
|
|
||||||
GLIBTOP_SYSDEPS_MEM
|
|
||||||
GLIBTOP_SYSDEPS_SWAP
|
|
||||||
GLIBTOP_SYSDEPS_UPTIME
|
|
||||||
GLIBTOP_SYSDEPS_LOADAVG
|
|
||||||
GLIBTOP_SYSDEPS_SHM_LIMITS
|
|
||||||
GLIBTOP_SYSDEPS_MSG_LIMITS
|
|
||||||
GLIBTOP_SYSDEPS_SEM_LIMITS
|
|
||||||
GLIBTOP_SYSDEPS_PROCLIST
|
|
||||||
GLIBTOP_SYSDEPS_PROC_STATE
|
|
||||||
GLIBTOP_SYSDEPS_PROC_UID
|
|
||||||
GLIBTOP_SYSDEPS_PROC_MEM
|
|
||||||
GLIBTOP_SYSDEPS_PROC_TIME
|
|
||||||
GLIBTOP_SYSDEPS_PROC_SIGNAL
|
|
||||||
GLIBTOP_SYSDEPS_PROC_KERNEL
|
|
||||||
GLIBTOP_SYSDEPS_PROC_SEGMENT
|
|
||||||
GLIBTOP_SYSDEPS_PROC_ARGS
|
|
||||||
GLIBTOP_SYSDEPS_PROC_MAP
|
|
||||||
GLIBTOP_SYSDEPS_MOUNTLIST
|
|
||||||
GLIBTOP_SYSDEPS_FSUSAGE
|
|
||||||
GLIBTOP_SYSDEPS_NETLOAD
|
|
||||||
GLIBTOP_SYSDEPS_PPP
|
|
||||||
GLIBTOP_SYSDEPS_NETLIST
|
|
||||||
GLIBTOP_SYSDEPS_PROC_OPEN_FILES
|
|
||||||
GLIBTOP_MAX_SYSDEPS
|
|
||||||
GLIBTOP_SYSDEPS_ALL
|
|
||||||
glibtop_sysdeps
|
|
||||||
glibtop_get_sysdeps
|
|
||||||
glibtop_get_sysdeps_r
|
|
||||||
</SECTION>
|
|
||||||
|
|
||||||
<INCLUDE>glibtop/procstate.h</INCLUDE>
|
|
||||||
<SECTION>
|
|
||||||
<FILE>procstate</FILE>
|
|
||||||
GLIBTOP_PROC_STATE_CMD
|
|
||||||
GLIBTOP_PROC_STATE_STATE
|
|
||||||
GLIBTOP_PROC_STATE_UID
|
|
||||||
GLIBTOP_PROC_STATE_GID
|
|
||||||
GLIBTOP_PROC_STATE_RUID
|
|
||||||
GLIBTOP_PROC_STATE_RGID
|
|
||||||
GLIBTOP_PROC_STATE_HAS_CPU
|
|
||||||
GLIBTOP_PROC_STATE_PROCESSOR
|
|
||||||
GLIBTOP_PROC_STATE_LAST_PROCESSOR
|
|
||||||
GLIBTOP_MAX_PROC_STATE
|
|
||||||
GLIBTOP_PROCESS_RUNNING
|
|
||||||
GLIBTOP_PROCESS_INTERRUPTIBLE
|
|
||||||
GLIBTOP_PROCESS_UNINTERRUPTIBLE
|
|
||||||
GLIBTOP_PROCESS_ZOMBIE
|
|
||||||
GLIBTOP_PROCESS_STOPPED
|
|
||||||
GLIBTOP_PROCESS_SWAPPING
|
|
||||||
GLIBTOP_PROCESS_DEAD
|
|
||||||
glibtop_proc_state
|
|
||||||
glibtop_get_proc_state
|
|
||||||
glibtop_get_proc_state_r
|
|
||||||
glibtop_get_proc_state_l
|
|
||||||
glibtop_init_proc_state_p
|
|
||||||
glibtop_get_proc_state_p
|
|
||||||
glibtop_init_proc_state_s
|
|
||||||
glibtop_get_proc_state_s
|
|
||||||
</SECTION>
|
|
||||||
|
|
||||||
<INCLUDE>glibtop/procuid.h</INCLUDE>
|
|
||||||
<SECTION>
|
|
||||||
<FILE>procuid</FILE>
|
|
||||||
GLIBTOP_PROC_UID_UID
|
|
||||||
GLIBTOP_PROC_UID_EUID
|
|
||||||
GLIBTOP_PROC_UID_GID
|
|
||||||
GLIBTOP_PROC_UID_EGID
|
|
||||||
GLIBTOP_PROC_UID_SUID
|
|
||||||
GLIBTOP_PROC_UID_SGID
|
|
||||||
GLIBTOP_PROC_UID_FSUID
|
|
||||||
GLIBTOP_PROC_UID_FSGID
|
|
||||||
GLIBTOP_PROC_UID_PID
|
|
||||||
GLIBTOP_PROC_UID_PPID
|
|
||||||
GLIBTOP_PROC_UID_PGRP
|
|
||||||
GLIBTOP_PROC_UID_SESSION
|
|
||||||
GLIBTOP_PROC_UID_TTY
|
|
||||||
GLIBTOP_PROC_UID_TPGID
|
|
||||||
GLIBTOP_PROC_UID_PRIORITY
|
|
||||||
GLIBTOP_PROC_UID_NICE
|
|
||||||
GLIBTOP_PROC_UID_NGROUPS
|
|
||||||
GLIBTOP_PROC_UID_GROUPS
|
|
||||||
GLIBTOP_MAX_PROC_UID
|
|
||||||
glibtop_proc_uid
|
|
||||||
GLIBTOP_MAX_GROUPS
|
|
||||||
glibtop_get_proc_uid
|
|
||||||
glibtop_get_proc_uid_r
|
|
||||||
glibtop_get_proc_uid_l
|
|
||||||
glibtop_init_proc_uid_p
|
|
||||||
glibtop_get_proc_uid_p
|
|
||||||
glibtop_init_proc_uid_s
|
|
||||||
glibtop_get_proc_uid_s
|
|
||||||
</SECTION>
|
|
||||||
|
|
||||||
<INCLUDE>glibtop/proctime.h</INCLUDE>
|
|
||||||
<SECTION>
|
|
||||||
<FILE>proctime</FILE>
|
|
||||||
GLIBTOP_PROC_TIME_START_TIME
|
|
||||||
GLIBTOP_PROC_TIME_RTIME
|
|
||||||
GLIBTOP_PROC_TIME_UTIME
|
|
||||||
GLIBTOP_PROC_TIME_STIME
|
|
||||||
GLIBTOP_PROC_TIME_CUTIME
|
|
||||||
GLIBTOP_PROC_TIME_CSTIME
|
|
||||||
GLIBTOP_PROC_TIME_TIMEOUT
|
|
||||||
GLIBTOP_PROC_TIME_IT_REAL_VALUE
|
|
||||||
GLIBTOP_PROC_TIME_FREQUENCY
|
|
||||||
GLIBTOP_PROC_TIME_XCPU_UTIME
|
|
||||||
GLIBTOP_PROC_TIME_XCPU_STIME
|
|
||||||
GLIBTOP_MAX_PROC_TIME
|
|
||||||
glibtop_proc_time
|
|
||||||
glibtop_get_proc_time
|
|
||||||
glibtop_get_proc_time_r
|
|
||||||
glibtop_get_proc_time_l
|
|
||||||
glibtop_init_proc_time_p
|
|
||||||
glibtop_get_proc_time_p
|
|
||||||
glibtop_init_proc_time_s
|
|
||||||
glibtop_get_proc_time_s
|
|
||||||
</SECTION>
|
|
||||||
|
|
||||||
<INCLUDE>glibtop/signal.h</INCLUDE>
|
|
||||||
<SECTION>
|
|
||||||
<FILE>signal</FILE>
|
|
||||||
glibtop_signame
|
|
||||||
</SECTION>
|
|
||||||
|
|
||||||
<INCLUDE>glibtop/procmap.h</INCLUDE>
|
|
||||||
<SECTION>
|
|
||||||
<FILE>procmap</FILE>
|
|
||||||
GLIBTOP_PROC_MAP_NUMBER
|
|
||||||
GLIBTOP_PROC_MAP_TOTAL
|
|
||||||
GLIBTOP_PROC_MAP_SIZE
|
|
||||||
GLIBTOP_MAX_PROC_MAP
|
|
||||||
GLIBTOP_MAP_ENTRY_START
|
|
||||||
GLIBTOP_MAP_ENTRY_END
|
|
||||||
GLIBTOP_MAP_ENTRY_OFFSET
|
|
||||||
GLIBTOP_MAP_ENTRY_PERM
|
|
||||||
GLIBTOP_MAP_ENTRY_INODE
|
|
||||||
GLIBTOP_MAP_ENTRY_DEVICE
|
|
||||||
GLIBTOP_MAP_ENTRY_FILENAME
|
|
||||||
GLIBTOP_MAP_ENTRY_SIZE
|
|
||||||
GLIBTOP_MAP_ENTRY_RSS
|
|
||||||
GLIBTOP_MAP_ENTRY_SHARED_CLEAN
|
|
||||||
GLIBTOP_MAP_ENTRY_SHARED_DIRTY
|
|
||||||
GLIBTOP_MAP_ENTRY_PRIVATE_CLEAN
|
|
||||||
GLIBTOP_MAP_ENTRY_PRIVATE_DIRTY
|
|
||||||
GLIBTOP_MAX_MAP_ENTRY
|
|
||||||
GLIBTOP_MAP_FILENAME_LEN
|
|
||||||
GLIBTOP_MAP_PERM_READ
|
|
||||||
GLIBTOP_MAP_PERM_WRITE
|
|
||||||
GLIBTOP_MAP_PERM_EXECUTE
|
|
||||||
GLIBTOP_MAP_PERM_SHARED
|
|
||||||
GLIBTOP_MAP_PERM_PRIVATE
|
|
||||||
glibtop_map_entry
|
|
||||||
glibtop_proc_map
|
|
||||||
glibtop_get_proc_map
|
|
||||||
glibtop_get_proc_map_r
|
|
||||||
glibtop_get_proc_map_l
|
|
||||||
glibtop_init_proc_map_p
|
|
||||||
glibtop_get_proc_map_p
|
|
||||||
glibtop_init_proc_map_s
|
|
||||||
glibtop_get_proc_map_s
|
|
||||||
</SECTION>
|
|
||||||
|
|
||||||
<INCLUDE>glibtop/sysinfo.h</INCLUDE>
|
|
||||||
<SECTION>
|
|
||||||
<FILE>sysinfo</FILE>
|
|
||||||
GLIBTOP_SYSINFO_NCPU
|
|
||||||
GLIBTOP_SYSINFO_CPUINFO
|
|
||||||
GLIBTOP_MAX_SYSINFO
|
|
||||||
glibtop_sysinfo
|
|
||||||
glibtop_entry
|
|
||||||
glibtop_get_sysinfo_r
|
|
||||||
glibtop_get_sysinfo_s
|
|
||||||
glibtop_get_sysinfo
|
|
||||||
</SECTION>
|
|
||||||
|
|
||||||
<INCLUDE>glibtop/union.h</INCLUDE>
|
|
||||||
<SECTION>
|
|
||||||
<FILE>union</FILE>
|
|
||||||
glibtop_union
|
|
||||||
</SECTION>
|
|
||||||
|
|
||||||
<INCLUDE>glibtop/version.h</INCLUDE>
|
|
||||||
<SECTION>
|
|
||||||
<FILE>version</FILE>
|
|
||||||
LIBGTOP_VERSION_STRING
|
|
||||||
glibtop_send_version
|
|
||||||
</SECTION>
|
|
||||||
|
|
||||||
<INCLUDE>glibtop/proclist.h</INCLUDE>
|
|
||||||
<SECTION>
|
|
||||||
<FILE>proclist</FILE>
|
|
||||||
GLIBTOP_PROCLIST_NUMBER
|
|
||||||
GLIBTOP_PROCLIST_TOTAL
|
|
||||||
GLIBTOP_PROCLIST_SIZE
|
|
||||||
GLIBTOP_MAX_PROCLIST
|
|
||||||
GLIBTOP_KERN_PROC_ALL
|
|
||||||
GLIBTOP_KERN_PROC_PID
|
|
||||||
GLIBTOP_KERN_PROC_PGRP
|
|
||||||
GLIBTOP_KERN_PROC_SESSION
|
|
||||||
GLIBTOP_KERN_PROC_TTY
|
|
||||||
GLIBTOP_KERN_PROC_UID
|
|
||||||
GLIBTOP_KERN_PROC_RUID
|
|
||||||
GLIBTOP_KERN_PROC_MASK
|
|
||||||
GLIBTOP_EXCLUDE_IDLE
|
|
||||||
GLIBTOP_EXCLUDE_SYSTEM
|
|
||||||
GLIBTOP_EXCLUDE_NOTTY
|
|
||||||
glibtop_proclist
|
|
||||||
glibtop_get_proclist
|
|
||||||
glibtop_get_proclist_r
|
|
||||||
glibtop_get_proclist_l
|
|
||||||
glibtop_init_proclist_p
|
|
||||||
glibtop_get_proclist_p
|
|
||||||
glibtop_init_proclist_s
|
|
||||||
glibtop_get_proclist_s
|
|
||||||
</SECTION>
|
|
||||||
|
|
||||||
<INCLUDE>glibtop/sem_limits.h</INCLUDE>
|
|
||||||
<SECTION>
|
|
||||||
<FILE>sem_limits</FILE>
|
|
||||||
GLIBTOP_IPC_SEMMAP
|
|
||||||
GLIBTOP_IPC_SEMMNI
|
|
||||||
GLIBTOP_IPC_SEMMNS
|
|
||||||
GLIBTOP_IPC_SEMMNU
|
|
||||||
GLIBTOP_IPC_SEMMSL
|
|
||||||
GLIBTOP_IPC_SEMOPM
|
|
||||||
GLIBTOP_IPC_SEMUME
|
|
||||||
GLIBTOP_IPC_SEMUSZ
|
|
||||||
GLIBTOP_IPC_SEMVMX
|
|
||||||
GLIBTOP_IPC_SEMAEM
|
|
||||||
GLIBTOP_MAX_SEM_LIMITS
|
|
||||||
glibtop_sem_limits
|
|
||||||
glibtop_get_sem_limits
|
|
||||||
glibtop_get_sem_limits_r
|
|
||||||
glibtop_get_sem_limits_l
|
|
||||||
glibtop_init_sem_limits_p
|
|
||||||
glibtop_get_sem_limits_p
|
|
||||||
glibtop_init_sem_limits_s
|
|
||||||
glibtop_get_sem_limits_s
|
|
||||||
</SECTION>
|
|
||||||
|
|
||||||
<INCLUDE>glibtop/prockernel.h</INCLUDE>
|
|
||||||
<SECTION>
|
|
||||||
<FILE>prockernel</FILE>
|
|
||||||
GLIBTOP_PROC_KERNEL_K_FLAGS
|
|
||||||
GLIBTOP_PROC_KERNEL_MIN_FLT
|
|
||||||
GLIBTOP_PROC_KERNEL_MAJ_FLT
|
|
||||||
GLIBTOP_PROC_KERNEL_CMIN_FLT
|
|
||||||
GLIBTOP_PROC_KERNEL_CMAJ_FLT
|
|
||||||
GLIBTOP_PROC_KERNEL_KSTK_ESP
|
|
||||||
GLIBTOP_PROC_KERNEL_KSTK_EIP
|
|
||||||
GLIBTOP_PROC_KERNEL_NWCHAN
|
|
||||||
GLIBTOP_PROC_KERNEL_WCHAN
|
|
||||||
GLIBTOP_MAX_PROC_KERNEL
|
|
||||||
glibtop_proc_kernel
|
|
||||||
glibtop_get_proc_kernel
|
|
||||||
glibtop_get_proc_kernel_r
|
|
||||||
glibtop_get_proc_kernel_l
|
|
||||||
glibtop_init_proc_kernel_p
|
|
||||||
glibtop_get_proc_kernel_p
|
|
||||||
glibtop_init_proc_kernel_s
|
|
||||||
glibtop_get_proc_kernel_s
|
|
||||||
</SECTION>
|
|
||||||
|
|
||||||
<INCLUDE>glibtop/fsusage.h</INCLUDE>
|
|
||||||
<SECTION>
|
|
||||||
<FILE>fsusage</FILE>
|
|
||||||
GLIBTOP_FSUSAGE_BLOCKS
|
|
||||||
GLIBTOP_FSUSAGE_BFREE
|
|
||||||
GLIBTOP_FSUSAGE_BAVAIL
|
|
||||||
GLIBTOP_FSUSAGE_FILES
|
|
||||||
GLIBTOP_FSUSAGE_FFREE
|
|
||||||
GLIBTOP_FSUSAGE_BLOCK_SIZE
|
|
||||||
GLIBTOP_FSUSAGE_READ
|
|
||||||
GLIBTOP_FSUSAGE_WRITE
|
|
||||||
GLIBTOP_MAX_FSUSAGE
|
|
||||||
glibtop_fsusage
|
|
||||||
glibtop_get_fsusage
|
|
||||||
glibtop_get_fsusage_r
|
|
||||||
glibtop_get_fsusage_l
|
|
||||||
glibtop_get_fsusage_s
|
|
||||||
</SECTION>
|
|
||||||
|
|
||||||
<INCLUDE>glibtop/loadavg.h</INCLUDE>
|
|
||||||
<SECTION>
|
|
||||||
<FILE>loadavg</FILE>
|
|
||||||
GLIBTOP_LOADAVG_LOADAVG
|
|
||||||
GLIBTOP_LOADAVG_NR_RUNNING
|
|
||||||
GLIBTOP_LOADAVG_NR_TASKS
|
|
||||||
GLIBTOP_LOADAVG_LAST_PID
|
|
||||||
GLIBTOP_MAX_LOADAVG
|
|
||||||
glibtop_loadavg
|
|
||||||
glibtop_get_loadavg
|
|
||||||
glibtop_get_loadavg_r
|
|
||||||
glibtop_get_loadavg_l
|
|
||||||
glibtop_init_loadavg_p
|
|
||||||
glibtop_get_loadavg_p
|
|
||||||
glibtop_init_loadavg_s
|
|
||||||
glibtop_get_loadavg_s
|
|
||||||
</SECTION>
|
|
||||||
|
|
||||||
<INCLUDE>glibtop/mem.h</INCLUDE>
|
|
||||||
<SECTION>
|
|
||||||
<FILE>mem</FILE>
|
|
||||||
GLIBTOP_MEM_TOTAL
|
|
||||||
GLIBTOP_MEM_USED
|
|
||||||
GLIBTOP_MEM_FREE
|
|
||||||
GLIBTOP_MEM_SHARED
|
|
||||||
GLIBTOP_MEM_BUFFER
|
|
||||||
GLIBTOP_MEM_CACHED
|
|
||||||
GLIBTOP_MEM_USER
|
|
||||||
GLIBTOP_MEM_LOCKED
|
|
||||||
GLIBTOP_MAX_MEM
|
|
||||||
glibtop_mem
|
|
||||||
glibtop_get_mem
|
|
||||||
glibtop_get_mem_r
|
|
||||||
glibtop_get_mem_l
|
|
||||||
glibtop_init_mem_p
|
|
||||||
glibtop_get_mem_p
|
|
||||||
glibtop_init_mem_s
|
|
||||||
glibtop_get_mem_s
|
|
||||||
</SECTION>
|
|
||||||
|
|
||||||
<INCLUDE>glibtop/mountlist.h</INCLUDE>
|
|
||||||
<SECTION>
|
|
||||||
<FILE>mountlist</FILE>
|
|
||||||
GLIBTOP_MOUNTLIST_NUMBER
|
|
||||||
GLIBTOP_MOUNTLIST_TOTAL
|
|
||||||
GLIBTOP_MOUNTLIST_SIZE
|
|
||||||
GLIBTOP_MAX_MOUNTLIST
|
|
||||||
glibtop_mountentry
|
|
||||||
glibtop_mountlist
|
|
||||||
glibtop_get_mountlist
|
|
||||||
glibtop_get_mountlist_r
|
|
||||||
glibtop_get_mountlist_l
|
|
||||||
glibtop_get_mountlist_s
|
|
||||||
</SECTION>
|
|
||||||
|
|
||||||
<INCLUDE>glibtop/msg_limits.h</INCLUDE>
|
|
||||||
<SECTION>
|
|
||||||
<FILE>msg_limits</FILE>
|
|
||||||
GLIBTOP_IPC_MSGPOOL
|
|
||||||
GLIBTOP_IPC_MSGMAP
|
|
||||||
GLIBTOP_IPC_MSGMAX
|
|
||||||
GLIBTOP_IPC_MSGMNB
|
|
||||||
GLIBTOP_IPC_MSGMNI
|
|
||||||
GLIBTOP_IPC_MSGSSZ
|
|
||||||
GLIBTOP_IPC_MSGTQL
|
|
||||||
GLIBTOP_MAX_MSG_LIMITS
|
|
||||||
glibtop_msg_limits
|
|
||||||
glibtop_get_msg_limits
|
|
||||||
glibtop_get_msg_limits_r
|
|
||||||
glibtop_get_msg_limits_l
|
|
||||||
glibtop_init_msg_limits_p
|
|
||||||
glibtop_get_msg_limits_p
|
|
||||||
glibtop_init_msg_limits_s
|
|
||||||
glibtop_get_msg_limits_s
|
|
||||||
</SECTION>
|
|
||||||
|
|
||||||
<INCLUDE>glibtop/cpu.h</INCLUDE>
|
|
||||||
<SECTION>
|
|
||||||
<FILE>cpu</FILE>
|
|
||||||
GLIBTOP_CPU_TOTAL
|
|
||||||
GLIBTOP_CPU_USER
|
|
||||||
GLIBTOP_CPU_NICE
|
|
||||||
GLIBTOP_CPU_SYS
|
|
||||||
GLIBTOP_CPU_IDLE
|
|
||||||
GLIBTOP_CPU_FREQUENCY
|
|
||||||
GLIBTOP_XCPU_TOTAL
|
|
||||||
GLIBTOP_XCPU_USER
|
|
||||||
GLIBTOP_XCPU_NICE
|
|
||||||
GLIBTOP_XCPU_SYS
|
|
||||||
GLIBTOP_XCPU_IDLE
|
|
||||||
GLIBTOP_XCPU_FLAGS
|
|
||||||
GLIBTOP_CPU_IOWAIT
|
|
||||||
GLIBTOP_CPU_IRQ
|
|
||||||
GLIBTOP_CPU_SOFTIRQ
|
|
||||||
GLIBTOP_XCPU_IOWAIT
|
|
||||||
GLIBTOP_XCPU_IRQ
|
|
||||||
GLIBTOP_XCPU_SOFTIRQ
|
|
||||||
GLIBTOP_MAX_CPU
|
|
||||||
GLIBTOP_NCPU
|
|
||||||
glibtop_cpu
|
|
||||||
glibtop_get_cpu
|
|
||||||
glibtop_get_cpu_r
|
|
||||||
glibtop_get_cpu_l
|
|
||||||
glibtop_init_cpu_p
|
|
||||||
glibtop_get_cpu_p
|
|
||||||
glibtop_init_cpu_s
|
|
||||||
glibtop_get_cpu_s
|
|
||||||
</SECTION>
|
|
||||||
|
|
||||||
<INCLUDE>glibtop/swap.h</INCLUDE>
|
|
||||||
<SECTION>
|
|
||||||
<FILE>swap</FILE>
|
|
||||||
GLIBTOP_SWAP_TOTAL
|
|
||||||
GLIBTOP_SWAP_USED
|
|
||||||
GLIBTOP_SWAP_FREE
|
|
||||||
GLIBTOP_SWAP_PAGEIN
|
|
||||||
GLIBTOP_SWAP_PAGEOUT
|
|
||||||
GLIBTOP_MAX_SWAP
|
|
||||||
glibtop_swap
|
|
||||||
glibtop_get_swap
|
|
||||||
glibtop_get_swap_r
|
|
||||||
glibtop_get_swap_l
|
|
||||||
glibtop_init_swap_p
|
|
||||||
glibtop_get_swap_p
|
|
||||||
glibtop_init_swap_s
|
|
||||||
glibtop_get_swap_s
|
|
||||||
</SECTION>
|
|
||||||
|
|
@@ -1,4 +0,0 @@
|
|||||||
<?xml version="1.0" standalone="no"?>
|
|
||||||
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
|
|
||||||
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
|
|
||||||
<phrase>@PACKAGE_VERSION@</phrase>
|
|
16
examples/.cvsignore
Normal file
16
examples/.cvsignore
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
.deps
|
||||||
|
.libs
|
||||||
|
Makefile
|
||||||
|
Makefile.in
|
||||||
|
first
|
||||||
|
first_linux
|
||||||
|
first_static
|
||||||
|
second
|
||||||
|
third
|
||||||
|
third_linux
|
||||||
|
third_static
|
||||||
|
second_static
|
||||||
|
second_linux
|
||||||
|
smp_static sysdeps_static netload_static procmap_static mountlist_static
|
||||||
|
smp sysdeps netload procmap mountlist
|
||||||
|
timings timings_static
|
@@ -1,152 +1,3 @@
|
|||||||
2007-05-19 Benoît Dejean <benoit@placenet.org>
|
|
||||||
|
|
||||||
* Makefile.am:
|
|
||||||
* mem.c: (main):
|
|
||||||
* wd.c: (main):
|
|
||||||
|
|
||||||
Fixed wd and new simple mem example.
|
|
||||||
|
|
||||||
2006-02-27 Benoît Dejean <benoit@placenet.org>
|
|
||||||
|
|
||||||
* pprint.c: (pprint_get_proc_mem), (main):
|
|
||||||
|
|
||||||
Added proc_mem example.
|
|
||||||
|
|
||||||
2005-12-15 Benoît Dejean <benoit@placenet.org>
|
|
||||||
|
|
||||||
* proclist.c: (print_pids), (main):
|
|
||||||
|
|
||||||
Improved example.
|
|
||||||
|
|
||||||
2005-12-12 Benoît Dejean <benoit@placenet.org>
|
|
||||||
|
|
||||||
* .cvsignore:
|
|
||||||
* Makefile.am:
|
|
||||||
* proclist.c: (main):
|
|
||||||
* procmap.c: (main):
|
|
||||||
|
|
||||||
Added quick example for glibtop_get_proclist()
|
|
||||||
and updated procmap example to display smap.
|
|
||||||
|
|
||||||
2005-08-02 Benoît Dejean <TazForEver@dlfp.org>
|
|
||||||
|
|
||||||
* pprint.c: (pprint_get_cpu), (pprint_get_loadavg),
|
|
||||||
(pprint_get_mem), (pprint_get_msg_limits), (pprint_get_netlist),
|
|
||||||
(pprint_get_swap), (pprint_get_uptime), (pprint_get_proc_kernel),
|
|
||||||
(main):
|
|
||||||
|
|
||||||
Added pprint_get_proc_kernel(pid).
|
|
||||||
Fixed prototypes.
|
|
||||||
|
|
||||||
2005-01-22 Benoît Dejean <TazForEver@dlfp.org>
|
|
||||||
|
|
||||||
* openfiles.c: (show_open_files): Updated.
|
|
||||||
|
|
||||||
2004-12-23 Benoît Dejean <tazforever@dlfp.org>
|
|
||||||
|
|
||||||
* netload.c: (main):
|
|
||||||
* procmap.c: (main): s/glibtop_error/g_error/g
|
|
||||||
|
|
||||||
2004-11-15 Benoît Dejean <tazforever@dlfp.org>
|
|
||||||
|
|
||||||
* netload.c: (hwaddress_format_for_display), (main): Updated.
|
|
||||||
|
|
||||||
2004-11-13 Benoît Dejean <tazforever@dlfp.org>
|
|
||||||
|
|
||||||
* pprint.c: (pprint_get_fsusage), (pprint_get_mountlist),
|
|
||||||
(pprint_get_netload), (pprint_get_netlist), (main): Updated.
|
|
||||||
|
|
||||||
2004-09-25 Benoît Dejean <tazforever@dlfp.org>
|
|
||||||
|
|
||||||
* pprint.c: (main): Re-added pprint_get_msg_limits()
|
|
||||||
|
|
||||||
i2004-09-25 Benoît Dejean <tazforever@dlfp.org>
|
|
||||||
|
|
||||||
* df.c: (main):
|
|
||||||
* pprint.c: (main):
|
|
||||||
* procargs.c: (main): Added missing call to glibgtop_init() / glibtop_close()
|
|
||||||
|
|
||||||
2004-09-24 Benoît Dejean <tazforever@dlfp.org>
|
|
||||||
|
|
||||||
* .cvsignore:
|
|
||||||
* Makefile.am:
|
|
||||||
* ../configure.in
|
|
||||||
* df.c: (print_fsusage), (main): Added new example, just like 'df'.
|
|
||||||
|
|
||||||
2004-09-22 Benoît Dejean <tazforever@dlfp.org>
|
|
||||||
|
|
||||||
* pprint.c: (main): Disable pprint_get_msg_limits() because it can fail.
|
|
||||||
|
|
||||||
2004-09-21 Benoît Dejean <tazforever@dlfp.org>
|
|
||||||
|
|
||||||
* pprint.c: (pprint_get_swap), (main): Updated.
|
|
||||||
|
|
||||||
2004-09-21 Benoît Dejean <tazforever@dlfp.org>
|
|
||||||
|
|
||||||
* procargs.c: (show_args), (main): Updated.
|
|
||||||
|
|
||||||
2004-09-21 Benoît Dejean <tazforever@dlfp.org>
|
|
||||||
|
|
||||||
* pprint.c: (pprint_get_mountlist), (pprint_get_netload),
|
|
||||||
(pprint_get_uptime), (main): Updated.
|
|
||||||
|
|
||||||
2004-09-21 Benoît Dejean <tazforever@dlfp.org>
|
|
||||||
|
|
||||||
* pprint.c: (pprint_get_mountlist): Updated.
|
|
||||||
|
|
||||||
2004-09-21 Benoît Dejean <tazforever@dlfp.org>
|
|
||||||
|
|
||||||
* procargs.c: (show_args), (main): Updated.
|
|
||||||
|
|
||||||
2004-09-20 Benoît Dejean <tazforever@dlfp.org>
|
|
||||||
|
|
||||||
* .cvsignore:
|
|
||||||
* Makefile.am:
|
|
||||||
* pprint.c: (pprint_get_cpu), (pprint_get_fsusage),
|
|
||||||
(pprint_get_loadavg), (pprint_get_mem), (pprint_get_mountlist),
|
|
||||||
(pprint_get_msg_limits), (main): Added new example : pretty prints
|
|
||||||
the result of glibtop_*. Work in progress.
|
|
||||||
|
|
||||||
Now builds procargs.
|
|
||||||
|
|
||||||
* ../configure.in: Added to static list.
|
|
||||||
|
|
||||||
2004-07-07 Benoît Dejean <tazforever@dlfp.org>
|
|
||||||
|
|
||||||
* procargs.c: Added glibtop_get_proc_argv demo.
|
|
||||||
|
|
||||||
2003-12-27 Ole Laursen <olau@hardworking.dk>
|
|
||||||
|
|
||||||
* mountlist.c: Updated to display block size too.
|
|
||||||
|
|
||||||
2004-03-04 Bastien Nocera <hadess@hadess.net>
|
|
||||||
|
|
||||||
* smp.c: use libgtop-i18n.h
|
|
||||||
|
|
||||||
2003-10-21 Bastien Nocera <hadess@hadess.net>
|
|
||||||
|
|
||||||
* Makefile.am:
|
|
||||||
* smp.c:
|
|
||||||
* sysdeps.c: (main): install only one library, libgtop-2.0
|
|
||||||
Fix build-time warnings due to the redefinition of guint64
|
|
||||||
Fix building smp.c and sysdeps.c
|
|
||||||
|
|
||||||
2003-10-20 Bastien Nocera <hadess@hadess.net>
|
|
||||||
|
|
||||||
* first.c:
|
|
||||||
* mountlist.c:
|
|
||||||
* netload.c:
|
|
||||||
* procmap.c:
|
|
||||||
* second.c:
|
|
||||||
* smp.c:
|
|
||||||
* sysdeps.c:
|
|
||||||
* third.c:
|
|
||||||
* timings.c: fixed compilation
|
|
||||||
|
|
||||||
2003-10-20 Bastien Nocera <hadess@hadess.net>
|
|
||||||
|
|
||||||
* Makefile.am: removed traces of guile, intllibs and libgnomesupport
|
|
||||||
|
|
||||||
2001-01-14 Abel Cheung <maddog@linux.org.hk>
|
2001-01-14 Abel Cheung <maddog@linux.org.hk>
|
||||||
|
|
||||||
* \*.c: bindtextdomain and textdomain uses GETTEXT_PACKAGE.
|
* \*.c: bindtextdomain and textdomain uses GETTEXT_PACKAGE.
|
||||||
|
@@ -6,57 +6,116 @@ INCLUDES = @INCLUDES@
|
|||||||
|
|
||||||
DEFS = @DEFS@
|
DEFS = @DEFS@
|
||||||
|
|
||||||
noinst_PROGRAMS = first second pprint procargs df netlist \
|
# We install it in `libexec' since this will make it more easy
|
||||||
|
# to put the examples into an extra RPM package.
|
||||||
|
|
||||||
|
libgtopdir = $(libexecdir)/libgtop
|
||||||
|
|
||||||
|
libgtop_PROGRAMS = first second\
|
||||||
mountlist procmap netload sysdeps timings \
|
mountlist procmap netload sysdeps timings \
|
||||||
openfiles smp proclist mem wd affinity
|
@static_targets@ @guile_examples@ @smp_examples@
|
||||||
|
|
||||||
|
EXTRA_PROGRAMS = first_static second_static \
|
||||||
|
mountlist_static procmap_static \
|
||||||
|
third third_static smp smp_static \
|
||||||
|
netload_static sysdeps_static \
|
||||||
|
timings_static
|
||||||
|
|
||||||
first_SOURCES = first.c
|
first_SOURCES = first.c
|
||||||
first_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
first_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
|
||||||
|
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
|
||||||
|
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
|
||||||
|
@LIBSUPPORT@ @INTLLIBS@
|
||||||
|
|
||||||
|
first_static_SOURCES = $(first_SOURCES)
|
||||||
|
first_static_LDADD = $(first_LDADD)
|
||||||
|
first_static_LDFLAGS = -static
|
||||||
|
|
||||||
second_SOURCES = second.c
|
second_SOURCES = second.c
|
||||||
second_LDADD = $(top_builddir)/lib/libgtop-2.0.la -lm
|
second_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
|
||||||
|
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
|
||||||
|
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
|
||||||
|
@LIBSUPPORT@ @INTLLIBS@
|
||||||
|
|
||||||
|
second_static_SOURCES = $(second_SOURCES)
|
||||||
|
second_static_LDADD = $(second_LDADD)
|
||||||
|
second_static_LDFLAGS = -static
|
||||||
|
|
||||||
procmap_SOURCES = procmap.c
|
procmap_SOURCES = procmap.c
|
||||||
procmap_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
procmap_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
|
||||||
|
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
|
||||||
|
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
|
||||||
|
@LIBSUPPORT@ @INTLLIBS@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
procmap_static_SOURCES = $(procmap_SOURCES)
|
||||||
|
procmap_static_LDADD = $(procmap_LDADD)
|
||||||
|
procmap_static_LDFLAGS = -static
|
||||||
|
|
||||||
netload_SOURCES = netload.c
|
netload_SOURCES = netload.c
|
||||||
netload_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
netload_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
|
||||||
|
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
|
||||||
|
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
|
||||||
|
@LIBSUPPORT@ @INTLLIBS@
|
||||||
|
|
||||||
|
netload_static_SOURCES = $(netload_SOURCES)
|
||||||
|
netload_static_LDADD = $(netload_LDADD)
|
||||||
|
netload_static_LDFLAGS = -static
|
||||||
|
|
||||||
sysdeps_SOURCES = sysdeps.c
|
sysdeps_SOURCES = sysdeps.c
|
||||||
sysdeps_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
sysdeps_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
|
||||||
|
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
|
||||||
|
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
|
||||||
|
@LIBSUPPORT@ @INTLLIBS@
|
||||||
|
|
||||||
|
sysdeps_static_SOURCES = $(sysdeps_SOURCES)
|
||||||
|
sysdeps_static_LDADD = $(sysdeps_LDADD)
|
||||||
|
sysdeps_static_LDFLAGS = -static
|
||||||
|
|
||||||
|
third_guile_names_LIBS = $(top_builddir)/sysdeps/guile/names/libgtop_guile_names-2.0.la
|
||||||
|
third_names_LIBS = $(top_builddir)/sysdeps/names/libgtop_names-2.0.la
|
||||||
|
|
||||||
|
third_SOURCES = third.c
|
||||||
|
third_LDADD = $(top_builddir)/sysdeps/guile/libgtop_guile-2.0.la \
|
||||||
|
$(third_guile_names_LIBS) $(third_names_LIBS) \
|
||||||
|
$(top_builddir)/lib/libgtop-2.0.la \
|
||||||
|
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
|
||||||
|
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
|
||||||
|
@GUILE_LIBS@ @LIBSUPPORT@ @INTLLIBS@
|
||||||
|
|
||||||
|
third_static_SOURCES = $(third_SOURCES)
|
||||||
|
third_static_LDADD = $(third_LDADD)
|
||||||
|
third_static_LDFLAGS = -static
|
||||||
|
|
||||||
mountlist_SOURCES = mountlist.c
|
mountlist_SOURCES = mountlist.c
|
||||||
mountlist_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
mountlist_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
|
||||||
|
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
|
||||||
|
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
|
||||||
|
@LIBSUPPORT@ @INTLLIBS@
|
||||||
|
|
||||||
|
mountlist_static_SOURCES= $(mountlist_SOURCES)
|
||||||
|
mountlist_static_LDADD = $(mountlist_LDADD)
|
||||||
|
mountlist_static_LDFLAGS= -static
|
||||||
|
|
||||||
|
|
||||||
smp_SOURCES = smp.c
|
smp_SOURCES = smp.c
|
||||||
smp_LDADD = $(top_builddir)/lib/libgtop-2.0.la -lm
|
smp_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
|
||||||
|
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
|
||||||
|
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
|
||||||
|
@LIBSUPPORT@ @INTLLIBS@
|
||||||
|
|
||||||
|
smp_static_SOURCES = $(smp_SOURCES)
|
||||||
|
smp_static_LDADD = $(smp_LDADD)
|
||||||
|
smp_static_LDFLAGS = -static
|
||||||
|
|
||||||
timings_SOURCES = timings.c
|
timings_SOURCES = timings.c
|
||||||
timings_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
timings_LDADD = $(top_builddir)/lib/libgtop-2.0.la \
|
||||||
|
$(top_builddir)/sysdeps/common/libgtop_common-2.0.la \
|
||||||
|
$(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la \
|
||||||
|
@LIBSUPPORT@ @INTLLIBS@
|
||||||
|
|
||||||
pprint_SOURCES = pprint.c
|
timings_static_SOURCES = $(timings_SOURCES)
|
||||||
pprint_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
timings_static_LDADD = $(timings_LDADD)
|
||||||
|
timings_static_LDFLAGS = -static
|
||||||
|
|
||||||
procargs_SOURCES = procargs.c
|
|
||||||
procargs_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
|
||||||
|
|
||||||
df_SOURCES = df.c
|
|
||||||
df_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
|
||||||
|
|
||||||
netlist_SOURCES = netlist.c
|
|
||||||
netlist_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
|
||||||
|
|
||||||
openfiles_SOURCES = openfiles.c
|
|
||||||
openfiles_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
|
||||||
|
|
||||||
proclist_SOURCES = proclist.c
|
|
||||||
proclist_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
|
||||||
|
|
||||||
wd_SOURCES = wd.c
|
|
||||||
wd_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
|
||||||
|
|
||||||
mem_SOURCE = mem.c
|
|
||||||
mem_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
|
||||||
|
|
||||||
affinity_SOURCES = affinity.c
|
|
||||||
affinity_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
|
||||||
|
@@ -1,34 +0,0 @@
|
|||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/procaffinity.h>
|
|
||||||
|
|
||||||
#include <glib.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
|
||||||
{
|
|
||||||
pid_t pid;
|
|
||||||
glibtop_proc_affinity buf;
|
|
||||||
guint16 *cpus;
|
|
||||||
size_t i;
|
|
||||||
|
|
||||||
if (argc < 2 || !(pid = strtoul(argv[1], NULL, 0)))
|
|
||||||
pid = getpid();
|
|
||||||
|
|
||||||
glibtop_init();
|
|
||||||
|
|
||||||
cpus = glibtop_get_proc_affinity(&buf, pid);
|
|
||||||
|
|
||||||
g_print("Process %u:\n"
|
|
||||||
" - all: %d\n",
|
|
||||||
(unsigned)pid, buf.all);
|
|
||||||
|
|
||||||
for (i = 0; i != buf.number; ++i)
|
|
||||||
g_print(" - CPU#%u is set\n", cpus[i]);
|
|
||||||
|
|
||||||
g_free(cpus);
|
|
||||||
|
|
||||||
glibtop_close();
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
@@ -1,59 +0,0 @@
|
|||||||
#ifdef HAVE_CONFIG_H
|
|
||||||
# include <config.h>
|
|
||||||
#endif
|
|
||||||
#include <glibtop.h>
|
|
||||||
|
|
||||||
#include <glibtop/fsusage.h>
|
|
||||||
#include <glibtop/mountlist.h>
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
|
|
||||||
static void print_fsusage(const char *mountpoint)
|
|
||||||
{
|
|
||||||
glibtop_fsusage buf;
|
|
||||||
|
|
||||||
glibtop_get_fsusage(&buf, mountpoint);
|
|
||||||
|
|
||||||
printf("%-30s %10llu %10llu %10llu %5.1f %10llu %10llu\n",
|
|
||||||
mountpoint,
|
|
||||||
buf.blocks * buf.block_size >> 20,
|
|
||||||
(buf.blocks - buf.bavail) * buf.block_size >> 20,
|
|
||||||
buf.bavail * buf.block_size >> 20,
|
|
||||||
(buf.blocks - buf.bavail) * 100.0 / (buf.blocks ? buf.blocks : 1.0),
|
|
||||||
buf.read,
|
|
||||||
buf.write
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
|
||||||
{
|
|
||||||
glibtop_mountlist buf;
|
|
||||||
|
|
||||||
glibtop_init();
|
|
||||||
|
|
||||||
printf("%-30s %10s %10s %10s %5s %10s %10s\n",
|
|
||||||
"Filesystem", "Size", "Used", "Avail", "Use%", "Read", "Write");
|
|
||||||
|
|
||||||
if (argc > 1) {
|
|
||||||
while (*++argv)
|
|
||||||
print_fsusage(*argv);
|
|
||||||
} else {
|
|
||||||
glibtop_mountentry *entries;
|
|
||||||
size_t i;
|
|
||||||
|
|
||||||
entries = glibtop_get_mountlist(&buf, TRUE);
|
|
||||||
|
|
||||||
for(i = 0; i < buf.number; ++i)
|
|
||||||
{
|
|
||||||
print_fsusage(entries[i].mountdir);
|
|
||||||
}
|
|
||||||
|
|
||||||
g_free(entries);
|
|
||||||
}
|
|
||||||
|
|
||||||
glibtop_close();
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
@@ -1,3 +1,5 @@
|
|||||||
|
/* $Id$ */
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
/* Copyright (C) 1998-99 Martin Baulig
|
||||||
This file is part of LibGTop 1.0.
|
This file is part of LibGTop 1.0.
|
||||||
|
|
||||||
@@ -19,17 +21,12 @@
|
|||||||
Boston, MA 02111-1307, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
|
||||||
# include <config.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <locale.h>
|
#include <locale.h>
|
||||||
#include <libintl.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
#include <glibtop.h>
|
||||||
#include <glibtop/open.h>
|
#include <glibtop/open.h>
|
||||||
#include <glibtop/close.h>
|
#include <glibtop/close.h>
|
||||||
|
#include <glibtop/xmalloc.h>
|
||||||
|
|
||||||
#include <glibtop/parameter.h>
|
#include <glibtop/parameter.h>
|
||||||
|
|
||||||
@@ -47,9 +44,9 @@ main (int argc, char *argv [])
|
|||||||
{
|
{
|
||||||
glibtop_union data;
|
glibtop_union data;
|
||||||
glibtop_sysdeps sysdeps;
|
glibtop_sysdeps sysdeps;
|
||||||
unsigned c, method, count, port, i;
|
unsigned c, method, count, port, i, *ptr;
|
||||||
char buffer [BUFSIZ];
|
char buffer [BUFSIZ];
|
||||||
pid_t pid, ppid, *ptr;
|
pid_t pid, ppid;
|
||||||
char *args;
|
char *args;
|
||||||
|
|
||||||
count = PROFILE_COUNT;
|
count = PROFILE_COUNT;
|
||||||
@@ -235,7 +232,7 @@ main (int argc, char *argv [])
|
|||||||
printf ("\n");
|
printf ("\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
g_free (ptr);
|
glibtop_free (ptr);
|
||||||
|
|
||||||
pid = getpid ();
|
pid = getpid ();
|
||||||
ppid = getppid ();
|
ppid = getppid ();
|
||||||
@@ -349,7 +346,7 @@ main (int argc, char *argv [])
|
|||||||
(unsigned long) data.proc_args.size,
|
(unsigned long) data.proc_args.size,
|
||||||
args ? args : "");
|
args ? args : "");
|
||||||
|
|
||||||
g_free (args);
|
glibtop_free (args);
|
||||||
|
|
||||||
printf ("\n");
|
printf ("\n");
|
||||||
|
|
||||||
@@ -459,7 +456,7 @@ main (int argc, char *argv [])
|
|||||||
(unsigned long) data.proc_args.size,
|
(unsigned long) data.proc_args.size,
|
||||||
args ? args : "");
|
args ? args : "");
|
||||||
|
|
||||||
g_free (args);
|
glibtop_free (args);
|
||||||
|
|
||||||
printf ("\n");
|
printf ("\n");
|
||||||
|
|
||||||
@@ -570,7 +567,7 @@ main (int argc, char *argv [])
|
|||||||
(unsigned long) data.proc_args.size,
|
(unsigned long) data.proc_args.size,
|
||||||
args ? args : "");
|
args ? args : "");
|
||||||
|
|
||||||
g_free (args);
|
glibtop_free (args);
|
||||||
|
|
||||||
glibtop_close ();
|
glibtop_close ();
|
||||||
|
|
||||||
|
@@ -1,21 +0,0 @@
|
|||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/mem.h>
|
|
||||||
|
|
||||||
#include <glib.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
|
||||||
{
|
|
||||||
glibtop_mem buf;
|
|
||||||
|
|
||||||
glibtop_init();
|
|
||||||
|
|
||||||
g_print("%lx\n", glibtop_global_server->features);
|
|
||||||
|
|
||||||
glibtop_get_mem(&buf);
|
|
||||||
|
|
||||||
glibtop_close();
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
@@ -1,3 +1,5 @@
|
|||||||
|
/* $Id$ */
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
/* Copyright (C) 1998-99 Martin Baulig
|
||||||
This file is part of LibGTop 1.0.
|
This file is part of LibGTop 1.0.
|
||||||
|
|
||||||
@@ -19,17 +21,12 @@
|
|||||||
Boston, MA 02111-1307, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
|
||||||
# include <config.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <locale.h>
|
#include <locale.h>
|
||||||
#include <libintl.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
#include <glibtop.h>
|
||||||
#include <glibtop/open.h>
|
#include <glibtop/open.h>
|
||||||
#include <glibtop/close.h>
|
#include <glibtop/close.h>
|
||||||
|
#include <glibtop/xmalloc.h>
|
||||||
|
|
||||||
#include <glibtop/parameter.h>
|
#include <glibtop/parameter.h>
|
||||||
|
|
||||||
@@ -76,7 +73,7 @@ main (int argc, char *argv [])
|
|||||||
for (c = 0; c < PROFILE_COUNT; c++) {
|
for (c = 0; c < PROFILE_COUNT; c++) {
|
||||||
mount_entries = glibtop_get_mountlist (&mount_list, 1);
|
mount_entries = glibtop_get_mountlist (&mount_list, 1);
|
||||||
|
|
||||||
g_free (mount_entries);
|
glibtop_free (mount_entries);
|
||||||
}
|
}
|
||||||
|
|
||||||
printf ("sbrk (0) = %p\n\n", sbrk (0));
|
printf ("sbrk (0) = %p\n\n", sbrk (0));
|
||||||
@@ -92,21 +89,21 @@ main (int argc, char *argv [])
|
|||||||
mount_entries [index].type,
|
mount_entries [index].type,
|
||||||
mount_entries [index].devname);
|
mount_entries [index].devname);
|
||||||
|
|
||||||
printf ("\n\n%-16s %9s %9s %9s %9s %9s %9s\n",
|
printf ("\n\n%-23s %9s %9s %9s %9s %9s\n\n",
|
||||||
"Mount", "Blocks", "Free", "Avail", "Files", "Free", "BlockSz");
|
"", "Blocks", "Free", "Avail", "Files", "Free");
|
||||||
|
|
||||||
for (index = 0; index < mount_list.number; index++) {
|
for (index = 0; index < mount_list.number; index++) {
|
||||||
glibtop_get_fsusage (&fsusage,
|
glibtop_get_fsusage (&fsusage,
|
||||||
mount_entries [index].mountdir);
|
mount_entries [index].mountdir);
|
||||||
|
|
||||||
printf ("%-16s %9Lu %9Lu %9Lu %9Lu %9Lu %9d\n",
|
printf ("Usage: %-16s %9Lu %9Lu %9Lu %9Lu %9Lu\n",
|
||||||
mount_entries [index].mountdir,
|
mount_entries [index].mountdir,
|
||||||
fsusage.blocks, fsusage.bfree,
|
fsusage.blocks, fsusage.bfree,
|
||||||
fsusage.bavail, fsusage.files,
|
fsusage.bavail, fsusage.files,
|
||||||
fsusage.ffree, fsusage.block_size);
|
fsusage.ffree);
|
||||||
}
|
}
|
||||||
|
|
||||||
g_free (mount_entries);
|
glibtop_free (mount_entries);
|
||||||
|
|
||||||
printf ("\nsbrk (0) = %p\n\n", sbrk (0));
|
printf ("\nsbrk (0) = %p\n\n", sbrk (0));
|
||||||
|
|
||||||
|
@@ -1,50 +0,0 @@
|
|||||||
/* Copyright (C) 2004 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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
|
||||||
# include <config.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/netlist.h>
|
|
||||||
|
|
||||||
|
|
||||||
int main(int argc, char *argv [])
|
|
||||||
{
|
|
||||||
glibtop_netlist buf;
|
|
||||||
char **devices;
|
|
||||||
guint32 i;
|
|
||||||
|
|
||||||
glibtop_init();
|
|
||||||
|
|
||||||
devices = glibtop_get_netlist(&buf);
|
|
||||||
|
|
||||||
for(i = 0; i < buf.number; ++i)
|
|
||||||
{
|
|
||||||
printf("net device '%s'\n", devices[i]);
|
|
||||||
}
|
|
||||||
|
|
||||||
g_strfreev(devices);
|
|
||||||
|
|
||||||
glibtop_close();
|
|
||||||
return 0;
|
|
||||||
}
|
|
@@ -1,3 +1,5 @@
|
|||||||
|
/* $Id$ */
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
/* Copyright (C) 1998-99 Martin Baulig
|
||||||
This file is part of LibGTop 1.0.
|
This file is part of LibGTop 1.0.
|
||||||
|
|
||||||
@@ -19,17 +21,12 @@
|
|||||||
Boston, MA 02111-1307, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
|
||||||
# include <config.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <locale.h>
|
#include <locale.h>
|
||||||
#include <libintl.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
#include <glibtop.h>
|
||||||
#include <glibtop/open.h>
|
#include <glibtop/open.h>
|
||||||
#include <glibtop/close.h>
|
#include <glibtop/close.h>
|
||||||
|
#include <glibtop/xmalloc.h>
|
||||||
|
|
||||||
#include <glibtop/parameter.h>
|
#include <glibtop/parameter.h>
|
||||||
|
|
||||||
@@ -42,24 +39,6 @@
|
|||||||
#define PROFILE_COUNT 1
|
#define PROFILE_COUNT 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
static char* hwaddress_format_for_display(glibtop_netload *buf)
|
|
||||||
{
|
|
||||||
unsigned i;
|
|
||||||
GString *repr = g_string_new("");
|
|
||||||
char *str;
|
|
||||||
|
|
||||||
for(i = 0; i < sizeof buf->hwaddress; ++i)
|
|
||||||
g_string_append_printf(repr, "%02X:",
|
|
||||||
(unsigned) ((char*)buf->hwaddress)[i]);
|
|
||||||
|
|
||||||
repr->str [ repr->len - 1] = ' ';
|
|
||||||
str = g_string_free(repr, FALSE);
|
|
||||||
g_strstrip(str);
|
|
||||||
return str;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
main (int argc, char *argv [])
|
main (int argc, char *argv [])
|
||||||
{
|
{
|
||||||
@@ -67,8 +46,6 @@ main (int argc, char *argv [])
|
|||||||
unsigned method, count, port;
|
unsigned method, count, port;
|
||||||
struct in_addr addr, subnet;
|
struct in_addr addr, subnet;
|
||||||
char *address_string, *subnet_string;
|
char *address_string, *subnet_string;
|
||||||
char address6_string[INET6_ADDRSTRLEN], prefix6_string[INET6_ADDRSTRLEN];
|
|
||||||
char *hwaddress_string;
|
|
||||||
char buffer [BUFSIZ];
|
char buffer [BUFSIZ];
|
||||||
|
|
||||||
count = PROFILE_COUNT;
|
count = PROFILE_COUNT;
|
||||||
@@ -98,63 +75,49 @@ main (int argc, char *argv [])
|
|||||||
glibtop_init_r (&glibtop_global_server, 0, 0);
|
glibtop_init_r (&glibtop_global_server, 0, 0);
|
||||||
|
|
||||||
if (argc != 2)
|
if (argc != 2)
|
||||||
g_error ("Usage: %s interface", argv [0]);
|
glibtop_error ("Usage: %s interface", argv [0]);
|
||||||
|
|
||||||
glibtop_get_netload (&netload, argv [1]);
|
glibtop_get_netload (&netload, argv [1]);
|
||||||
|
|
||||||
addr.s_addr = netload.address;
|
addr.s_addr = netload.address;
|
||||||
subnet.s_addr = netload.subnet;
|
subnet.s_addr = netload.subnet;
|
||||||
|
|
||||||
address_string = g_strdup (inet_ntoa (addr));
|
address_string = glibtop_strdup (inet_ntoa (addr));
|
||||||
subnet_string = g_strdup (inet_ntoa (subnet));
|
subnet_string = glibtop_strdup (inet_ntoa (subnet));
|
||||||
|
|
||||||
inet_ntop (AF_INET6, netload.address6, address6_string, INET6_ADDRSTRLEN);
|
printf ("Network Load (0x%08lx):\n\n"
|
||||||
inet_ntop (AF_INET6, netload.prefix6, prefix6_string, INET6_ADDRSTRLEN);
|
"\tInterface Flags:\t0x%08lx\n"
|
||||||
|
"\tAddress:\t\t0x%08lx - %s\n"
|
||||||
|
"\tSubnet:\t\t\t0x%08lx - %s\n\n"
|
||||||
|
"\tMTU:\t\t\t%ld\n"
|
||||||
|
"\tCollisions:\t\t%ld\n\n"
|
||||||
|
"\tPackets In:\t\t%ld\n"
|
||||||
|
"\tPackets Out:\t\t%ld\n"
|
||||||
|
"\tPackets Total:\t\t%ld\n\n"
|
||||||
|
"\tBytes In:\t\t%ld\n"
|
||||||
|
"\tBytes Out:\t\t%ld\n"
|
||||||
|
"\tBytes Total:\t\t%ld\n\n"
|
||||||
|
"\tErrors In:\t\t%ld\n"
|
||||||
|
"\tErrors Out:\t\t%ld\n"
|
||||||
|
"\tErrors Total:\t\t%ld\n\n",
|
||||||
|
(unsigned long) netload.flags,
|
||||||
|
(unsigned long) netload.if_flags,
|
||||||
|
(unsigned long) netload.address, address_string,
|
||||||
|
(unsigned long) netload.subnet, subnet_string,
|
||||||
|
(unsigned long) netload.mtu,
|
||||||
|
(unsigned long) netload.collisions,
|
||||||
|
(unsigned long) netload.packets_in,
|
||||||
|
(unsigned long) netload.packets_out,
|
||||||
|
(unsigned long) netload.packets_total,
|
||||||
|
(unsigned long) netload.bytes_in,
|
||||||
|
(unsigned long) netload.bytes_out,
|
||||||
|
(unsigned long) netload.bytes_total,
|
||||||
|
(unsigned long) netload.errors_in,
|
||||||
|
(unsigned long) netload.errors_out,
|
||||||
|
(unsigned long) netload.errors_total);
|
||||||
|
|
||||||
hwaddress_string = hwaddress_format_for_display(&netload);
|
glibtop_free (address_string);
|
||||||
|
glibtop_free (subnet_string);
|
||||||
printf ("Network Load (0x%016llx):\n\n"
|
|
||||||
"\tInterface Flags:\t0x%016llx\n"
|
|
||||||
"\tAddress:\t\t0x%08x - %s\n"
|
|
||||||
"\tSubnet:\t\t\t0x%08x - %s\n\n"
|
|
||||||
"\tMTU:\t\t\t%d\n"
|
|
||||||
"\tCollisions:\t\t%llu\n\n"
|
|
||||||
"\tPackets In:\t\t%llu\n"
|
|
||||||
"\tPackets Out:\t\t%llu\n"
|
|
||||||
"\tPackets Total:\t\t%llu\n\n"
|
|
||||||
"\tBytes In:\t\t%llu\n"
|
|
||||||
"\tBytes Out:\t\t%llu\n"
|
|
||||||
"\tBytes Total:\t\t%llu\n\n"
|
|
||||||
"\tErrors In:\t\t%llu\n"
|
|
||||||
"\tErrors Out:\t\t%llu\n"
|
|
||||||
"\tErrors Total:\t\t%llu\n\n"
|
|
||||||
"\tAddress6:\t\t%s\n"
|
|
||||||
"\tPrefix6:\t\t%s\n"
|
|
||||||
"\tScope6:\t\t\t%#03x\n\n"
|
|
||||||
"\tHarware Address:\t%s\n\n",
|
|
||||||
netload.flags,
|
|
||||||
netload.if_flags,
|
|
||||||
(guint32) netload.address, address_string,
|
|
||||||
(guint32) netload.subnet, subnet_string,
|
|
||||||
netload.mtu,
|
|
||||||
netload.collisions,
|
|
||||||
netload.packets_in,
|
|
||||||
netload.packets_out,
|
|
||||||
netload.packets_total,
|
|
||||||
netload.bytes_in,
|
|
||||||
netload.bytes_out,
|
|
||||||
netload.bytes_total,
|
|
||||||
netload.errors_in,
|
|
||||||
netload.errors_out,
|
|
||||||
netload.errors_total,
|
|
||||||
address6_string,
|
|
||||||
prefix6_string,
|
|
||||||
(int) netload.scope6,
|
|
||||||
hwaddress_string);
|
|
||||||
|
|
||||||
|
|
||||||
g_free (address_string);
|
|
||||||
g_free (subnet_string);
|
|
||||||
|
|
||||||
glibtop_close ();
|
glibtop_close ();
|
||||||
|
|
||||||
|
@@ -1,75 +0,0 @@
|
|||||||
#ifdef HAVE_CONFIG_H
|
|
||||||
# include <config.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/procopenfiles.h>
|
|
||||||
|
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
#include <unistd.h>
|
|
||||||
|
|
||||||
static void show_open_files(pid_t pid)
|
|
||||||
{
|
|
||||||
glibtop_proc_open_files buf;
|
|
||||||
glibtop_open_files_entry *files;
|
|
||||||
unsigned i;
|
|
||||||
|
|
||||||
files = glibtop_get_proc_open_files(&buf, pid);
|
|
||||||
|
|
||||||
printf("<%ld>\n", (long)pid);
|
|
||||||
|
|
||||||
for(i = 0; i < buf.number; ++i)
|
|
||||||
{
|
|
||||||
printf("\tfd = %d\t", files[i].fd);
|
|
||||||
|
|
||||||
switch(files[i].type)
|
|
||||||
{
|
|
||||||
case GLIBTOP_FILE_TYPE_FILE:
|
|
||||||
printf("file \"%s\"\n", files[i].info.file.name);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case GLIBTOP_FILE_TYPE_PIPE:
|
|
||||||
printf("pipe\n");
|
|
||||||
break;
|
|
||||||
|
|
||||||
case GLIBTOP_FILE_TYPE_INETSOCKET:
|
|
||||||
printf("socket %s:%d\n", files[i].info.sock.dest_host, files[i].info.sock.dest_port);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case GLIBTOP_FILE_TYPE_INET6SOCKET:
|
|
||||||
printf("socket [%s]:%d\n", files[i].info.sock.dest_host, files[i].info.sock.dest_port);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case GLIBTOP_FILE_TYPE_LOCALSOCKET:
|
|
||||||
printf("localsocket %s\n", files[i].info.localsock.name);
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
printf("unknown type\n");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
putchar('\n');
|
|
||||||
|
|
||||||
g_free(files);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
|
||||||
{
|
|
||||||
glibtop_init();
|
|
||||||
|
|
||||||
show_open_files(getpid());
|
|
||||||
|
|
||||||
while(*++argv)
|
|
||||||
{
|
|
||||||
pid_t pid = strtol(*argv, NULL, 10);
|
|
||||||
show_open_files(pid);
|
|
||||||
}
|
|
||||||
|
|
||||||
glibtop_close();
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
@@ -1,324 +0,0 @@
|
|||||||
#ifdef HAVE_CONFIG_H
|
|
||||||
# include <config.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
|
|
||||||
#include <glibtop/union.h>
|
|
||||||
|
|
||||||
#include <unistd.h>
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stddef.h>
|
|
||||||
|
|
||||||
|
|
||||||
#define buf_offsetof(MEMBER) ((ptrdiff_t)&(buf.MEMBER) - (ptrdiff_t)&buf)
|
|
||||||
|
|
||||||
#define HEADER_PPRINT(FUNC) printf("### " #FUNC " ###\nsizeof *buf = %lu B\n", \
|
|
||||||
(unsigned long) sizeof buf)
|
|
||||||
|
|
||||||
#define PPRINT(DATA, FORMAT) printf("\t%4lu B %3lu " #DATA " = " FORMAT "\n", \
|
|
||||||
(unsigned long) sizeof buf.DATA, (unsigned long) buf_offsetof(DATA), buf.DATA)
|
|
||||||
|
|
||||||
#define PPRINT_ARRAY(ARRAY, SIZE, FORMAT) do { \
|
|
||||||
size_t i; \
|
|
||||||
printf("\t%4lu B %3lu " #ARRAY "[%lu] = { ", \
|
|
||||||
(unsigned long) sizeof buf.ARRAY, (unsigned long) buf_offsetof(ARRAY),\
|
|
||||||
(unsigned long) G_N_ELEMENTS(buf.ARRAY)); \
|
|
||||||
for(i = 0; i < (SIZE - 1); ++i) printf(".%u = " FORMAT ", ", i, buf.ARRAY[i]); \
|
|
||||||
printf(".%u = " FORMAT " }\n", SIZE - 1 , buf.ARRAY[SIZE - 1]); \
|
|
||||||
} while(0)
|
|
||||||
|
|
||||||
#define FOOTER_PPRINT() putchar('\n');
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void pprint_get_cpu(void)
|
|
||||||
{
|
|
||||||
glibtop_cpu buf;
|
|
||||||
|
|
||||||
glibtop_get_cpu(&buf);
|
|
||||||
|
|
||||||
HEADER_PPRINT(glibtop_get_cpu);
|
|
||||||
PPRINT(flags, "%#llx");
|
|
||||||
PPRINT(total, "%llu");
|
|
||||||
PPRINT(user, "%llu");
|
|
||||||
PPRINT(nice, "%llu");
|
|
||||||
PPRINT(sys, "%llu");
|
|
||||||
PPRINT(idle, "%llu");
|
|
||||||
PPRINT(iowait, "%llu");
|
|
||||||
PPRINT(irq, "%llu");
|
|
||||||
PPRINT(softirq, "%llu");
|
|
||||||
PPRINT(frequency, "%llu");
|
|
||||||
PPRINT_ARRAY(xcpu_total, GLIBTOP_NCPU, "%llu");
|
|
||||||
PPRINT_ARRAY(xcpu_user, GLIBTOP_NCPU, "%llu");
|
|
||||||
PPRINT_ARRAY(xcpu_nice, GLIBTOP_NCPU, "%llu");
|
|
||||||
PPRINT_ARRAY(xcpu_sys, GLIBTOP_NCPU, "%llu");
|
|
||||||
PPRINT_ARRAY(xcpu_idle, GLIBTOP_NCPU, "%llu");
|
|
||||||
PPRINT_ARRAY(xcpu_iowait, GLIBTOP_NCPU, "%llu");
|
|
||||||
PPRINT_ARRAY(xcpu_irq, GLIBTOP_NCPU, "%llu");
|
|
||||||
PPRINT_ARRAY(xcpu_softirq, GLIBTOP_NCPU, "%llu");
|
|
||||||
PPRINT(xcpu_flags, "%llx");
|
|
||||||
FOOTER_PPRINT();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void pprint_get_fsusage(const char *mountpoint)
|
|
||||||
{
|
|
||||||
glibtop_fsusage buf;
|
|
||||||
|
|
||||||
glibtop_get_fsusage(&buf, mountpoint);
|
|
||||||
|
|
||||||
HEADER_PPRINT(glibtop_get_fsusage);
|
|
||||||
printf("pprint_get_fsusage (mountpoint = \"%s\"\n", mountpoint);
|
|
||||||
PPRINT(flags, "%#llx");
|
|
||||||
PPRINT(blocks, "%llu");
|
|
||||||
PPRINT(bfree, "%llu");
|
|
||||||
PPRINT(bavail, "%llu");
|
|
||||||
PPRINT(files, "%llu");
|
|
||||||
PPRINT(ffree, "%llu");
|
|
||||||
PPRINT(block_size, "%u");
|
|
||||||
PPRINT(read, "%llu");
|
|
||||||
PPRINT(write, "%llu");
|
|
||||||
FOOTER_PPRINT();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void pprint_get_loadavg(void)
|
|
||||||
{
|
|
||||||
glibtop_loadavg buf;
|
|
||||||
|
|
||||||
glibtop_get_loadavg(&buf);
|
|
||||||
|
|
||||||
HEADER_PPRINT(glibtop_get_loadavg);
|
|
||||||
PPRINT(flags, "%#llx");
|
|
||||||
PPRINT_ARRAY(loadavg, 3, "%f");
|
|
||||||
PPRINT(nr_running, "%llu");
|
|
||||||
PPRINT(nr_tasks, "%llu");
|
|
||||||
PPRINT(last_pid, "%llu");
|
|
||||||
FOOTER_PPRINT();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void pprint_get_mem(void)
|
|
||||||
{
|
|
||||||
glibtop_mem buf;
|
|
||||||
|
|
||||||
glibtop_get_mem(&buf);
|
|
||||||
|
|
||||||
HEADER_PPRINT(glibtop_get_mem);
|
|
||||||
PPRINT(flags, "%#llx");
|
|
||||||
PPRINT(total, "%llu");
|
|
||||||
PPRINT(used, "%llu");
|
|
||||||
PPRINT(free, "%llu");
|
|
||||||
PPRINT(shared, "%llu");
|
|
||||||
PPRINT(buffer, "%llu");
|
|
||||||
PPRINT(cached, "%llu");
|
|
||||||
PPRINT(user, "%llu");
|
|
||||||
PPRINT(locked, "%llu");
|
|
||||||
FOOTER_PPRINT();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void pprint_get_mountlist(gboolean allfs)
|
|
||||||
{
|
|
||||||
glibtop_mountlist buf;
|
|
||||||
glibtop_mountentry *entries;
|
|
||||||
size_t i;
|
|
||||||
|
|
||||||
entries = glibtop_get_mountlist(&buf, allfs);
|
|
||||||
|
|
||||||
HEADER_PPRINT(glibtop_get_mountlist);
|
|
||||||
printf("glibtop_get_mountlist (allfs = %d)\n", allfs);
|
|
||||||
PPRINT(flags, "%#llx");
|
|
||||||
PPRINT(number, "%llu");
|
|
||||||
PPRINT(total, "%llu");
|
|
||||||
PPRINT(size, "%llu");
|
|
||||||
|
|
||||||
printf("\t%4llu B entries[%llu] = \n\t\t{\n", buf.total, buf.number);
|
|
||||||
|
|
||||||
for(i = 0; i < buf.number; ++i)
|
|
||||||
{
|
|
||||||
printf("\t\t .%lu = { .dev = %#llx,"
|
|
||||||
" .devname = \"%s\","
|
|
||||||
" .mountir = \"%s\","
|
|
||||||
" .type = \"%s\" }\n",
|
|
||||||
(unsigned long) i, entries[i].dev,
|
|
||||||
entries[i].devname,
|
|
||||||
entries[i].mountdir,
|
|
||||||
entries[i].type);
|
|
||||||
}
|
|
||||||
|
|
||||||
printf("\t\t}\n");
|
|
||||||
FOOTER_PPRINT();
|
|
||||||
|
|
||||||
g_free(entries);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void pprint_get_msg_limits(void)
|
|
||||||
{
|
|
||||||
glibtop_msg_limits buf;
|
|
||||||
|
|
||||||
glibtop_get_msg_limits(&buf);
|
|
||||||
|
|
||||||
HEADER_PPRINT(glibtop_get_msg_limits);
|
|
||||||
PPRINT(flags, "%#llx");
|
|
||||||
PPRINT(msgpool, "%llu");
|
|
||||||
PPRINT(msgmap, "%llu");
|
|
||||||
PPRINT(msgmax, "%llu");
|
|
||||||
PPRINT(msgmnb, "%llu");
|
|
||||||
PPRINT(msgmni, "%llu");
|
|
||||||
PPRINT(msgssz, "%llu");
|
|
||||||
PPRINT(msgtql, "%llu");
|
|
||||||
FOOTER_PPRINT();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void pprint_get_netload(const char *iface)
|
|
||||||
{
|
|
||||||
glibtop_netload buf;
|
|
||||||
|
|
||||||
glibtop_get_netload(&buf, iface);
|
|
||||||
|
|
||||||
HEADER_PPRINT(glibtop_get_netload);
|
|
||||||
printf("glibtop_get_netload (iface = \"%s\")\n", iface);
|
|
||||||
PPRINT(flags, "%#llx");
|
|
||||||
FOOTER_PPRINT();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void pprint_get_netlist(void)
|
|
||||||
{
|
|
||||||
glibtop_netlist buf;
|
|
||||||
char **devices;
|
|
||||||
guint32 i;
|
|
||||||
|
|
||||||
devices = glibtop_get_netlist(&buf);
|
|
||||||
|
|
||||||
HEADER_PPRINT(glibtop_get_netlist);
|
|
||||||
|
|
||||||
for(i = 0; i < buf.number; ++i)
|
|
||||||
{
|
|
||||||
printf("\t%s\n", devices[i]);
|
|
||||||
}
|
|
||||||
|
|
||||||
FOOTER_PPRINT();
|
|
||||||
|
|
||||||
g_strfreev(devices);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void pprint_get_swap(void)
|
|
||||||
{
|
|
||||||
glibtop_swap buf;
|
|
||||||
|
|
||||||
glibtop_get_swap(&buf);
|
|
||||||
|
|
||||||
HEADER_PPRINT(glibtop_get_swap);
|
|
||||||
PPRINT(flags, "%#llx");
|
|
||||||
PPRINT(total, "%llu");
|
|
||||||
PPRINT(used, "%llu");
|
|
||||||
PPRINT(free, "%llu");
|
|
||||||
PPRINT(pagein, "%llu");
|
|
||||||
PPRINT(pageout, "%llu");
|
|
||||||
FOOTER_PPRINT();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void pprint_get_uptime(void)
|
|
||||||
{
|
|
||||||
glibtop_uptime buf;
|
|
||||||
|
|
||||||
glibtop_get_uptime(&buf);
|
|
||||||
|
|
||||||
HEADER_PPRINT(glibtop_get_uptime);
|
|
||||||
PPRINT(flags, "%#llx");
|
|
||||||
PPRINT(uptime, "%f");
|
|
||||||
PPRINT(idletime, "%f");
|
|
||||||
PPRINT(boot_time, "%llu");
|
|
||||||
FOOTER_PPRINT();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void pprint_get_proc_kernel(pid_t pid)
|
|
||||||
{
|
|
||||||
glibtop_proc_kernel buf;
|
|
||||||
|
|
||||||
glibtop_get_proc_kernel(&buf, pid);
|
|
||||||
|
|
||||||
HEADER_PPRINT(glibtop_get_proc_kernel);
|
|
||||||
PPRINT(flags, "%#llx");
|
|
||||||
PPRINT(k_flags, "%llu");
|
|
||||||
PPRINT(min_flt, "%llu");
|
|
||||||
PPRINT(maj_flt, "%llu");
|
|
||||||
PPRINT(cmin_flt, "%llu");
|
|
||||||
PPRINT(cmaj_flt, "%llu");
|
|
||||||
FOOTER_PPRINT();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void pprint_get_proc_mem(pid_t pid)
|
|
||||||
{
|
|
||||||
glibtop_proc_mem buf;
|
|
||||||
|
|
||||||
glibtop_get_proc_mem(&buf, pid);
|
|
||||||
|
|
||||||
HEADER_PPRINT(glibtop_get_proc_mem);
|
|
||||||
PPRINT(flags, "%#llx");
|
|
||||||
PPRINT(size, "%llu");
|
|
||||||
PPRINT(vsize, "%llu");
|
|
||||||
PPRINT(resident, "%llu");
|
|
||||||
PPRINT(share, "%llu");
|
|
||||||
PPRINT(rss, "%llu");
|
|
||||||
PPRINT(rss_rlim, "%llu");
|
|
||||||
FOOTER_PPRINT();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int main()
|
|
||||||
{
|
|
||||||
glibtop_init();
|
|
||||||
|
|
||||||
pprint_get_cpu();
|
|
||||||
|
|
||||||
pprint_get_fsusage("/");
|
|
||||||
|
|
||||||
pprint_get_loadavg();
|
|
||||||
|
|
||||||
pprint_get_mem();
|
|
||||||
|
|
||||||
pprint_get_mountlist(TRUE);
|
|
||||||
pprint_get_mountlist(FALSE);
|
|
||||||
|
|
||||||
pprint_get_msg_limits();
|
|
||||||
|
|
||||||
pprint_get_swap();
|
|
||||||
|
|
||||||
pprint_get_netlist();
|
|
||||||
|
|
||||||
pprint_get_netload("eth0");
|
|
||||||
pprint_get_netload("ppp0");
|
|
||||||
pprint_get_netload("<unknown>");
|
|
||||||
/* pprint_get_sysinfo(); */
|
|
||||||
|
|
||||||
pprint_get_uptime();
|
|
||||||
|
|
||||||
pprint_get_proc_kernel(getpid());
|
|
||||||
pprint_get_proc_mem(getpid());
|
|
||||||
|
|
||||||
glibtop_close();
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
@@ -1,51 +0,0 @@
|
|||||||
#ifdef HAVE_CONFIG_H
|
|
||||||
# include <config.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/procargs.h>
|
|
||||||
|
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
#include <unistd.h>
|
|
||||||
|
|
||||||
static void show_args(pid_t pid, unsigned max_len)
|
|
||||||
{
|
|
||||||
glibtop_proc_args buf;
|
|
||||||
char ** const pargv = glibtop_get_proc_argv(&buf, pid, max_len);
|
|
||||||
|
|
||||||
char **parg = pargv;
|
|
||||||
|
|
||||||
printf("<%ld>\t", (long)pid);
|
|
||||||
|
|
||||||
while(*parg)
|
|
||||||
{
|
|
||||||
printf("\"%s\" ", *parg);
|
|
||||||
parg++;
|
|
||||||
}
|
|
||||||
|
|
||||||
putchar('\n');
|
|
||||||
|
|
||||||
g_strfreev(pargv);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
|
||||||
{
|
|
||||||
glibtop_init();
|
|
||||||
|
|
||||||
show_args(getpid(), 0);
|
|
||||||
show_args(getpid(), 15);
|
|
||||||
|
|
||||||
while(*++argv)
|
|
||||||
{
|
|
||||||
pid_t pid = strtol(*argv, NULL, 10);
|
|
||||||
show_args(pid, 0);
|
|
||||||
show_args(pid, 15);
|
|
||||||
}
|
|
||||||
|
|
||||||
glibtop_close();
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
@@ -1,43 +0,0 @@
|
|||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/proclist.h>
|
|
||||||
|
|
||||||
#include <glib.h>
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <sys/types.h>
|
|
||||||
|
|
||||||
|
|
||||||
static void print_pids(guint64 which, guint64 arg)
|
|
||||||
{
|
|
||||||
pid_t *pids;
|
|
||||||
unsigned i;
|
|
||||||
glibtop_proclist buf;
|
|
||||||
|
|
||||||
pids = glibtop_get_proclist(&buf, which, arg);
|
|
||||||
|
|
||||||
printf("glibtop_get_proclist(%#llx, %llu) -> %lu processes\n",
|
|
||||||
which, arg, (unsigned long)buf.number);
|
|
||||||
|
|
||||||
for (i = 0; i < buf.number; ++i)
|
|
||||||
printf("%u ", pids[i]);
|
|
||||||
|
|
||||||
putchar('\n');
|
|
||||||
putchar('\n');
|
|
||||||
|
|
||||||
g_free(pids);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int main()
|
|
||||||
{
|
|
||||||
glibtop_init();
|
|
||||||
|
|
||||||
print_pids(GLIBTOP_KERN_PROC_ALL, 0);
|
|
||||||
print_pids(GLIBTOP_KERN_PROC_UID, getuid());
|
|
||||||
|
|
||||||
glibtop_close();
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
@@ -1,3 +1,5 @@
|
|||||||
|
/* $Id$ */
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
/* Copyright (C) 1998-99 Martin Baulig
|
||||||
This file is part of LibGTop 1.0.
|
This file is part of LibGTop 1.0.
|
||||||
|
|
||||||
@@ -19,22 +21,20 @@
|
|||||||
Boston, MA 02111-1307, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
|
||||||
# include <config.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <locale.h>
|
#include <locale.h>
|
||||||
#include <libintl.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
#include <glibtop.h>
|
||||||
#include <glibtop/open.h>
|
#include <glibtop/open.h>
|
||||||
#include <glibtop/close.h>
|
#include <glibtop/close.h>
|
||||||
|
#include <glibtop/xmalloc.h>
|
||||||
|
|
||||||
#include <glibtop/parameter.h>
|
#include <glibtop/parameter.h>
|
||||||
|
|
||||||
#include <glibtop/procmap.h>
|
#include <glibtop/procmap.h>
|
||||||
|
|
||||||
|
#ifdef GLIBTOP_INODEDB
|
||||||
|
#include <glibtop/inodedb.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <sys/resource.h>
|
#include <sys/resource.h>
|
||||||
#include <sys/mman.h>
|
#include <sys/mman.h>
|
||||||
@@ -46,6 +46,9 @@
|
|||||||
int
|
int
|
||||||
main (int argc, char *argv [])
|
main (int argc, char *argv [])
|
||||||
{
|
{
|
||||||
|
#ifdef GLIBTOP_INODEDB
|
||||||
|
glibtop_inodedb *inodedb;
|
||||||
|
#endif
|
||||||
glibtop_proc_map procmap;
|
glibtop_proc_map procmap;
|
||||||
glibtop_map_entry *maps;
|
glibtop_map_entry *maps;
|
||||||
unsigned method, count, port, i;
|
unsigned method, count, port, i;
|
||||||
@@ -79,7 +82,11 @@ main (int argc, char *argv [])
|
|||||||
glibtop_init_r (&glibtop_global_server, 0, 0);
|
glibtop_init_r (&glibtop_global_server, 0, 0);
|
||||||
|
|
||||||
if ((argc != 2) || (sscanf (argv [1], "%d", (int *) &pid) != 1))
|
if ((argc != 2) || (sscanf (argv [1], "%d", (int *) &pid) != 1))
|
||||||
g_error ("Usage: %s pid", argv [0]);
|
glibtop_error ("Usage: %s pid", argv [0]);
|
||||||
|
|
||||||
|
#ifdef GLIBTOP_INODEDB
|
||||||
|
inodedb = glibtop_inodedb_open (0, 0);
|
||||||
|
#endif
|
||||||
|
|
||||||
fprintf (stderr, "Getting memory maps for pid %d.\n\n", (int) pid);
|
fprintf (stderr, "Getting memory maps for pid %d.\n\n", (int) pid);
|
||||||
|
|
||||||
@@ -93,6 +100,12 @@ main (int argc, char *argv [])
|
|||||||
if (maps [i].flags & (1L << GLIBTOP_MAP_ENTRY_FILENAME))
|
if (maps [i].flags & (1L << GLIBTOP_MAP_ENTRY_FILENAME))
|
||||||
filename = maps [i].filename;
|
filename = maps [i].filename;
|
||||||
|
|
||||||
|
#ifdef GLIBTOP_INODEDB
|
||||||
|
if (inodedb && !filename)
|
||||||
|
filename = glibtop_inodedb_lookup
|
||||||
|
(inodedb, maps [i].device, maps [i].inode);
|
||||||
|
#endif
|
||||||
|
|
||||||
perm [0] = (maps [i].perm & GLIBTOP_MAP_PERM_READ) ? 'r' : '-';
|
perm [0] = (maps [i].perm & GLIBTOP_MAP_PERM_READ) ? 'r' : '-';
|
||||||
perm [1] = (maps [i].perm & GLIBTOP_MAP_PERM_WRITE) ? 'w' : '-';
|
perm [1] = (maps [i].perm & GLIBTOP_MAP_PERM_WRITE) ? 'w' : '-';
|
||||||
perm [2] = (maps [i].perm & GLIBTOP_MAP_PERM_EXECUTE) ? 'x' : '-';
|
perm [2] = (maps [i].perm & GLIBTOP_MAP_PERM_EXECUTE) ? 'x' : '-';
|
||||||
@@ -108,10 +121,10 @@ main (int argc, char *argv [])
|
|||||||
|
|
||||||
if (sizeof (void*) == 8)
|
if (sizeof (void*) == 8)
|
||||||
format = "%016lx-%016lx %016lx - "
|
format = "%016lx-%016lx %016lx - "
|
||||||
"%02x:%02x %08lu - %5.5s - %s\n";
|
"%02x:%02x %08lu - %4s - %s\n";
|
||||||
else
|
else
|
||||||
format = "%08lx-%08lx %08lx - "
|
format = "%08lx-%08lx %08lx - "
|
||||||
"%02x:%02x %08lu - %5.5s - %s\n";
|
"%02x:%02x %08lu - %4s - %s\n";
|
||||||
|
|
||||||
fprintf (stderr, format,
|
fprintf (stderr, format,
|
||||||
(unsigned long) maps [i].start,
|
(unsigned long) maps [i].start,
|
||||||
@@ -139,23 +152,11 @@ main (int argc, char *argv [])
|
|||||||
perm);
|
perm);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
g_print("smaps flags:%#llx size:%lluKiB rss:%lluKiB "
|
|
||||||
"shared_clean:%lluKib shared_dirty:%lluKiB "
|
|
||||||
"private_clean:%lluKiB private_dirty: %lluKiB\n",
|
|
||||||
maps[i].flags,
|
|
||||||
maps[i].size >> 10,
|
|
||||||
maps[i].rss >> 10,
|
|
||||||
maps[i].shared_clean >> 10,
|
|
||||||
maps[i].shared_dirty >> 10,
|
|
||||||
maps[i].private_clean >> 10,
|
|
||||||
maps[i].private_dirty >> 10);
|
|
||||||
|
|
||||||
if (filename && (filename != maps [i].filename))
|
if (filename && (filename != maps [i].filename))
|
||||||
g_free ((void*)filename);
|
glibtop_free (filename);
|
||||||
}
|
}
|
||||||
|
|
||||||
g_free (maps);
|
glibtop_free (maps);
|
||||||
|
|
||||||
glibtop_close ();
|
glibtop_close ();
|
||||||
|
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
/* $Id$ */
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
/* Copyright (C) 1998-99 Martin Baulig
|
||||||
This file is part of LibGTop 1.0.
|
This file is part of LibGTop 1.0.
|
||||||
|
|
||||||
@@ -19,18 +21,12 @@
|
|||||||
Boston, MA 02111-1307, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
|
||||||
# include <config.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <locale.h>
|
#include <locale.h>
|
||||||
#include <math.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <libintl.h>
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
#include <glibtop.h>
|
||||||
#include <glibtop/open.h>
|
#include <glibtop/open.h>
|
||||||
#include <glibtop/close.h>
|
#include <glibtop/close.h>
|
||||||
|
#include <glibtop/xmalloc.h>
|
||||||
|
|
||||||
#include <glibtop/union.h>
|
#include <glibtop/union.h>
|
||||||
#include <glibtop/sysdeps.h>
|
#include <glibtop/sysdeps.h>
|
||||||
@@ -48,7 +44,7 @@ output (pid_t pid)
|
|||||||
double b_total, b_utime, b_stime;
|
double b_total, b_utime, b_stime;
|
||||||
double s_total, s_utime, s_stime;
|
double s_total, s_utime, s_stime;
|
||||||
double my_utime, my_stime;
|
double my_utime, my_stime;
|
||||||
unsigned int ncpu;
|
int ncpu;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
printf ("\n");
|
printf ("\n");
|
||||||
@@ -154,7 +150,7 @@ output (pid_t pid)
|
|||||||
(unsigned long) data.proc_args.size,
|
(unsigned long) data.proc_args.size,
|
||||||
args ? args : "");
|
args ? args : "");
|
||||||
|
|
||||||
g_free (args);
|
glibtop_free (args);
|
||||||
|
|
||||||
printf ("\n");
|
printf ("\n");
|
||||||
|
|
||||||
@@ -239,8 +235,7 @@ main (int argc, char *argv [])
|
|||||||
{
|
{
|
||||||
glibtop_proclist proclist;
|
glibtop_proclist proclist;
|
||||||
glibtop_sysdeps sysdeps;
|
glibtop_sysdeps sysdeps;
|
||||||
unsigned i;
|
unsigned *ptr, pid, i;
|
||||||
pid_t *ptr, pid;
|
|
||||||
|
|
||||||
setlocale (LC_ALL, "");
|
setlocale (LC_ALL, "");
|
||||||
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
|
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
|
||||||
@@ -295,7 +290,7 @@ main (int argc, char *argv [])
|
|||||||
output (pid);
|
output (pid);
|
||||||
}
|
}
|
||||||
|
|
||||||
g_free (ptr);
|
glibtop_free (ptr);
|
||||||
|
|
||||||
exit (0);
|
exit (0);
|
||||||
}
|
}
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
/* $Id$ */
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
/* Copyright (C) 1998-99 Martin Baulig
|
||||||
This file is part of LibGTop 1.0.
|
This file is part of LibGTop 1.0.
|
||||||
|
|
||||||
@@ -19,15 +21,11 @@
|
|||||||
Boston, MA 02111-1307, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <config.h>
|
|
||||||
|
|
||||||
#include <locale.h>
|
#include <locale.h>
|
||||||
#include <libintl.h>
|
|
||||||
#include <math.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
#include <glibtop.h>
|
||||||
#include <glibtop/cpu.h>
|
#include <glibtop/cpu.h>
|
||||||
|
#include <glibtop/xmalloc.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
main (int argc, char *argv [])
|
main (int argc, char *argv [])
|
||||||
@@ -40,7 +38,9 @@ main (int argc, char *argv [])
|
|||||||
char separator [BUFSIZ], buffer [BUFSIZ];
|
char separator [BUFSIZ], buffer [BUFSIZ];
|
||||||
int ncpu, i;
|
int ncpu, i;
|
||||||
|
|
||||||
glibtop_init();
|
setlocale (LC_ALL, "");
|
||||||
|
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
|
||||||
|
textdomain (GETTEXT_PACKAGE);
|
||||||
|
|
||||||
glibtop_get_cpu (&cpu);
|
glibtop_get_cpu (&cpu);
|
||||||
|
|
||||||
@@ -65,16 +65,16 @@ main (int argc, char *argv [])
|
|||||||
memset (separator, '-', 91);
|
memset (separator, '-', 91);
|
||||||
separator [92] = '\0';
|
separator [92] = '\0';
|
||||||
|
|
||||||
sprintf (buffer, "Ticks (%ld per second):", frequency);
|
sprintf (buffer, _("Ticks (%ld per second):"), frequency);
|
||||||
|
|
||||||
printf ("\n\n%-26s %12s %12s %12s %12s %12s\n%s\n", buffer,
|
printf ("\n\n%-26s %12s %12s %12s %12s %12s\n%s\n", buffer,
|
||||||
"Total", "User", "Nice", "Sys", "Idle", separator);
|
_("Total"), _("User"), _("Nice"), _("Sys"), _("Idle"), separator);
|
||||||
|
|
||||||
printf ("CPU (0x%08lx): %12.0f %12.0f %12.0f %12.0f %12.0f\n\n",
|
printf (_("CPU (0x%08lx): %12.0f %12.0f %12.0f %12.0f %12.0f\n\n"),
|
||||||
(unsigned long) cpu.flags, total, user, nice, sys, idle);
|
(unsigned long) cpu.flags, total, user, nice, sys, idle);
|
||||||
|
|
||||||
for (i = 0; i < glibtop_global_server->ncpu; i++) {
|
for (i = 0; i < glibtop_global_server->ncpu; i++) {
|
||||||
printf ("CPU %3d (0x%08lx): %12lu %12lu %12lu %12lu %12lu\n", i,
|
printf (_("CPU %3d (0x%08lx): %12lu %12lu %12lu %12lu %12lu\n"), i,
|
||||||
(unsigned long) cpu.flags,
|
(unsigned long) cpu.flags,
|
||||||
(unsigned long) cpu.xcpu_total [i],
|
(unsigned long) cpu.xcpu_total [i],
|
||||||
(unsigned long) cpu.xcpu_user [i],
|
(unsigned long) cpu.xcpu_user [i],
|
||||||
@@ -91,11 +91,11 @@ main (int argc, char *argv [])
|
|||||||
|
|
||||||
printf ("%s\n\n\n", separator);
|
printf ("%s\n\n\n", separator);
|
||||||
|
|
||||||
printf ("%-26s %12s %12s %12s %12s %12s\n%s\n", "Percent:",
|
printf ("%-26s %12s %12s %12s %12s %12s\n%s\n", _("Percent:"),
|
||||||
"Total (%)", "User (%)", "Nice (%)", "Sys (%)",
|
_("Total (%)"), _("User (%)"), _("Nice (%)"), _("Sys (%)"),
|
||||||
"Idle (%)", separator);
|
_("Idle (%)"), separator);
|
||||||
|
|
||||||
printf ("CPU (0x%08lx): %12.3f %12.3f %12.3f %12.3f %12.3f\n\n",
|
printf (_("CPU (0x%08lx): %12.3f %12.3f %12.3f %12.3f %12.3f\n\n"),
|
||||||
(unsigned long) cpu.flags, (double) total * 100.0 / total,
|
(unsigned long) cpu.flags, (double) total * 100.0 / total,
|
||||||
(double) user * 100.0 / total,
|
(double) user * 100.0 / total,
|
||||||
(double) nice * 100.0 / total,
|
(double) nice * 100.0 / total,
|
||||||
@@ -111,13 +111,13 @@ main (int argc, char *argv [])
|
|||||||
p_sys = ((double) cpu.xcpu_sys [i]) * 100.0 / sys;
|
p_sys = ((double) cpu.xcpu_sys [i]) * 100.0 / sys;
|
||||||
p_idle = ((double) cpu.xcpu_idle [i]) * 100.0 / idle;
|
p_idle = ((double) cpu.xcpu_idle [i]) * 100.0 / idle;
|
||||||
|
|
||||||
printf ("CPU %3d (0x%08lx): %12.3f %12.3f %12.3f %12.3f %12.3f\n",
|
printf (_("CPU %3d (0x%08lx): %12.3f %12.3f %12.3f %12.3f %12.3f\n"),
|
||||||
i, (unsigned long) cpu.flags, p_total, p_user, p_nice,
|
i, (unsigned long) cpu.flags, p_total, p_user, p_nice,
|
||||||
p_sys, p_idle);
|
p_sys, p_idle);
|
||||||
}
|
}
|
||||||
|
|
||||||
printf ("%s\n%-26s %12.3f %12.3f %12.3f %12.3f %12.3f\n\n", separator,
|
printf ("%s\n%-26s %12.3f %12.3f %12.3f %12.3f %12.3f\n\n", separator,
|
||||||
"Spin:", s_total * 100.0 / total, s_user * 100.0 / user,
|
_("Spin:"), s_total * 100.0 / total, s_user * 100.0 / user,
|
||||||
s_nice * 100.0 / nice, s_sys * 100.0 / sys, s_idle * 100.0 / idle);
|
s_nice * 100.0 / nice, s_sys * 100.0 / sys, s_idle * 100.0 / idle);
|
||||||
|
|
||||||
exit (0);
|
exit (0);
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
/* $Id$ */
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
/* Copyright (C) 1998-99 Martin Baulig
|
||||||
This file is part of LibGTop 1.0.
|
This file is part of LibGTop 1.0.
|
||||||
|
|
||||||
@@ -19,18 +21,12 @@
|
|||||||
Boston, MA 02111-1307, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
|
||||||
# include <config.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <locale.h>
|
#include <locale.h>
|
||||||
#include <libintl.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
#include <glibtop.h>
|
||||||
#include <glibtop/open.h>
|
#include <glibtop/open.h>
|
||||||
#include <glibtop/close.h>
|
#include <glibtop/close.h>
|
||||||
#include <glibtop/sysdeps.h>
|
#include <glibtop/xmalloc.h>
|
||||||
|
|
||||||
#include <glibtop/parameter.h>
|
#include <glibtop/parameter.h>
|
||||||
|
|
||||||
@@ -73,7 +69,7 @@ main (int argc, char *argv [])
|
|||||||
|
|
||||||
glibtop_get_sysdeps (&sysdeps);
|
glibtop_get_sysdeps (&sysdeps);
|
||||||
|
|
||||||
#define FEATURE_CHECK(f) ((sysdeps.features & (1L << GLIBTOP_SYSDEPS_##f)) ? 1 : 0)
|
#define FEATURE_CHECK(f) ((sysdeps.features & (1L << GLIBTOP_SYSDEPS_##f##)) ? 1 : 0)
|
||||||
|
|
||||||
printf ("Sysdeps (0x%08lx):\n\n"
|
printf ("Sysdeps (0x%08lx):\n\n"
|
||||||
"\tfeatures:\t\t0x%08lx\n\n"
|
"\tfeatures:\t\t0x%08lx\n\n"
|
||||||
|
57
examples/third.c
Normal file
57
examples/third.c
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
/* $Id$ */
|
||||||
|
|
||||||
|
/* Copyright (C) 1998-99 Martin Baulig
|
||||||
|
This file is part of LibGTop 1.0.
|
||||||
|
|
||||||
|
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
||||||
|
|
||||||
|
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 <locale.h>
|
||||||
|
|
||||||
|
#include <glibtop.h>
|
||||||
|
|
||||||
|
#include <glibtop/open.h>
|
||||||
|
#include <glibtop/close.h>
|
||||||
|
#include <glibtop/xmalloc.h>
|
||||||
|
|
||||||
|
#include <glibtop/union.h>
|
||||||
|
#include <glibtop/sysdeps.h>
|
||||||
|
|
||||||
|
void main_prog(int argc, char *argv[]);
|
||||||
|
|
||||||
|
int
|
||||||
|
main (int argc, char *argv[])
|
||||||
|
{
|
||||||
|
setlocale (LC_ALL, "");
|
||||||
|
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
|
||||||
|
textdomain (GETTEXT_PACKAGE);
|
||||||
|
|
||||||
|
gh_enter (argc, argv, main_prog);
|
||||||
|
exit (0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
main_prog (int argc, char *argv[])
|
||||||
|
{
|
||||||
|
glibtop_boot_guile ();
|
||||||
|
#ifdef GLIBTOP_GUILE_NAMES
|
||||||
|
glibtop_boot_guile_names ();
|
||||||
|
#endif
|
||||||
|
|
||||||
|
gh_repl (argc, argv);
|
||||||
|
}
|
@@ -1,3 +1,5 @@
|
|||||||
|
/* $Id$ */
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
/* Copyright (C) 1998-99 Martin Baulig
|
||||||
This file is part of LibGTop 1.0.
|
This file is part of LibGTop 1.0.
|
||||||
|
|
||||||
@@ -19,17 +21,12 @@
|
|||||||
Boston, MA 02111-1307, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
|
||||||
# include <config.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <locale.h>
|
#include <locale.h>
|
||||||
#include <stdio.h>
|
|
||||||
#include <libintl.h>
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
#include <glibtop.h>
|
||||||
#include <glibtop/open.h>
|
#include <glibtop/open.h>
|
||||||
#include <glibtop/close.h>
|
#include <glibtop/close.h>
|
||||||
|
#include <glibtop/xmalloc.h>
|
||||||
|
|
||||||
#include <glibtop/parameter.h>
|
#include <glibtop/parameter.h>
|
||||||
|
|
||||||
@@ -44,7 +41,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef PROFILE_COUNT_EXPENSIVE
|
#ifndef PROFILE_COUNT_EXPENSIVE
|
||||||
#define PROFILE_COUNT_EXPENSIVE (PROFILE_COUNT / 10)
|
#define PROFILE_COUNT_EXPENSIVE 10000L
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define ELAPSED_UTIME ((unsigned long) elapsed_utime.tv_sec * 1000000 + (unsigned long) elapsed_utime.tv_usec)
|
#define ELAPSED_UTIME ((unsigned long) elapsed_utime.tv_sec * 1000000 + (unsigned long) elapsed_utime.tv_usec)
|
||||||
@@ -73,13 +70,13 @@ int
|
|||||||
main (int argc, char *argv [])
|
main (int argc, char *argv [])
|
||||||
{
|
{
|
||||||
glibtop_union data;
|
glibtop_union data;
|
||||||
unsigned c;
|
unsigned c, count, *ptr;
|
||||||
struct rusage total_start, total_end;
|
struct rusage total_start, total_end;
|
||||||
struct rusage rusage_start, rusage_end;
|
struct rusage rusage_start, rusage_end;
|
||||||
struct timeval elapsed_utime, elapsed_stime;
|
struct timeval elapsed_utime, elapsed_stime;
|
||||||
pid_t pid;
|
pid_t pid;
|
||||||
|
|
||||||
pid = getpid ();
|
count = PROFILE_COUNT;
|
||||||
|
|
||||||
setlocale (LC_ALL, "");
|
setlocale (LC_ALL, "");
|
||||||
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
|
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
|
||||||
@@ -184,11 +181,13 @@ main (int argc, char *argv [])
|
|||||||
(long double) ELAPSED_UTIME / PROFILE_COUNT,
|
(long double) ELAPSED_UTIME / PROFILE_COUNT,
|
||||||
(long double) ELAPSED_STIME / PROFILE_COUNT);
|
(long double) ELAPSED_STIME / PROFILE_COUNT);
|
||||||
|
|
||||||
|
printf ("\n");
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_start);
|
getrusage (RUSAGE_SELF, &rusage_start);
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT_EXPENSIVE; c++) {
|
for (c = 0; c < PROFILE_COUNT_EXPENSIVE; c++) {
|
||||||
pid_t* ptr = glibtop_get_proclist (&data.proclist, 0, 0);
|
ptr = glibtop_get_proclist (&data.proclist, 0, 0);
|
||||||
g_free (ptr);
|
glibtop_free (ptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_end);
|
getrusage (RUSAGE_SELF, &rusage_end);
|
||||||
@@ -205,26 +204,9 @@ main (int argc, char *argv [])
|
|||||||
(long double) ELAPSED_UTIME / PROFILE_COUNT_EXPENSIVE,
|
(long double) ELAPSED_UTIME / PROFILE_COUNT_EXPENSIVE,
|
||||||
(long double) ELAPSED_STIME / PROFILE_COUNT_EXPENSIVE);
|
(long double) ELAPSED_STIME / PROFILE_COUNT_EXPENSIVE);
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_start);
|
pid = getpid ();
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT_EXPENSIVE; c++) {
|
printf ("\n");
|
||||||
char** ptr = glibtop_get_netlist (&data.netlist);
|
|
||||||
g_strfreev (ptr);
|
|
||||||
}
|
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_end);
|
|
||||||
|
|
||||||
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
|
|
||||||
&elapsed_utime);
|
|
||||||
|
|
||||||
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
|
|
||||||
&elapsed_stime);
|
|
||||||
|
|
||||||
printf ("Netlist (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
|
|
||||||
(unsigned long) data.proclist.flags,
|
|
||||||
PROFILE_COUNT_EXPENSIVE,
|
|
||||||
(long double) ELAPSED_UTIME / PROFILE_COUNT_EXPENSIVE,
|
|
||||||
(long double) ELAPSED_STIME / PROFILE_COUNT_EXPENSIVE);
|
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_start);
|
getrusage (RUSAGE_SELF, &rusage_start);
|
||||||
|
|
||||||
@@ -282,27 +264,6 @@ main (int argc, char *argv [])
|
|||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_start);
|
getrusage (RUSAGE_SELF, &rusage_start);
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT_EXPENSIVE; c++) {
|
|
||||||
glibtop_map_entry* entries;
|
|
||||||
entries = glibtop_get_proc_map (&data.proc_map, pid);
|
|
||||||
g_free (entries);
|
|
||||||
}
|
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_end);
|
|
||||||
|
|
||||||
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
|
|
||||||
&elapsed_utime);
|
|
||||||
|
|
||||||
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
|
|
||||||
&elapsed_stime);
|
|
||||||
|
|
||||||
printf ("Proc_Map (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
|
|
||||||
(unsigned long) data.proc_map.flags, PROFILE_COUNT_EXPENSIVE,
|
|
||||||
(long double) ELAPSED_UTIME / PROFILE_COUNT_EXPENSIVE,
|
|
||||||
(long double) ELAPSED_STIME / PROFILE_COUNT_EXPENSIVE);
|
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_start);
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
for (c = 0; c < PROFILE_COUNT; c++)
|
||||||
glibtop_get_proc_segment (&data.proc_segment, pid);
|
glibtop_get_proc_segment (&data.proc_segment, pid);
|
||||||
|
|
||||||
@@ -321,27 +282,6 @@ main (int argc, char *argv [])
|
|||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_start);
|
getrusage (RUSAGE_SELF, &rusage_start);
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++) {
|
|
||||||
char** argv;
|
|
||||||
argv = glibtop_get_proc_argv (&data.proc_args, pid, 0);
|
|
||||||
g_strfreev(argv);
|
|
||||||
}
|
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_end);
|
|
||||||
|
|
||||||
libgtop_timersub (&rusage_end.ru_utime, &rusage_start.ru_utime,
|
|
||||||
&elapsed_utime);
|
|
||||||
|
|
||||||
libgtop_timersub (&rusage_end.ru_stime, &rusage_start.ru_stime,
|
|
||||||
&elapsed_stime);
|
|
||||||
|
|
||||||
printf ("Proc_Args (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
|
|
||||||
(unsigned long) data.proc_args.flags, PROFILE_COUNT,
|
|
||||||
(long double) ELAPSED_UTIME / PROFILE_COUNT,
|
|
||||||
(long double) ELAPSED_STIME / PROFILE_COUNT);
|
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_start);
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
for (c = 0; c < PROFILE_COUNT; c++)
|
||||||
glibtop_get_proc_time (&data.proc_time, pid);
|
glibtop_get_proc_time (&data.proc_time, pid);
|
||||||
|
|
||||||
|
@@ -1,35 +0,0 @@
|
|||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/procwd.h>
|
|
||||||
|
|
||||||
#include <glib.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
|
||||||
{
|
|
||||||
pid_t pid;
|
|
||||||
glibtop_proc_wd buf;
|
|
||||||
char **dirs, **dir;
|
|
||||||
|
|
||||||
if (argc < 2 || !(pid = strtoul(argv[1], NULL, 0)))
|
|
||||||
pid = getpid();
|
|
||||||
|
|
||||||
glibtop_init();
|
|
||||||
|
|
||||||
dirs = glibtop_get_proc_wd(&buf, pid);
|
|
||||||
|
|
||||||
g_print("Process %u:\n"
|
|
||||||
" - root: '%s'\n"
|
|
||||||
" - exe: '%s'\n"
|
|
||||||
" - working directories:\n",
|
|
||||||
(unsigned)pid, buf.root, buf.exe);
|
|
||||||
|
|
||||||
for (dir = dirs; *dir; ++dir)
|
|
||||||
g_print(" - '%s'\n", *dir);
|
|
||||||
|
|
||||||
g_strfreev(dirs);
|
|
||||||
|
|
||||||
glibtop_close();
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
@@ -1,4 +1,4 @@
|
|||||||
void|cpu|ulong(total,user,nice,sys,idle,iowait,irq,softirq,frequency,xcpu_total[4],xcpu_user[4],xcpu_nice[4],xcpu_sys[4],xcpu_idle[4],xcpu_iowait[4],xcpu_irq[4],xcpu_softirq[4])
|
void|cpu|ulong(total,user,nice,sys,idle,frequency,xcpu_total[4],xcpu_user[4],xcpu_nice[4],xcpu_sys[4],xcpu_idle[4])
|
||||||
void|mem|ulong(total,used,free,shared,buffer,cached,user,locked)
|
void|mem|ulong(total,used,free,shared,buffer,cached,user,locked)
|
||||||
void|swap|ulong(total,used,free,pagein,pageout)
|
void|swap|ulong(total,used,free,pagein,pageout)
|
||||||
void|uptime|double(uptime,idletime)
|
void|uptime|double(uptime,idletime)
|
||||||
@@ -6,7 +6,7 @@ void|loadavg|double(loadavg[3]):ulong(nr_running,nr_tasks,last_pid)
|
|||||||
void|shm_limits|ulong(shmmax,shmmin,shmmni,shmseg,shmall)
|
void|shm_limits|ulong(shmmax,shmmin,shmmni,shmseg,shmall)
|
||||||
void|msg_limits|ulong(msgpool,msgmap,msgmax,msgmnb,msgmni,msgssz,msgtql)
|
void|msg_limits|ulong(msgpool,msgmap,msgmax,msgmnb,msgmni,msgssz,msgtql)
|
||||||
void|sem_limits|ulong(semmap,semmni,semmns,semmnu,semmsl,semopm,semume,semusz,semvmx,semaem)
|
void|sem_limits|ulong(semmap,semmni,semmns,semmnu,semmsl,semopm,semume,semusz,semvmx,semaem)
|
||||||
pid_t*|proclist|ulong(number,size,total)|long(which,arg)
|
unsigned *|proclist|ulong(number,size,total)|long(which,arg)
|
||||||
void|proc_state|str(cmd):char(state):ulong(uid,gid)|pid_t(pid)
|
void|proc_state|str(cmd):char(state):ulong(uid,gid)|pid_t(pid)
|
||||||
void|proc_uid|long(uid,euid,gid,egid,pid,ppid,pgrp,session,tty,tpgid,priority,nice)|pid_t(pid)
|
void|proc_uid|long(uid,euid,gid,egid,pid,ppid,pgrp,session,tty,tpgid,priority,nice)|pid_t(pid)
|
||||||
void|proc_mem|long(size,vsize,resident,share,rss,rss_rlim)|pid_t(pid)
|
void|proc_mem|long(size,vsize,resident,share,rss,rss_rlim)|pid_t(pid)
|
||||||
@@ -16,12 +16,7 @@ void|proc_kernel|ulong(k_flags,min_flt,maj_flt,cmin_flt,cmaj_flt,kstk_esp,kstk_e
|
|||||||
void|proc_segment|ulong(text_rss,shlib_rss,data_rss,stack_rss,dirty_size,start_code,end_code,start_stack)|pid_t(pid)
|
void|proc_segment|ulong(text_rss,shlib_rss,data_rss,stack_rss,dirty_size,start_code,end_code,start_stack)|pid_t(pid)
|
||||||
char *|proc_args|ulong(size)|pid_t(pid):unsigned(max_len)
|
char *|proc_args|ulong(size)|pid_t(pid):unsigned(max_len)
|
||||||
glibtop_map_entry *|proc_map|ulong(number,size,total)|pid_t(pid)
|
glibtop_map_entry *|proc_map|ulong(number,size,total)|pid_t(pid)
|
||||||
glibtop_open_files_entry *|proc_open_files|ulong(number)|pid_t(pid)
|
|
||||||
glibtop_mountentry *|@mountlist|ulong(number,size,total)|int(all_fs)
|
glibtop_mountentry *|@mountlist|ulong(number,size,total)|int(all_fs)
|
||||||
void|@fsusage|ulong(blocks,bfree,bavail,files,ffree)|string|mount_dir
|
void|@fsusage|ulong(blocks,bfree,bavail,files,ffree)|string|mount_dir
|
||||||
void|netload|ulong(if_flags,mtu,subnet,address,packets_in,packets_out,packets_total,bytes_in,bytes_out,bytes_total,errors_in,errors_out,errors_total,collisions)|string|interface
|
void|netload|ulong(if_flags,mtu,subnet,address,packets_in,packets_out,packets_total,bytes_in,bytes_out,bytes_total,errors_in,errors_out,errors_total,collisions)|string|interface
|
||||||
void|ppp|ulong(state,bytes_in,bytes_out)|ushort(device)
|
void|ppp|ulong(state,bytes_in,bytes_out)|ushort(device)
|
||||||
char **|netlist|unsigned(number)
|
|
||||||
char **|proc_wd|ulong(number),str(root),str(exe)|pid_t(pid)
|
|
||||||
guint16*|proc_affinity|ulong(number),int(all)|pid_t(pid)
|
|
||||||
|
|
||||||
|
100
glibtop.h
100
glibtop.h
@@ -1,3 +1,5 @@
|
|||||||
|
/* $Id$ */
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
/* Copyright (C) 1998-99 Martin Baulig
|
||||||
This file is part of LibGTop 1.0.
|
This file is part of LibGTop 1.0.
|
||||||
|
|
||||||
@@ -22,37 +24,10 @@
|
|||||||
#ifndef __GLIBTOP_H__
|
#ifndef __GLIBTOP_H__
|
||||||
#define __GLIBTOP_H__
|
#define __GLIBTOP_H__
|
||||||
|
|
||||||
#include <glib/gmacros.h>
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
|
||||||
|
|
||||||
typedef struct _glibtop glibtop;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* LIBGTOP_CHECK_VERSION
|
|
||||||
* @major: Major version number
|
|
||||||
* @minor: Minor version number
|
|
||||||
* @micro: Micro version number
|
|
||||||
*
|
|
||||||
* Checks if the version given is compatable with this version of the
|
|
||||||
* library. For example, LIBGTOP_CHECK_VERSION(1.2.3) would return TRUE
|
|
||||||
* if the version is 1.2.5, and FALSE if 1.1.0. This can be used in
|
|
||||||
* build tests.
|
|
||||||
*
|
|
||||||
**/
|
|
||||||
|
|
||||||
#include <libgtopconfig.h>
|
|
||||||
|
|
||||||
#define LIBGTOP_CHECK_VERSION(major, minor, micro) \
|
|
||||||
(LIBGTOP_MAJOR_VERSION > (major) || \
|
|
||||||
(LIBGTOP_MAJOR_VERSION == (major) && LIBGTOP_MINOR_VERSION > (minor)) || \
|
|
||||||
(LIBGTOP_MAJOR_VERSION == (major) && LIBGTOP_MINOR_VERSION == (minor) && \
|
|
||||||
LIBGTOP_MICRO_VERSION >= (micro)))
|
|
||||||
|
|
||||||
|
|
||||||
#include <glibtop/global.h>
|
#include <glibtop/global.h>
|
||||||
|
|
||||||
#include <glibtop_server.h>
|
#include <glibtop_server.h>
|
||||||
|
#include <glibtop/types.h>
|
||||||
|
|
||||||
#ifdef HAVE_GLIBTOP_MACHINE_H
|
#ifdef HAVE_GLIBTOP_MACHINE_H
|
||||||
#include <glibtop_machine.h>
|
#include <glibtop_machine.h>
|
||||||
@@ -62,25 +37,22 @@ LIBGTOP_MICRO_VERSION >= (micro)))
|
|||||||
#define GLIBTOP_MOUNTENTRY_LEN 79
|
#define GLIBTOP_MOUNTENTRY_LEN 79
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
typedef struct _glibtop glibtop;
|
||||||
|
|
||||||
#include <glibtop/sysdeps.h>
|
#include <glibtop/sysdeps.h>
|
||||||
|
|
||||||
#include <glibtop/close.h>
|
struct _glibtop
|
||||||
|
{
|
||||||
|
unsigned flags;
|
||||||
|
unsigned method; /* Server Method */
|
||||||
|
unsigned error_method; /* Error Method */
|
||||||
#ifdef HAVE_GLIBTOP_MACHINE_H
|
#ifdef HAVE_GLIBTOP_MACHINE_H
|
||||||
|
|
||||||
struct _glibtop
|
|
||||||
{
|
|
||||||
unsigned flags;
|
|
||||||
unsigned method; /* Server Method */
|
|
||||||
unsigned error_method; /* Error Method */
|
|
||||||
glibtop_machine machine; /* Machine dependent data */
|
glibtop_machine machine; /* Machine dependent data */
|
||||||
|
#endif
|
||||||
int input [2]; /* Pipe client <- server */
|
int input [2]; /* Pipe client <- server */
|
||||||
int output [2]; /* Pipe client -> server */
|
int output [2]; /* Pipe client -> server */
|
||||||
int socket; /* Accepted connection of a socket */
|
int socket; /* Accepted connection of a socket */
|
||||||
int ncpu; /* Number of CPUs, zero if single-processor */
|
int ncpu; /* Number of CPUs, zero if single-processor */
|
||||||
int real_ncpu; /* Real number of CPUs. Only ncpu are monitored */
|
|
||||||
unsigned long os_version_code; /* Version code of the operating system */
|
unsigned long os_version_code; /* Version code of the operating system */
|
||||||
const char *name; /* Program name for error messages */
|
const char *name; /* Program name for error messages */
|
||||||
const char *server_command; /* Command used to invoke server */
|
const char *server_command; /* Command used to invoke server */
|
||||||
@@ -94,39 +66,13 @@ struct _glibtop
|
|||||||
pid_t pid; /* PID of the server */
|
pid_t pid; /* PID of the server */
|
||||||
};
|
};
|
||||||
|
|
||||||
#else /* !HAVE_GLIBTOP_MACHINE_H */
|
|
||||||
|
|
||||||
struct _glibtop
|
|
||||||
{
|
|
||||||
unsigned flags;
|
|
||||||
unsigned method; /* Server Method */
|
|
||||||
unsigned error_method; /* Error Method */
|
|
||||||
int input [2]; /* Pipe client <- server */
|
|
||||||
int output [2]; /* Pipe client -> server */
|
|
||||||
int socket; /* Accepted connection of a socket */
|
|
||||||
int ncpu; /* Number of CPUs, zero if single-processor */
|
|
||||||
int real_ncpu; /* Real number of CPUs. Only ncpu are monitored */
|
|
||||||
unsigned long os_version_code; /* Version code of the operating system */
|
|
||||||
const char *name; /* Program name for error messages */
|
|
||||||
const char *server_command; /* Command used to invoke server */
|
|
||||||
const char *server_host; /* Host the server should run on */
|
|
||||||
const char *server_user; /* Name of the user on the target host */
|
|
||||||
const char *server_rsh; /* Command used to connect to the target host */
|
|
||||||
unsigned long features; /* Server is required for this features */
|
|
||||||
unsigned long server_port; /* Port on which daemon is listening */
|
|
||||||
glibtop_sysdeps sysdeps; /* Detailed feature list */
|
|
||||||
glibtop_sysdeps required; /* Required feature list */
|
|
||||||
pid_t pid; /* PID of the server */
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif /* HAVE_GLIBTOP_MACHINE_H */
|
|
||||||
|
|
||||||
extern glibtop *glibtop_global_server;
|
extern glibtop *glibtop_global_server;
|
||||||
|
|
||||||
extern const unsigned long glibtop_server_features;
|
extern const unsigned long glibtop_server_features;
|
||||||
|
|
||||||
glibtop *
|
#define glibtop_init() glibtop_init_r(&glibtop_global_server, 0, 0);
|
||||||
glibtop_init (void);
|
|
||||||
|
#define glibtop_close() glibtop_close_r(glibtop_global_server);
|
||||||
|
|
||||||
glibtop *
|
glibtop *
|
||||||
glibtop_init_r (glibtop **server_ptr,
|
glibtop_init_r (glibtop **server_ptr,
|
||||||
@@ -138,6 +84,24 @@ glibtop_init_s (glibtop **server_ptr,
|
|||||||
unsigned long features,
|
unsigned long features,
|
||||||
unsigned flags);
|
unsigned flags);
|
||||||
|
|
||||||
G_END_DECLS
|
#ifdef GLIBTOP_GUILE
|
||||||
|
|
||||||
|
/* You need to link with -lgtop_guile to get this stuff here. */
|
||||||
|
|
||||||
|
void glibtop_boot_guile (void);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef GLIBTOP_GUILE_NAMES
|
||||||
|
|
||||||
|
/* You need to link with -lgtop_guile_names to get this stuff here. */
|
||||||
|
|
||||||
|
void glibtop_boot_guile_names (void);
|
||||||
|
|
||||||
|
#ifndef GLIBTOP_NAMES
|
||||||
|
#define GLIBTOP_NAMES
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
2
include/.cvsignore
Normal file
2
include/.cvsignore
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
Makefile
|
||||||
|
Makefile.in
|
2
include/glibtop/.cvsignore
Normal file
2
include/glibtop/.cvsignore
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
Makefile
|
||||||
|
Makefile.in
|
@@ -3,12 +3,8 @@ glibtopdir = $(includedir)/libgtop-2.0/glibtop
|
|||||||
glibtop_HEADERS = close.h loadavg.h prockernel.h procstate.h \
|
glibtop_HEADERS = close.h loadavg.h prockernel.h procstate.h \
|
||||||
sem_limits.h uptime.h command.h mem.h proclist.h \
|
sem_limits.h uptime.h command.h mem.h proclist.h \
|
||||||
proctime.h shm_limits.h version.h cpu.h msg_limits.h \
|
proctime.h shm_limits.h version.h cpu.h msg_limits.h \
|
||||||
procmem.h procuid.h swap.h \
|
procmem.h procuid.h swap.h write.h error.h open.h \
|
||||||
procsegment.h sysdeps.h global.h \
|
procsegment.h read.h sysdeps.h xmalloc.h global.h \
|
||||||
procsignal.h union.h gnuserv.h \
|
procsignal.h read_data.h union.h types.h gnuserv.h \
|
||||||
parameter.h mountlist.h fsusage.h procmap.h signal.h \
|
parameter.h mountlist.h fsusage.h procmap.h signal.h \
|
||||||
sysinfo.h ppp.h procargs.h netload.h \
|
inodedb.h sysinfo.h ppp.h procargs.h netload.h
|
||||||
procwd.h procaffinity.h \
|
|
||||||
netlist.h procopenfiles.h open.h
|
|
||||||
|
|
||||||
noinst_HEADERS = error.h write.h read_data.h read.h init_hooks.h
|
|
||||||
|
@@ -1,116 +0,0 @@
|
|||||||
#!/usr/bin/perl
|
|
||||||
|
|
||||||
require 'c_types.pl';
|
|
||||||
|
|
||||||
die "Usage: $0 features.def call-vector.h.in" unless $#ARGV == 1;
|
|
||||||
|
|
||||||
$[ = 1; # set array base to 1
|
|
||||||
$, = ' '; # set output field separator
|
|
||||||
$\ = "\n"; # set output record separator
|
|
||||||
|
|
||||||
sub toupper {
|
|
||||||
local($_) = @_;
|
|
||||||
tr/a-z/A-Z/;
|
|
||||||
return $_;
|
|
||||||
}
|
|
||||||
|
|
||||||
sub tolower {
|
|
||||||
local($_) = @_;
|
|
||||||
tr/A-Z/a-z/;
|
|
||||||
return $_;
|
|
||||||
}
|
|
||||||
|
|
||||||
$func_decl_code = '';
|
|
||||||
|
|
||||||
open FEATURESDEF, $ARGV[1] or
|
|
||||||
die "open ($ARGV[1]): $!";
|
|
||||||
|
|
||||||
while (<FEATURESDEF>) {
|
|
||||||
chop; # strip record separator
|
|
||||||
|
|
||||||
if (/^[^\#]/) {
|
|
||||||
&parse_features_def ($_);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
close FEATURESDEF;
|
|
||||||
|
|
||||||
sub parse_features_def {
|
|
||||||
local($line) = @_;
|
|
||||||
@line_fields = split(/\|/, $line, 9999);
|
|
||||||
$retval = $line_fields[1];
|
|
||||||
$element_def = $line_fields[3];
|
|
||||||
$feature = $line_fields[2];
|
|
||||||
$param_def = $line_fields[4];
|
|
||||||
|
|
||||||
$orig = $feature;
|
|
||||||
$feature =~ s/^@//;
|
|
||||||
$space = $feature;
|
|
||||||
$space =~ s/./ /g;
|
|
||||||
|
|
||||||
if ($retval eq 'retval') {
|
|
||||||
$retval_param = '&retval';
|
|
||||||
$retval = 'int';
|
|
||||||
}
|
|
||||||
elsif ($retval !~ /^void$/) {
|
|
||||||
$retval_param = 'NULL';
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$retval_param = 'NULL';
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($retval =~ /^(array|pointer)\((.*)\)$/) {
|
|
||||||
$retval = ($2 eq 'string') ? 'char **' : "$2 *";
|
|
||||||
}
|
|
||||||
|
|
||||||
$param_decl = '';
|
|
||||||
$nr_params = (@params = split(/:/, $param_def, 9999));
|
|
||||||
for ($param = 1; $param <= $nr_params; $param++) {
|
|
||||||
$list = $params[$param];
|
|
||||||
$type = $params[$param];
|
|
||||||
$type =~ s/\(.*//;
|
|
||||||
$list =~ s/^.*\(//;
|
|
||||||
$list =~ s/\)$//;
|
|
||||||
$count = (@fields = split(/,/, $list, 9999));
|
|
||||||
for ($field = 1; $field <= $count; $field++) {
|
|
||||||
my $c_type = $typeinfo->{$type}->[1];
|
|
||||||
|
|
||||||
$param_decl = $param_decl . ', ';
|
|
||||||
$param_decl = $param_decl . $c_type;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($line_fields[3] eq '') {
|
|
||||||
$func_decl_code .= sprintf
|
|
||||||
(qq[\t%s (*%s) (glibtop_server *, glibtop_closure *%s);\n], $retval, $feature, $param_decl);
|
|
||||||
} elsif ($line_fields[3] eq 'array') {
|
|
||||||
$func_decl_code .= sprintf
|
|
||||||
(qq[\t%s (*%s) (glibtop_server *, glibtop_closure *, glibtop_array *%s);\n], $retval, $feature, $param_decl);
|
|
||||||
} elsif ($line_fields[3] =~ /^array/) {
|
|
||||||
$func_decl_code .= sprintf
|
|
||||||
(qq[\t%s (*%s) (glibtop_server *, glibtop_closure *, glibtop_array *, %s *%s);\n], $retval, $feature, 'glibtop_'.$feature, $param_decl);
|
|
||||||
} else {
|
|
||||||
$func_decl_code .= sprintf
|
|
||||||
(qq[\t%s (*%s) (glibtop_server *, glibtop_closure *, %s *%s);\n], $retval, $feature, 'glibtop_'.$feature, $param_decl);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
chop $func_decl_code;
|
|
||||||
|
|
||||||
$auto_gen_comment = sprintf
|
|
||||||
(qq[/*\n * This file is automatically generated.\n * Please modify `call-vector.pl' and `call-vector.h.in'.\n */]);
|
|
||||||
|
|
||||||
open CALLVECTOR, $ARGV[2] or
|
|
||||||
die "open ($ARGV[2]): $!";
|
|
||||||
|
|
||||||
while (<CALLVECTOR>) {
|
|
||||||
chop;
|
|
||||||
|
|
||||||
s/^\s*\@\@GLIBTOP_CALL_VECTOR\@\@\s*$/$func_decl_code/;
|
|
||||||
|
|
||||||
s/^\s*\@\@AUTOGEN_COMMENT\@\@\s*$/$auto_gen_comment/;
|
|
||||||
} continue {
|
|
||||||
print $_;
|
|
||||||
}
|
|
||||||
|
|
||||||
close CALLVECTOR;
|
|
@@ -1,3 +1,5 @@
|
|||||||
|
/* $Id$ */
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
/* Copyright (C) 1998-99 Martin Baulig
|
||||||
This file is part of LibGTop 1.0.
|
This file is part of LibGTop 1.0.
|
||||||
|
|
||||||
@@ -24,15 +26,13 @@
|
|||||||
|
|
||||||
#include <glibtop.h>
|
#include <glibtop.h>
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
BEGIN_LIBGTOP_DECLS
|
||||||
|
|
||||||
void glibtop_close (void);
|
|
||||||
|
|
||||||
void glibtop_close_r (glibtop *server);
|
void glibtop_close_r (glibtop *server);
|
||||||
|
|
||||||
void glibtop_close_s (glibtop *server);
|
void glibtop_close_s (glibtop *server);
|
||||||
void glibtop_close_p (glibtop *server);
|
void glibtop_close_p (glibtop *server);
|
||||||
|
|
||||||
G_END_DECLS
|
END_LIBGTOP_DECLS
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
/* $Id$ */
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
/* Copyright (C) 1998-99 Martin Baulig
|
||||||
This file is part of LibGTop 1.0.
|
This file is part of LibGTop 1.0.
|
||||||
|
|
||||||
@@ -26,7 +28,7 @@
|
|||||||
#include <glibtop/sysdeps.h>
|
#include <glibtop/sysdeps.h>
|
||||||
#include <glibtop/union.h>
|
#include <glibtop/union.h>
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
BEGIN_LIBGTOP_DECLS
|
||||||
|
|
||||||
#define GLIBTOP_CMND_QUIT 0
|
#define GLIBTOP_CMND_QUIT 0
|
||||||
#define GLIBTOP_CMND_SYSDEPS 1
|
#define GLIBTOP_CMND_SYSDEPS 1
|
||||||
@@ -55,12 +57,8 @@ G_BEGIN_DECLS
|
|||||||
#define GLIBTOP_CMND_FSUSAGE 21
|
#define GLIBTOP_CMND_FSUSAGE 21
|
||||||
#define GLIBTOP_CMND_NETLOAD 22
|
#define GLIBTOP_CMND_NETLOAD 22
|
||||||
#define GLIBTOP_CMND_PPP 23
|
#define GLIBTOP_CMND_PPP 23
|
||||||
#define GLIBTOP_CMND_NETLIST 24
|
|
||||||
#define GLIBTOP_CMND_PROC_OPEN_FILES 25
|
|
||||||
#define GLIBTOP_CMND_PROC_WD 26
|
|
||||||
#define GLIBTOP_CMND_PROC_AFFINITY 27
|
|
||||||
|
|
||||||
#define GLIBTOP_MAX_CMND 28
|
#define GLIBTOP_MAX_CMND 24
|
||||||
|
|
||||||
#define _GLIBTOP_PARAM_SIZE 16
|
#define _GLIBTOP_PARAM_SIZE 16
|
||||||
|
|
||||||
@@ -71,8 +69,8 @@ typedef union _glibtop_response_union glibtop_response_union;
|
|||||||
|
|
||||||
struct _glibtop_command
|
struct _glibtop_command
|
||||||
{
|
{
|
||||||
guint64 command;
|
u_int64_t command;
|
||||||
guint64 size, data_size;
|
u_int64_t size, data_size;
|
||||||
char parameter [_GLIBTOP_PARAM_SIZE];
|
char parameter [_GLIBTOP_PARAM_SIZE];
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -84,8 +82,8 @@ union _glibtop_response_union
|
|||||||
|
|
||||||
struct _glibtop_response
|
struct _glibtop_response
|
||||||
{
|
{
|
||||||
gint64 offset;
|
int64_t offset;
|
||||||
guint64 size, data_size;
|
u_int64_t size, data_size;
|
||||||
glibtop_response_union u;
|
glibtop_response_union u;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -99,6 +97,6 @@ void *
|
|||||||
glibtop_call_s (glibtop *server, unsigned command, size_t send_size,
|
glibtop_call_s (glibtop *server, unsigned command, size_t send_size,
|
||||||
const void *send_buf, size_t recv_size, void *recv_buf);
|
const void *send_buf, size_t recv_size, void *recv_buf);
|
||||||
|
|
||||||
G_END_DECLS
|
END_LIBGTOP_DECLS
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
/* $Id$ */
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
/* Copyright (C) 1998-99 Martin Baulig
|
||||||
This file is part of LibGTop 1.0.
|
This file is part of LibGTop 1.0.
|
||||||
|
|
||||||
@@ -25,7 +27,7 @@
|
|||||||
#include <glibtop.h>
|
#include <glibtop.h>
|
||||||
#include <glibtop/global.h>
|
#include <glibtop/global.h>
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
BEGIN_LIBGTOP_DECLS
|
||||||
|
|
||||||
#define GLIBTOP_CPU_TOTAL 0
|
#define GLIBTOP_CPU_TOTAL 0
|
||||||
#define GLIBTOP_CPU_USER 1
|
#define GLIBTOP_CPU_USER 1
|
||||||
@@ -39,49 +41,31 @@ G_BEGIN_DECLS
|
|||||||
#define GLIBTOP_XCPU_NICE 8
|
#define GLIBTOP_XCPU_NICE 8
|
||||||
#define GLIBTOP_XCPU_SYS 9
|
#define GLIBTOP_XCPU_SYS 9
|
||||||
#define GLIBTOP_XCPU_IDLE 10
|
#define GLIBTOP_XCPU_IDLE 10
|
||||||
#define GLIBTOP_XCPU_FLAGS 11
|
|
||||||
|
|
||||||
#define GLIBTOP_CPU_IOWAIT 12
|
#define GLIBTOP_MAX_CPU 11
|
||||||
#define GLIBTOP_CPU_IRQ 13
|
|
||||||
#define GLIBTOP_CPU_SOFTIRQ 14
|
|
||||||
#define GLIBTOP_XCPU_IOWAIT 15
|
|
||||||
#define GLIBTOP_XCPU_IRQ 16
|
|
||||||
#define GLIBTOP_XCPU_SOFTIRQ 17
|
|
||||||
|
|
||||||
#define GLIBTOP_MAX_CPU 18
|
/* Nobody should really be using more than 4 processors. */
|
||||||
|
#define GLIBTOP_NCPU 4
|
||||||
/* Nobody should really be using more than 4 processors.
|
|
||||||
Yes we are :)
|
|
||||||
Nobody should really be using more than 32 processors.
|
|
||||||
*/
|
|
||||||
#define GLIBTOP_NCPU 32
|
|
||||||
|
|
||||||
typedef struct _glibtop_cpu glibtop_cpu;
|
typedef struct _glibtop_cpu glibtop_cpu;
|
||||||
|
|
||||||
struct _glibtop_cpu
|
struct _glibtop_cpu
|
||||||
{
|
{
|
||||||
guint64 flags;
|
u_int64_t flags,
|
||||||
guint64 total; /* GLIBTOP_CPU_TOTAL */
|
total, /* GLIBTOP_CPU_TOTAL */
|
||||||
guint64 user; /* GLIBTOP_CPU_USER */
|
user, /* GLIBTOP_CPU_USER */
|
||||||
guint64 nice; /* GLIBTOP_CPU_NICE */
|
nice, /* GLIBTOP_CPU_NICE */
|
||||||
guint64 sys; /* GLIBTOP_CPU_SYS */
|
sys, /* GLIBTOP_CPU_SYS */
|
||||||
guint64 idle; /* GLIBTOP_CPU_IDLE */
|
idle, /* GLIBTOP_CPU_IDLE */
|
||||||
guint64 iowait; /* GLIBTOP_CPU_IOWAIT */
|
frequency, /* GLIBTOP_CPU_FREQUENCY */
|
||||||
guint64 irq; /* GLIBTOP_CPU_IRQ */
|
xcpu_total [GLIBTOP_NCPU], /* GLIBTOP_XCPU_TOTAL */
|
||||||
guint64 softirq; /* GLIBTOP_CPU_SOFTIRQ */
|
xcpu_user [GLIBTOP_NCPU], /* GLIBTOP_XCPU_USER */
|
||||||
guint64 frequency; /* GLIBTOP_CPU_FREQUENCY */
|
xcpu_nice [GLIBTOP_NCPU], /* GLIBTOP_XCPU_NICE */
|
||||||
guint64 xcpu_total [GLIBTOP_NCPU]; /* GLIBTOP_XCPU_TOTAL */
|
xcpu_sys [GLIBTOP_NCPU], /* GLIBTOP_XCPU_SYS */
|
||||||
guint64 xcpu_user [GLIBTOP_NCPU]; /* GLIBTOP_XCPU_USER */
|
xcpu_idle [GLIBTOP_NCPU]; /* GLIBTOP_XCPU_IDLE */
|
||||||
guint64 xcpu_nice [GLIBTOP_NCPU]; /* GLIBTOP_XCPU_NICE */
|
|
||||||
guint64 xcpu_sys [GLIBTOP_NCPU]; /* GLIBTOP_XCPU_SYS */
|
|
||||||
guint64 xcpu_idle [GLIBTOP_NCPU]; /* GLIBTOP_XCPU_IDLE */
|
|
||||||
guint64 xcpu_iowait [GLIBTOP_NCPU]; /* GLIBTOP_XCPU_IOWAIT */
|
|
||||||
guint64 xcpu_irq [GLIBTOP_NCPU]; /* GLIBTOP_XCPU_IRQ */
|
|
||||||
guint64 xcpu_softirq [GLIBTOP_NCPU]; /* GLIBTOP_XCPU_SOFTIRQ */
|
|
||||||
guint64 xcpu_flags; /* GLIBTOP_XCPU_IDLE */
|
|
||||||
};
|
};
|
||||||
|
|
||||||
void glibtop_get_cpu(glibtop_cpu *buf);
|
#define glibtop_get_cpu(cpu) glibtop_get_cpu_l(glibtop_global_server, cpu)
|
||||||
|
|
||||||
#if GLIBTOP_SUID_CPU
|
#if GLIBTOP_SUID_CPU
|
||||||
#define glibtop_get_cpu_r glibtop_get_cpu_p
|
#define glibtop_get_cpu_r glibtop_get_cpu_p
|
||||||
@@ -92,14 +76,24 @@ void glibtop_get_cpu(glibtop_cpu *buf);
|
|||||||
void glibtop_get_cpu_l (glibtop *server, glibtop_cpu *buf);
|
void glibtop_get_cpu_l (glibtop *server, glibtop_cpu *buf);
|
||||||
|
|
||||||
#if GLIBTOP_SUID_CPU
|
#if GLIBTOP_SUID_CPU
|
||||||
void _glibtop_init_cpu_p (glibtop *server);
|
void glibtop_init_cpu_p (glibtop *server);
|
||||||
void glibtop_get_cpu_p (glibtop *server, glibtop_cpu *buf);
|
void glibtop_get_cpu_p (glibtop *server, glibtop_cpu *buf);
|
||||||
#else
|
#else
|
||||||
void _glibtop_init_cpu_s (glibtop *server);
|
void glibtop_init_cpu_s (glibtop *server);
|
||||||
void glibtop_get_cpu_s (glibtop *server, glibtop_cpu *buf);
|
void glibtop_get_cpu_s (glibtop *server, glibtop_cpu *buf);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef GLIBTOP_NAMES
|
||||||
|
|
||||||
G_END_DECLS
|
/* You need to link with -lgtop_names to get this stuff here. */
|
||||||
|
|
||||||
|
extern const char *glibtop_names_cpu [];
|
||||||
|
extern const unsigned glibtop_types_cpu [];
|
||||||
|
extern const char *glibtop_labels_cpu [];
|
||||||
|
extern const char *glibtop_descriptions_cpu [];
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
END_LIBGTOP_DECLS
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
/* $Id$ */
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
/* Copyright (C) 1998-99 Martin Baulig
|
||||||
This file is part of LibGTop 1.0.
|
This file is part of LibGTop 1.0.
|
||||||
|
|
||||||
@@ -19,33 +21,116 @@
|
|||||||
Boston, MA 02111-1307, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This is private API
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_ERROR_H__
|
#ifndef __GLIBTOP_ERROR_H__
|
||||||
#define __GLIBTOP_ERROR_H__
|
#define __GLIBTOP_ERROR_H__
|
||||||
|
|
||||||
#include <glibtop.h>
|
#include <glibtop.h>
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
BEGIN_LIBGTOP_DECLS
|
||||||
|
|
||||||
void glibtop_error_vr (glibtop *server, const char *format, va_list args) G_GNUC_NORETURN;
|
#ifndef G_GNUC_UNUSED
|
||||||
void glibtop_warn_vr (glibtop *server, const char *format, va_list args);
|
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
|
||||||
void glibtop_error_io_vr (glibtop *server, const char *format, int, va_list args) G_GNUC_NORETURN;
|
#define G_GNUC_UNUSED \
|
||||||
void glibtop_warn_io_vr (glibtop *server, const char *format, int, va_list args);
|
__attribute__((unused))
|
||||||
|
#else /* !__GNUC__ */
|
||||||
|
#define G_GNUC_UNUSED
|
||||||
|
#endif /* !__GNUC__ */
|
||||||
|
#endif /* defined G_GNUC_UNUSED */
|
||||||
|
|
||||||
void glibtop_error_r (glibtop *server, const char *format, ...) G_GNUC_PRINTF(2, 3) G_GNUC_NORETURN;
|
void glibtop_error_vr (glibtop *server, char *format, va_list args);
|
||||||
void glibtop_warn_r (glibtop *server, const char *format, ...) G_GNUC_PRINTF(2, 3);
|
void glibtop_warn_vr (glibtop *server, char *format, va_list args);
|
||||||
void glibtop_error_io_r (glibtop *server, const char *format, ...) G_GNUC_PRINTF(2, 3) G_GNUC_NORETURN;
|
|
||||||
void glibtop_warn_io_r (glibtop *server, const char *format, ...) G_GNUC_PRINTF(2, 3);
|
|
||||||
|
|
||||||
void glibtop_error (const char *format, ...) G_GNUC_PRINTF(1, 2) G_GNUC_NORETURN;
|
void glibtop_error_io_vr (glibtop *server, char *format, int, va_list args);
|
||||||
void glibtop_warn (const char *format, ...) G_GNUC_PRINTF(1, 2);
|
void glibtop_warn_io_vr (glibtop *server, char *format, int, va_list args);
|
||||||
void glibtop_error_io (const char *format, ...) G_GNUC_PRINTF(1, 2) G_GNUC_NORETURN;
|
|
||||||
void glibtop_warn_io (const char *format, ...) G_GNUC_PRINTF(1, 2);
|
|
||||||
|
|
||||||
G_END_DECLS
|
static void G_GNUC_UNUSED
|
||||||
|
glibtop_error_r (glibtop *server, char *format, ...)
|
||||||
|
{
|
||||||
|
va_list args;
|
||||||
|
|
||||||
|
va_start (args, format);
|
||||||
|
glibtop_error_vr (server, format, args);
|
||||||
|
va_end (args);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void G_GNUC_UNUSED
|
||||||
|
glibtop_warn_r (glibtop *server, char *format, ...)
|
||||||
|
{
|
||||||
|
va_list args;
|
||||||
|
|
||||||
|
va_start (args, format);
|
||||||
|
glibtop_warn_vr (server, format, args);
|
||||||
|
va_end (args);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void G_GNUC_UNUSED
|
||||||
|
glibtop_error_io_r (glibtop *server, char *format, ...)
|
||||||
|
{
|
||||||
|
va_list args;
|
||||||
|
|
||||||
|
va_start (args, format);
|
||||||
|
glibtop_error_io_vr (server, format, errno, args);
|
||||||
|
va_end (args);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void G_GNUC_UNUSED
|
||||||
|
glibtop_warn_io_r (glibtop *server, char *format, ...)
|
||||||
|
{
|
||||||
|
va_list args;
|
||||||
|
|
||||||
|
va_start (args, format);
|
||||||
|
glibtop_warn_io_vr (server, format, errno, args);
|
||||||
|
va_end (args);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __GNUC__
|
||||||
|
|
||||||
|
#define glibtop_error(p1, args...) glibtop_error_r(glibtop_global_server , p1 , ## args)
|
||||||
|
#define glibtop_warn(p1, args...) glibtop_warn_r(glibtop_global_server , p1 , ## args)
|
||||||
|
|
||||||
|
#define glibtop_error_io(p1, args...) glibtop_error_io_r(glibtop_global_server , p1 , ## args)
|
||||||
|
#define glibtop_warn_io(p1, args...) glibtop_warn_io_r(glibtop_global_server , p1 , ## args)
|
||||||
|
|
||||||
|
#else /* no __GNUC__ */
|
||||||
|
|
||||||
|
static void
|
||||||
|
glibtop_error (char *format, ...)
|
||||||
|
{
|
||||||
|
va_list args;
|
||||||
|
va_start (args, format);
|
||||||
|
glibtop_error_vr (glibtop_global_server, format, args);
|
||||||
|
va_end (args);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
glibtop_warn (char *format, ...)
|
||||||
|
{
|
||||||
|
va_list args;
|
||||||
|
va_start (args, format);
|
||||||
|
glibtop_warn_vr (glibtop_global_server, format, args);
|
||||||
|
va_end (args);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
glibtop_error_io (char *format, ...)
|
||||||
|
{
|
||||||
|
va_list args;
|
||||||
|
va_start (args, format);
|
||||||
|
glibtop_error_io_vr (glibtop_global_server, format, errno, args);
|
||||||
|
va_end (args);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
glibtop_warn_io (char *format, ...)
|
||||||
|
{
|
||||||
|
va_list args;
|
||||||
|
va_start (args, format);
|
||||||
|
glibtop_warn_io_vr (glibtop_global_server, format, errno, args);
|
||||||
|
va_end (args);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* no __GNUC__ */
|
||||||
|
|
||||||
|
END_LIBGTOP_DECLS
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -1,4 +1,7 @@
|
|||||||
|
/* $Id$ */
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
/* Copyright (C) 1998-99 Martin Baulig
|
||||||
|
This file is part of LibGTop 1.0.
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
||||||
|
|
||||||
@@ -24,41 +27,46 @@
|
|||||||
#include <glibtop.h>
|
#include <glibtop.h>
|
||||||
#include <glibtop/global.h>
|
#include <glibtop/global.h>
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
BEGIN_LIBGTOP_DECLS
|
||||||
|
|
||||||
#define GLIBTOP_FSUSAGE_BLOCKS 0
|
#define GLIBTOP_FSUSAGE_BLOCKS 0
|
||||||
#define GLIBTOP_FSUSAGE_BFREE 1
|
#define GLIBTOP_FSUSAGE_BFREE 1
|
||||||
#define GLIBTOP_FSUSAGE_BAVAIL 2
|
#define GLIBTOP_FSUSAGE_BAVAIL 2
|
||||||
#define GLIBTOP_FSUSAGE_FILES 3
|
#define GLIBTOP_FSUSAGE_FILES 3
|
||||||
#define GLIBTOP_FSUSAGE_FFREE 4
|
#define GLIBTOP_FSUSAGE_FFREE 4
|
||||||
#define GLIBTOP_FSUSAGE_BLOCK_SIZE 5
|
|
||||||
#define GLIBTOP_FSUSAGE_READ 6
|
|
||||||
#define GLIBTOP_FSUSAGE_WRITE 7
|
|
||||||
#define GLIBTOP_MAX_FSUSAGE 8
|
|
||||||
|
|
||||||
|
#define GLIBTOP_MAX_FSUSAGE 5
|
||||||
|
|
||||||
typedef struct _glibtop_fsusage glibtop_fsusage;
|
typedef struct _glibtop_fsusage glibtop_fsusage;
|
||||||
|
|
||||||
struct _glibtop_fsusage
|
struct _glibtop_fsusage
|
||||||
{
|
{
|
||||||
guint64 flags;
|
u_int64_t flags,
|
||||||
guint64 blocks; /* Total number of blocks. */
|
blocks, /* Total blocks. */
|
||||||
guint64 bfree; /* Free blocks available to superuser. */
|
bfree, /* Free blocks available to superuser. */
|
||||||
guint64 bavail; /* Free blocks available to non-superuser. */
|
bavail, /* Free blocks available to non-superuser. */
|
||||||
guint64 files; /* Total file nodes. */
|
files, /* Total file nodes. */
|
||||||
guint64 ffree; /* Free file nodes. */
|
ffree; /* Free file nodes. */
|
||||||
guint32 block_size; /* Size of a block in bytes. */
|
|
||||||
guint64 read, write; /* Total blocks read and written */
|
|
||||||
};
|
};
|
||||||
|
|
||||||
void glibtop_get_fsusage(glibtop_fsusage *buf, const char *mount_dir);
|
#define glibtop_get_fsusage(fsusage,disk) glibtop_get_fsusage_l(glibtop_global_server, fsusage, disk)
|
||||||
|
|
||||||
#define glibtop_get_fsusage_r glibtop_get_fsusage_s
|
#define glibtop_get_fsusage_r glibtop_get_fsusage_s
|
||||||
|
|
||||||
void glibtop_get_fsusage_l (glibtop *server, glibtop_fsusage *buf, const char *mount_dir);
|
void glibtop_get_fsusage_l (glibtop *server, glibtop_fsusage *buf, const char *mount_dir);
|
||||||
void glibtop_get_fsusage_s (glibtop *server, glibtop_fsusage *buf, const char *mount_dir);
|
void glibtop_get_fsusage_s (glibtop *server, glibtop_fsusage *buf, const char *mount_dir);
|
||||||
|
|
||||||
|
#ifdef GLIBTOP_NAMES
|
||||||
|
|
||||||
G_END_DECLS
|
/* You need to link with -lgtop_names to get this stuff here. */
|
||||||
|
|
||||||
|
extern const char *glibtop_names_fsusage [];
|
||||||
|
extern const unsigned glibtop_types_fsusage [];
|
||||||
|
extern const char *glibtop_labels_fsusage [];
|
||||||
|
extern const char *glibtop_descriptions_fsusage [];
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
END_LIBGTOP_DECLS
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
/* $Id$ */
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
/* Copyright (C) 1998-99 Martin Baulig
|
||||||
This file is part of LibGTop 1.0.
|
This file is part of LibGTop 1.0.
|
||||||
|
|
||||||
@@ -22,10 +24,43 @@
|
|||||||
#ifndef __GLIBTOP_GLOBAL_H__
|
#ifndef __GLIBTOP_GLOBAL_H__
|
||||||
#define __GLIBTOP_GLOBAL_H__
|
#define __GLIBTOP_GLOBAL_H__
|
||||||
|
|
||||||
#include <glib.h>
|
#ifdef _IN_LIBGTOP
|
||||||
|
#include <config.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* All declarations are enclosed in BEGIN_LIBGTOP_DECLS and
|
||||||
|
* END_LIBGTOP_DECLS so that C++ compilers don't mangle their names.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#undef BEGIN_LIBGTOP_DECLS
|
||||||
|
#undef END_LIBGTOP_DECLS
|
||||||
|
#ifdef __cplusplus
|
||||||
|
# define BEGIN_LIBGTOP_DECLS extern "C" {
|
||||||
|
# define END_LIBGTOP_DECLS }
|
||||||
|
#else
|
||||||
|
# define BEGIN_LIBGTOP_DECLS /* empty */
|
||||||
|
# define END_LIBGTOP_DECLS /* empty */
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef _IN_LIBGTOP
|
#ifdef _IN_LIBGTOP
|
||||||
|
|
||||||
|
/* Provide macros to feature the GCC function attribute.
|
||||||
|
*/
|
||||||
|
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
|
||||||
|
#define G_GNUC_NORETURN \
|
||||||
|
__attribute__((noreturn))
|
||||||
|
#define G_GNUC_CONST \
|
||||||
|
__attribute__((const))
|
||||||
|
#define G_GNUC_UNUSED \
|
||||||
|
__attribute__((unused))
|
||||||
|
#else /* !__GNUC__ */
|
||||||
|
#define G_GNUC_NORETURN
|
||||||
|
#define G_GNUC_CONST
|
||||||
|
#define G_GNUC_UNUSED
|
||||||
|
#endif /* !__GNUC__ */
|
||||||
|
|
||||||
#endif /* _IN_LIBGTOP */
|
#endif /* _IN_LIBGTOP */
|
||||||
|
|
||||||
#if TIME_WITH_SYS_TIME
|
#if TIME_WITH_SYS_TIME
|
||||||
@@ -39,6 +74,27 @@
|
|||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef NEED_GNOMESUPPORT_H
|
||||||
|
#include <gnomesupport.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef WITHOUT_GUILE
|
||||||
|
#undef GLIBTOP_GUILE
|
||||||
|
#undef GLIBTOP_GUILE_NAMES
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef GLIBTOP_GUILE
|
||||||
|
#include <guile/gh.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef _IN_LIBGTOP
|
||||||
|
#if (defined HAVE_LIBINTL_H) || (defined HAVE_GETTEXT)
|
||||||
|
#include <libintl.h>
|
||||||
|
#else
|
||||||
|
#include <libgettext.h>
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
@@ -68,13 +124,18 @@
|
|||||||
|
|
||||||
#ifdef _IN_LIBGTOP
|
#ifdef _IN_LIBGTOP
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
BEGIN_LIBGTOP_DECLS
|
||||||
|
|
||||||
|
#ifndef _
|
||||||
|
#define _(String) dgettext (PACKAGE, String)
|
||||||
|
#define N_(String) (String)
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef HAVE_STRERROR
|
#ifndef HAVE_STRERROR
|
||||||
char *strerror (int errno);
|
char *strerror (int errno);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
G_END_DECLS
|
END_LIBGTOP_DECLS
|
||||||
|
|
||||||
#endif /* _IN_LIBGTOP */
|
#endif /* _IN_LIBGTOP */
|
||||||
|
|
||||||
|
@@ -42,6 +42,7 @@ static char header_rcsid [] = "!Header: gnuserv.h,v 2.4 95/02/16 11:58:11 arup a
|
|||||||
/* gnuserv should not be compiled using SOCKS */
|
/* gnuserv should not be compiled using SOCKS */
|
||||||
#define DO_NOT_SOCKSIFY
|
#define DO_NOT_SOCKSIFY
|
||||||
#include <glibtop.h>
|
#include <glibtop.h>
|
||||||
|
#include <glibtop/error.h>
|
||||||
#undef read
|
#undef read
|
||||||
#undef write
|
#undef write
|
||||||
#undef open
|
#undef open
|
||||||
|
@@ -1,15 +0,0 @@
|
|||||||
#ifndef H_LIBGTOP_INIT_HOOKS_1122955666
|
|
||||||
#define H_LIBGTOP_INIT_HOOKS_1122955666
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
|
||||||
|
|
||||||
typedef void (*_glibtop_init_func_t)(glibtop *);
|
|
||||||
|
|
||||||
extern const _glibtop_init_func_t _glibtop_init_hook_s[];
|
|
||||||
extern const _glibtop_init_func_t _glibtop_init_hook_p[];
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif /* H_LIBGTOP_INIT_HOOKS_1122955666 */
|
|
67
include/glibtop/inodedb.h
Normal file
67
include/glibtop/inodedb.h
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
/* Copyright (C) 1998-99 Martin Baulig
|
||||||
|
This file is part of LibGTop 1.0.
|
||||||
|
|
||||||
|
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
||||||
|
|
||||||
|
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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __GLIBTOP_INODEDB_H__
|
||||||
|
#define __GLIBTOP_INODEDB_H__
|
||||||
|
|
||||||
|
#include <glibtop.h>
|
||||||
|
#include <gdbm.h>
|
||||||
|
|
||||||
|
#define GLIBTOP_INODEDB_SYSTEM 1
|
||||||
|
#define GLIBTOP_INODEDB_USER 2
|
||||||
|
#define GLIBTOP_INODEDB_CACHE 4
|
||||||
|
|
||||||
|
#define GLIBTOP_INODEDB_ALL 7
|
||||||
|
|
||||||
|
BEGIN_LIBGTOP_DECLS
|
||||||
|
|
||||||
|
typedef struct _glibtop_inodedb glibtop_inodedb;
|
||||||
|
|
||||||
|
typedef struct _glibtop_inodedb_key glibtop_inodedb_key;
|
||||||
|
|
||||||
|
struct _glibtop_inodedb_key
|
||||||
|
{
|
||||||
|
u_int64_t device, inode;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _glibtop_inodedb
|
||||||
|
{
|
||||||
|
GDBM_FILE system_dbf, user_dbf;
|
||||||
|
};
|
||||||
|
|
||||||
|
#define glibtop_inodedb_open(p1,p2) glibtop_inodedb_open_s(glibtop_global_server, p1, p2)
|
||||||
|
#define glibtop_inodedb_lookup(p1,p2,p3) glibtop_inodedb_lookup_s(glibtop_global_server, p1, p2, p3)
|
||||||
|
#define glibtop_inodedb_close(p1) glibtop_inodedb_close_s(glibtop_global_server)
|
||||||
|
|
||||||
|
glibtop_inodedb *
|
||||||
|
glibtop_inodedb_open_s (glibtop *server, unsigned databases, unsigned long cache_size);
|
||||||
|
|
||||||
|
const char *
|
||||||
|
glibtop_inodedb_lookup_s (glibtop *server,
|
||||||
|
glibtop_inodedb *inodedb,
|
||||||
|
u_int64_t device, u_int64_t inode);
|
||||||
|
|
||||||
|
void
|
||||||
|
glibtop_inodedb_close_s (glibtop *server, glibtop_inodedb *inodedb);
|
||||||
|
|
||||||
|
END_LIBGTOP_DECLS
|
||||||
|
|
||||||
|
#endif
|
@@ -1,3 +1,5 @@
|
|||||||
|
/* $Id$ */
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
/* Copyright (C) 1998-99 Martin Baulig
|
||||||
This file is part of LibGTop 1.0.
|
This file is part of LibGTop 1.0.
|
||||||
|
|
||||||
@@ -25,7 +27,7 @@
|
|||||||
#include <glibtop.h>
|
#include <glibtop.h>
|
||||||
#include <glibtop/global.h>
|
#include <glibtop/global.h>
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
BEGIN_LIBGTOP_DECLS
|
||||||
|
|
||||||
#define GLIBTOP_LOADAVG_LOADAVG 0
|
#define GLIBTOP_LOADAVG_LOADAVG 0
|
||||||
#define GLIBTOP_LOADAVG_NR_RUNNING 1
|
#define GLIBTOP_LOADAVG_NR_RUNNING 1
|
||||||
@@ -38,14 +40,14 @@ typedef struct _glibtop_loadavg glibtop_loadavg;
|
|||||||
|
|
||||||
struct _glibtop_loadavg
|
struct _glibtop_loadavg
|
||||||
{
|
{
|
||||||
guint64 flags;
|
u_int64_t flags;
|
||||||
double loadavg [3]; /* GLIBTOP_LOADAVG_LOADAVG */
|
double loadavg [3]; /* GLIBTOP_LOADAVG_LOADAVG */
|
||||||
guint64 nr_running; /* GLIBTOP_LOADAVG_NR_RUNNING */
|
u_int64_t nr_running, /* GLIBTOP_LOADAVG_NR_RUNNING */
|
||||||
guint64 nr_tasks; /* GLIBTOP_LOADAVG_NR_TASKS */
|
nr_tasks, /* GLIBTOP_LOADAVG_NR_TASKS */
|
||||||
guint64 last_pid; /* GLIBTOP_LOADAVG_LAST_PID */
|
last_pid; /* GLIBTOP_LOADAVG_LAST_PID */
|
||||||
};
|
};
|
||||||
|
|
||||||
void glibtop_get_loadavg(glibtop_loadavg *buf);
|
#define glibtop_get_loadavg(loadavg) glibtop_get_loadavg_l(glibtop_global_server, loadavg)
|
||||||
|
|
||||||
#if GLIBTOP_SUID_LOADAVG
|
#if GLIBTOP_SUID_LOADAVG
|
||||||
#define glibtop_get_loadavg_r glibtop_get_loadavg_p
|
#define glibtop_get_loadavg_r glibtop_get_loadavg_p
|
||||||
@@ -56,14 +58,24 @@ void glibtop_get_loadavg(glibtop_loadavg *buf);
|
|||||||
void glibtop_get_loadavg_l (glibtop *server, glibtop_loadavg *buf);
|
void glibtop_get_loadavg_l (glibtop *server, glibtop_loadavg *buf);
|
||||||
|
|
||||||
#if GLIBTOP_SUID_LOADAVG
|
#if GLIBTOP_SUID_LOADAVG
|
||||||
void _glibtop_init_loadavg_p (glibtop *server);
|
void glibtop_init_loadavg_p (glibtop *server);
|
||||||
void glibtop_get_loadavg_p (glibtop *server, glibtop_loadavg *buf);
|
void glibtop_get_loadavg_p (glibtop *server, glibtop_loadavg *buf);
|
||||||
#else
|
#else
|
||||||
void _glibtop_init_loadavg_s (glibtop *server);
|
void glibtop_init_loadavg_s (glibtop *server);
|
||||||
void glibtop_get_loadavg_s (glibtop *server, glibtop_loadavg *buf);
|
void glibtop_get_loadavg_s (glibtop *server, glibtop_loadavg *buf);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef GLIBTOP_NAMES
|
||||||
|
|
||||||
G_END_DECLS
|
/* You need to link with -lgtop_names to get this stuff here. */
|
||||||
|
|
||||||
|
extern const char *glibtop_names_loadavg [];
|
||||||
|
extern const unsigned glibtop_types_loadavg [];
|
||||||
|
extern const char *glibtop_labels_loadavg [];
|
||||||
|
extern const char *glibtop_descriptions_loadavg [];
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
END_LIBGTOP_DECLS
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
/* $Id$ */
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
/* Copyright (C) 1998-99 Martin Baulig
|
||||||
This file is part of LibGTop 1.0.
|
This file is part of LibGTop 1.0.
|
||||||
|
|
||||||
@@ -25,7 +27,7 @@
|
|||||||
#include <glibtop.h>
|
#include <glibtop.h>
|
||||||
#include <glibtop/global.h>
|
#include <glibtop/global.h>
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
BEGIN_LIBGTOP_DECLS
|
||||||
|
|
||||||
#define GLIBTOP_MEM_TOTAL 0
|
#define GLIBTOP_MEM_TOTAL 0
|
||||||
#define GLIBTOP_MEM_USED 1
|
#define GLIBTOP_MEM_USED 1
|
||||||
@@ -42,18 +44,18 @@ typedef struct _glibtop_mem glibtop_mem;
|
|||||||
|
|
||||||
struct _glibtop_mem
|
struct _glibtop_mem
|
||||||
{
|
{
|
||||||
guint64 flags;
|
u_int64_t flags,
|
||||||
guint64 total; /* GLIBTOP_MEM_TOTAL */
|
total, /* GLIBTOP_MEM_TOTAL */
|
||||||
guint64 used; /* GLIBTOP_MEM_USED */
|
used, /* GLIBTOP_MEM_USED */
|
||||||
guint64 free; /* GLIBTOP_MEM_FREE */
|
free, /* GLIBTOP_MEM_FREE */
|
||||||
guint64 shared; /* GLIBTOP_MEM_SHARED */
|
shared, /* GLIBTOP_MEM_SHARED */
|
||||||
guint64 buffer; /* GLIBTOP_MEM_BUFFER */
|
buffer, /* GLIBTOP_MEM_BUFFER */
|
||||||
guint64 cached; /* GLIBTOP_MEM_CACHED */
|
cached, /* GLIBTOP_MEM_CACHED */
|
||||||
guint64 user; /* GLIBTOP_MEM_USER */
|
user, /* GLIBTOP_MEM_USER */
|
||||||
guint64 locked; /* GLIBTOP_MEM_LOCKED */
|
locked; /* GLIBTOP_MEM_LOCKED */
|
||||||
};
|
};
|
||||||
|
|
||||||
void glibtop_get_mem(glibtop_mem *buf);
|
#define glibtop_get_mem(mem) glibtop_get_mem_l(glibtop_global_server, mem)
|
||||||
|
|
||||||
#if GLIBTOP_SUID_MEM
|
#if GLIBTOP_SUID_MEM
|
||||||
#define glibtop_get_mem_r glibtop_get_mem_p
|
#define glibtop_get_mem_r glibtop_get_mem_p
|
||||||
@@ -64,14 +66,24 @@ void glibtop_get_mem(glibtop_mem *buf);
|
|||||||
void glibtop_get_mem_l (glibtop *server, glibtop_mem *buf);
|
void glibtop_get_mem_l (glibtop *server, glibtop_mem *buf);
|
||||||
|
|
||||||
#if GLIBTOP_SUID_MEM
|
#if GLIBTOP_SUID_MEM
|
||||||
void _glibtop_init_mem_p (glibtop *server);
|
void glibtop_init_mem_p (glibtop *server);
|
||||||
void glibtop_get_mem_p (glibtop *server, glibtop_mem *buf);
|
void glibtop_get_mem_p (glibtop *server, glibtop_mem *buf);
|
||||||
#else
|
#else
|
||||||
void _glibtop_init_mem_s (glibtop *server);
|
void glibtop_init_mem_s (glibtop *server);
|
||||||
void glibtop_get_mem_s (glibtop *server, glibtop_mem *buf);
|
void glibtop_get_mem_s (glibtop *server, glibtop_mem *buf);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef GLIBTOP_NAMES
|
||||||
|
|
||||||
G_END_DECLS
|
/* You need to link with -lgtop_names to get this stuff here. */
|
||||||
|
|
||||||
|
extern const char *glibtop_names_mem [];
|
||||||
|
extern const unsigned glibtop_types_mem [];
|
||||||
|
extern const char *glibtop_labels_mem [];
|
||||||
|
extern const char *glibtop_descriptions_mem [];
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
END_LIBGTOP_DECLS
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
/* $Id$ */
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
/* Copyright (C) 1998-99 Martin Baulig
|
||||||
This file is part of LibGTop 1.0.
|
This file is part of LibGTop 1.0.
|
||||||
|
|
||||||
@@ -25,7 +27,7 @@
|
|||||||
#include <glibtop.h>
|
#include <glibtop.h>
|
||||||
#include <glibtop/global.h>
|
#include <glibtop/global.h>
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
BEGIN_LIBGTOP_DECLS
|
||||||
|
|
||||||
#define GLIBTOP_MOUNTLIST_NUMBER 0
|
#define GLIBTOP_MOUNTLIST_NUMBER 0
|
||||||
#define GLIBTOP_MOUNTLIST_TOTAL 1
|
#define GLIBTOP_MOUNTLIST_TOTAL 1
|
||||||
@@ -39,7 +41,7 @@ typedef struct _glibtop_mountlist glibtop_mountlist;
|
|||||||
|
|
||||||
struct _glibtop_mountentry
|
struct _glibtop_mountentry
|
||||||
{
|
{
|
||||||
guint64 dev;
|
u_int64_t dev;
|
||||||
char devname [GLIBTOP_MOUNTENTRY_LEN+1];
|
char devname [GLIBTOP_MOUNTENTRY_LEN+1];
|
||||||
char mountdir [GLIBTOP_MOUNTENTRY_LEN+1];
|
char mountdir [GLIBTOP_MOUNTENTRY_LEN+1];
|
||||||
char type [GLIBTOP_MOUNTENTRY_LEN+1];
|
char type [GLIBTOP_MOUNTENTRY_LEN+1];
|
||||||
@@ -47,14 +49,13 @@ struct _glibtop_mountentry
|
|||||||
|
|
||||||
struct _glibtop_mountlist
|
struct _glibtop_mountlist
|
||||||
{
|
{
|
||||||
guint64 flags;
|
u_int64_t flags,
|
||||||
guint64 number; /* GLIBTOP_MOUNTLIST_NUMBER */
|
number, /* GLIBTOP_MOUNTLIST_NUMBER */
|
||||||
guint64 total; /* GLIBTOP_MOUNTLIST_TOTAL */
|
total, /* GLIBTOP_MOUNTLIST_TOTAL */
|
||||||
guint64 size; /* GLIBTOP_MOUNTLIST_SIZE */
|
size; /* GLIBTOP_MOUNTLIST_SIZE */
|
||||||
};
|
};
|
||||||
|
|
||||||
glibtop_mountentry *
|
#define glibtop_get_mountlist(mountlist,all_fs) glibtop_get_mountlist_l(glibtop_global_server, mountlist, all_fs)
|
||||||
glibtop_get_mountlist(glibtop_mountlist *buf, int all_fs);
|
|
||||||
|
|
||||||
#define glibtop_get_mountlist_r glibtop_get_mountlist_s
|
#define glibtop_get_mountlist_r glibtop_get_mountlist_s
|
||||||
|
|
||||||
@@ -64,7 +65,17 @@ glibtop_get_mountlist_l (glibtop *server, glibtop_mountlist *buf, int all_fs);
|
|||||||
glibtop_mountentry *
|
glibtop_mountentry *
|
||||||
glibtop_get_mountlist_s (glibtop *server, glibtop_mountlist *buf, int all_fs);
|
glibtop_get_mountlist_s (glibtop *server, glibtop_mountlist *buf, int all_fs);
|
||||||
|
|
||||||
|
#ifdef GLIBTOP_NAMES
|
||||||
|
|
||||||
G_END_DECLS
|
/* You need to link with -lgtop_names to get this stuff here. */
|
||||||
|
|
||||||
|
extern const char *glibtop_names_mountlist [];
|
||||||
|
extern const unsigned glibtop_types_mountlist [];
|
||||||
|
extern const char *glibtop_labels_mountlist [];
|
||||||
|
extern const char *glibtop_descriptions_mountlist [];
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
END_LIBGTOP_DECLS
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
/* $Id$ */
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
/* Copyright (C) 1998-99 Martin Baulig
|
||||||
This file is part of LibGTop 1.0.
|
This file is part of LibGTop 1.0.
|
||||||
|
|
||||||
@@ -25,7 +27,7 @@
|
|||||||
#include <glibtop.h>
|
#include <glibtop.h>
|
||||||
#include <glibtop/global.h>
|
#include <glibtop/global.h>
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
BEGIN_LIBGTOP_DECLS
|
||||||
|
|
||||||
#define GLIBTOP_IPC_MSGPOOL 0
|
#define GLIBTOP_IPC_MSGPOOL 0
|
||||||
#define GLIBTOP_IPC_MSGMAP 1
|
#define GLIBTOP_IPC_MSGMAP 1
|
||||||
@@ -41,17 +43,17 @@ typedef struct _glibtop_msg_limits glibtop_msg_limits;
|
|||||||
|
|
||||||
struct _glibtop_msg_limits
|
struct _glibtop_msg_limits
|
||||||
{
|
{
|
||||||
guint64 flags;
|
u_int64_t flags,
|
||||||
guint64 msgpool; /* GLIBTOP_IPC_MSGPOOL */
|
msgpool, /* GLIBTOP_IPC_MSGPOOL */
|
||||||
guint64 msgmap; /* GLIBTOP_IPC_MSGMAP */
|
msgmap, /* GLIBTOP_IPC_MSGMAP */
|
||||||
guint64 msgmax; /* GLIBTOP_IPC_MSGMAX */
|
msgmax, /* GLIBTOP_IPC_MSGMAX */
|
||||||
guint64 msgmnb; /* GLIBTOP_IPC_MSGMNB */
|
msgmnb, /* GLIBTOP_IPC_MSGMNB */
|
||||||
guint64 msgmni; /* GLIBTOP_IPC_MSGMNI */
|
msgmni, /* GLIBTOP_IPC_MSGMNI */
|
||||||
guint64 msgssz; /* GLIBTOP_IPC_MSGSSZ */
|
msgssz, /* GLIBTOP_IPC_MSGSSZ */
|
||||||
guint64 msgtql; /* GLIBTOP_IPC_MSGTQL */
|
msgtql; /* GLIBTOP_IPC_MSGTQL */
|
||||||
};
|
};
|
||||||
|
|
||||||
void glibtop_get_msg_limits(glibtop_msg_limits *buf);
|
#define glibtop_get_msg_limits(msg) glibtop_get_msg_limits_l(glibtop_global_server, msg)
|
||||||
|
|
||||||
#if GLIBTOP_SUID_MSG_LIMITS
|
#if GLIBTOP_SUID_MSG_LIMITS
|
||||||
#define glibtop_get_msg_limits_r glibtop_get_msg_limits_p
|
#define glibtop_get_msg_limits_r glibtop_get_msg_limits_p
|
||||||
@@ -62,15 +64,25 @@ void glibtop_get_msg_limits(glibtop_msg_limits *buf);
|
|||||||
void glibtop_get_msg_limits_l (glibtop *server, glibtop_msg_limits *buf);
|
void glibtop_get_msg_limits_l (glibtop *server, glibtop_msg_limits *buf);
|
||||||
|
|
||||||
#if GLIBTOP_SUID_MSG_LIMITS
|
#if GLIBTOP_SUID_MSG_LIMITS
|
||||||
void _glibtop_init_msg_limits_p (glibtop *server);
|
void glibtop_init_msg_limits_p (glibtop *server);
|
||||||
void glibtop_get_msg_limits_p (glibtop *server, glibtop_msg_limits *buf);
|
void glibtop_get_msg_limits_p (glibtop *server, glibtop_msg_limits *buf);
|
||||||
#else
|
#else
|
||||||
void _glibtop_init_msg_limits_s (glibtop *server);
|
void glibtop_init_msg_limits_s (glibtop *server);
|
||||||
void glibtop_get_msg_limits_s (glibtop *server, glibtop_msg_limits *buf);
|
void glibtop_get_msg_limits_s (glibtop *server, glibtop_msg_limits *buf);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef GLIBTOP_NAMES
|
||||||
|
|
||||||
G_END_DECLS
|
/* You need to link with -lgtop_names to get this stuff here. */
|
||||||
|
|
||||||
|
extern const char *glibtop_names_msg_limits [];
|
||||||
|
extern const unsigned glibtop_types_msg_limits [];
|
||||||
|
extern const char *glibtop_labels_msg_limits [];
|
||||||
|
extern const char *glibtop_descriptions_msg_limits [];
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
END_LIBGTOP_DECLS
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@@ -1,61 +0,0 @@
|
|||||||
/* Copyright (C) 2004 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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_NETLIST_H__
|
|
||||||
#define __GLIBTOP_NETLIST_H__
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/global.h>
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
|
||||||
|
|
||||||
#define GLIBTOP_NETLIST_NUMBER 0
|
|
||||||
|
|
||||||
#define GLIBTOP_MAX_NETLIST 1
|
|
||||||
|
|
||||||
typedef struct _glibtop_netlist glibtop_netlist;
|
|
||||||
|
|
||||||
struct _glibtop_netlist
|
|
||||||
{
|
|
||||||
guint64 flags;
|
|
||||||
guint32 number;
|
|
||||||
};
|
|
||||||
|
|
||||||
char** glibtop_get_netlist(glibtop_netlist *buf);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_NETLIST
|
|
||||||
#define glibtop_get_netlist_r glibtop_get_netlist_p
|
|
||||||
#else
|
|
||||||
#define glibtop_get_netlist_r glibtop_get_netlist_s
|
|
||||||
#endif
|
|
||||||
|
|
||||||
char** glibtop_get_netlist_l (glibtop *server, glibtop_netlist *buf);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_NETLIST
|
|
||||||
void _glibtop_init_netlist_p (glibtop *server);
|
|
||||||
char** glibtop_get_netlist_p (glibtop *server, glibtop_netlist *buf);
|
|
||||||
#else
|
|
||||||
void _glibtop_init_netlist_s (glibtop *server);
|
|
||||||
char** glibtop_get_netlist_s (glibtop *server, glibtop_netlist *buf);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,3 +1,5 @@
|
|||||||
|
/* $Id$ */
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
/* Copyright (C) 1998-99 Martin Baulig
|
||||||
This file is part of LibGTop 1.0.
|
This file is part of LibGTop 1.0.
|
||||||
|
|
||||||
@@ -25,7 +27,7 @@
|
|||||||
#include <glibtop.h>
|
#include <glibtop.h>
|
||||||
#include <glibtop/global.h>
|
#include <glibtop/global.h>
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
BEGIN_LIBGTOP_DECLS
|
||||||
|
|
||||||
#define GLIBTOP_NETLOAD_IF_FLAGS 0
|
#define GLIBTOP_NETLOAD_IF_FLAGS 0
|
||||||
#define GLIBTOP_NETLOAD_MTU 1
|
#define GLIBTOP_NETLOAD_MTU 1
|
||||||
@@ -41,12 +43,8 @@ G_BEGIN_DECLS
|
|||||||
#define GLIBTOP_NETLOAD_ERRORS_OUT 11
|
#define GLIBTOP_NETLOAD_ERRORS_OUT 11
|
||||||
#define GLIBTOP_NETLOAD_ERRORS_TOTAL 12
|
#define GLIBTOP_NETLOAD_ERRORS_TOTAL 12
|
||||||
#define GLIBTOP_NETLOAD_COLLISIONS 13
|
#define GLIBTOP_NETLOAD_COLLISIONS 13
|
||||||
#define GLIBTOP_NETLOAD_ADDRESS6 14
|
|
||||||
#define GLIBTOP_NETLOAD_PREFIX6 15
|
|
||||||
#define GLIBTOP_NETLOAD_SCOPE6 16
|
|
||||||
#define GLIBTOP_NETLOAD_HWADDRESS 17
|
|
||||||
|
|
||||||
#define GLIBTOP_MAX_NETLOAD 18
|
#define GLIBTOP_MAX_NETLOAD 14
|
||||||
|
|
||||||
typedef struct _glibtop_netload glibtop_netload;
|
typedef struct _glibtop_netload glibtop_netload;
|
||||||
|
|
||||||
@@ -66,47 +64,29 @@ enum {
|
|||||||
GLIBTOP_IF_FLAGS_LINK1,
|
GLIBTOP_IF_FLAGS_LINK1,
|
||||||
GLIBTOP_IF_FLAGS_LINK2,
|
GLIBTOP_IF_FLAGS_LINK2,
|
||||||
GLIBTOP_IF_FLAGS_ALTPHYS,
|
GLIBTOP_IF_FLAGS_ALTPHYS,
|
||||||
GLIBTOP_IF_FLAGS_MULTICAST,
|
GLIBTOP_IF_FLAGS_MULTICAST
|
||||||
GLIBTOP_IF_FLAGS_WIRELESS
|
|
||||||
};
|
|
||||||
|
|
||||||
enum GLIBTOP_IF_IN6_SCOPE
|
|
||||||
{
|
|
||||||
GLIBTOP_IF_IN6_SCOPE_UNKNOWN = 0,
|
|
||||||
GLIBTOP_IF_IN6_SCOPE_LINK = 1,
|
|
||||||
GLIBTOP_IF_IN6_SCOPE_SITE = 2,
|
|
||||||
GLIBTOP_IF_IN6_SCOPE_GLOBAL = 4,
|
|
||||||
GLIBTOP_IF_IN6_SCOPE_HOST = 8
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _glibtop_netload
|
struct _glibtop_netload
|
||||||
{
|
{
|
||||||
guint64 flags;
|
u_int64_t flags,
|
||||||
guint64 if_flags; /* GLIBTOP_NETLOAD_IF_FLAGS */
|
if_flags, /* GLIBTOP_NETLOAD_IF_FLAGS */
|
||||||
|
mtu, /* GLIBTOP_NETLOAD_MTU */
|
||||||
guint32 mtu; /* GLIBTOP_NETLOAD_MTU */
|
subnet, /* GLIBTOP_NETLOAD_SUBNET */
|
||||||
guint32 subnet; /* GLIBTOP_NETLOAD_SUBNET */
|
address, /* GLIBTOP_NETLOAD_ADDRESS */
|
||||||
guint32 address; /* GLIBTOP_NETLOAD_ADDRESS */
|
packets_in, /* GLIBTOP_NETLOAD_PACKETS_IN */
|
||||||
|
packets_out, /* GLIBTOP_NETLOAD_PACKETS_OUT */
|
||||||
guint64 packets_in; /* GLIBTOP_NETLOAD_PACKETS_IN */
|
packets_total, /* GLIBTOP_NETLOAD_PACKETS_TOTAL*/
|
||||||
guint64 packets_out; /* GLIBTOP_NETLOAD_PACKETS_OUT */
|
bytes_in, /* GLIBTOP_NETLOAD_BYTES_IN */
|
||||||
guint64 packets_total; /* GLIBTOP_NETLOAD_PACKETS_TOTAL*/
|
bytes_out, /* GLIBTOP_NETLOAD_BYTES_OUT */
|
||||||
guint64 bytes_in; /* GLIBTOP_NETLOAD_BYTES_IN */
|
bytes_total, /* GLIBTOP_NETLOAD_BYTES_TOTAL */
|
||||||
guint64 bytes_out; /* GLIBTOP_NETLOAD_BYTES_OUT */
|
errors_in, /* GLIBTOP_NETLOAD_ERRORS_IN */
|
||||||
guint64 bytes_total; /* GLIBTOP_NETLOAD_BYTES_TOTAL */
|
errors_out, /* GLIBTOP_NETLOAD_ERRORS_OUT */
|
||||||
guint64 errors_in; /* GLIBTOP_NETLOAD_ERRORS_IN */
|
errors_total, /* GLIBTOP_NETLOAD_ERRORS_TOTAL */
|
||||||
guint64 errors_out; /* GLIBTOP_NETLOAD_ERRORS_OUT */
|
collisions; /* GLIBTOP_NETLOAD_COLLISIONS */
|
||||||
guint64 errors_total; /* GLIBTOP_NETLOAD_ERRORS_TOTAL */
|
|
||||||
guint64 collisions; /* GLIBTOP_NETLOAD_COLLISIONS */
|
|
||||||
|
|
||||||
guint8 address6[16]; /* GLIBTOP_NETLOAD_ADDRESS6 */
|
|
||||||
guint8 prefix6[16]; /* GLIBTOP_NETLOAD_PREXIF6 */
|
|
||||||
guint8 scope6; /* GLIBTOP_NETLOAD_SCOPE6 */
|
|
||||||
|
|
||||||
guint8 hwaddress[8]; /* GLIBTOP_NETLOAD_HWADDRESS */
|
|
||||||
};
|
};
|
||||||
|
|
||||||
void glibtop_get_netload(glibtop_netload *buf, const char *interface);
|
#define glibtop_get_netload(netload,interface) glibtop_get_netload_l(glibtop_global_server, netload, interface)
|
||||||
|
|
||||||
#if GLIBTOP_SUID_NETLOAD
|
#if GLIBTOP_SUID_NETLOAD
|
||||||
#define glibtop_get_netload_r glibtop_get_netload_p
|
#define glibtop_get_netload_r glibtop_get_netload_p
|
||||||
@@ -117,14 +97,24 @@ void glibtop_get_netload(glibtop_netload *buf, const char *interface);
|
|||||||
void glibtop_get_netload_l (glibtop *server, glibtop_netload *buf, const char *interface);
|
void glibtop_get_netload_l (glibtop *server, glibtop_netload *buf, const char *interface);
|
||||||
|
|
||||||
#if GLIBTOP_SUID_NETLOAD
|
#if GLIBTOP_SUID_NETLOAD
|
||||||
void _glibtop_init_netload_p (glibtop *server);
|
void glibtop_init_netload_p (glibtop *server);
|
||||||
void glibtop_get_netload_p (glibtop *server, glibtop_netload *buf, const char *interface);
|
void glibtop_get_netload_p (glibtop *server, glibtop_netload *buf, const char *interface);
|
||||||
#else
|
#else
|
||||||
void _glibtop_init_netload_s (glibtop *server);
|
void glibtop_init_netload_s (glibtop *server);
|
||||||
void glibtop_get_netload_s (glibtop *server, glibtop_netload *buf, const char *interface);
|
void glibtop_get_netload_s (glibtop *server, glibtop_netload *buf, const char *interface);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef GLIBTOP_NAMES
|
||||||
|
|
||||||
G_END_DECLS
|
/* You need to link with -lgtop_names to get this stuff here. */
|
||||||
|
|
||||||
|
extern const char *glibtop_names_netload [];
|
||||||
|
extern const unsigned glibtop_types_netload [];
|
||||||
|
extern const char *glibtop_labels_netload [];
|
||||||
|
extern const char *glibtop_descriptions_netload [];
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
END_LIBGTOP_DECLS
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -23,8 +23,10 @@
|
|||||||
#define __GLIBTOP_OPEN_H__
|
#define __GLIBTOP_OPEN_H__
|
||||||
|
|
||||||
#include <glibtop.h>
|
#include <glibtop.h>
|
||||||
|
#include <glibtop/read.h>
|
||||||
|
#include <glibtop/error.h>
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
BEGIN_LIBGTOP_DECLS
|
||||||
|
|
||||||
#define _GLIBTOP_INIT_STATE_INIT 0x10000
|
#define _GLIBTOP_INIT_STATE_INIT 0x10000
|
||||||
#define _GLIBTOP_INIT_STATE_OPEN 0x20000
|
#define _GLIBTOP_INIT_STATE_OPEN 0x20000
|
||||||
@@ -66,6 +68,6 @@ glibtop_open_s (glibtop *server, const char *program_name,
|
|||||||
const unsigned long features, const unsigned flags);
|
const unsigned long features, const unsigned flags);
|
||||||
|
|
||||||
|
|
||||||
G_END_DECLS
|
END_LIBGTOP_DECLS
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -23,8 +23,9 @@
|
|||||||
#define __GLIBTOP_PARAMETER_H__
|
#define __GLIBTOP_PARAMETER_H__
|
||||||
|
|
||||||
#include <glibtop.h>
|
#include <glibtop.h>
|
||||||
|
#include <glibtop/open.h>
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
BEGIN_LIBGTOP_DECLS
|
||||||
|
|
||||||
#define GLIBTOP_PARAM_METHOD 1
|
#define GLIBTOP_PARAM_METHOD 1
|
||||||
#define GLIBTOP_PARAM_FEATURES 2
|
#define GLIBTOP_PARAM_FEATURES 2
|
||||||
@@ -45,6 +46,6 @@ void
|
|||||||
glibtop_set_parameter_l (glibtop *server, const unsigned parameter,
|
glibtop_set_parameter_l (glibtop *server, const unsigned parameter,
|
||||||
const void *data_ptr, size_t data_size);
|
const void *data_ptr, size_t data_size);
|
||||||
|
|
||||||
G_END_DECLS
|
END_LIBGTOP_DECLS
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
/* $Id$ */
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
/* Copyright (C) 1998-99 Martin Baulig
|
||||||
This file is part of LibGTop 1.0.
|
This file is part of LibGTop 1.0.
|
||||||
|
|
||||||
@@ -25,7 +27,7 @@
|
|||||||
#include <glibtop.h>
|
#include <glibtop.h>
|
||||||
#include <glibtop/global.h>
|
#include <glibtop/global.h>
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
BEGIN_LIBGTOP_DECLS
|
||||||
|
|
||||||
#define GLIBTOP_PPP_STATE 0
|
#define GLIBTOP_PPP_STATE 0
|
||||||
#define GLIBTOP_PPP_BYTES_IN 1
|
#define GLIBTOP_PPP_BYTES_IN 1
|
||||||
@@ -43,13 +45,13 @@ enum {
|
|||||||
|
|
||||||
struct _glibtop_ppp
|
struct _glibtop_ppp
|
||||||
{
|
{
|
||||||
guint64 flags;
|
u_int64_t flags,
|
||||||
guint64 state; /* GLIBTOP_PPP_STATE */
|
state, /* GLIBTOP_PPP_STATE */
|
||||||
guint64 bytes_in; /* GLIBTOP_PPP_BYTES_IN */
|
bytes_in, /* GLIBTOP_PPP_BYTES_IN */
|
||||||
guint64 bytes_out; /* GLIBTOP_PPP_BYTES_OUT */
|
bytes_out; /* GLIBTOP_PPP_BYTES_OUT */
|
||||||
};
|
};
|
||||||
|
|
||||||
void glibtop_get_ppp(glibtop_ppp *buf, unsigned short device);
|
#define glibtop_get_ppp(ppp,device) glibtop_get_ppp_l(glibtop_global_server, ppp, device)
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PPP
|
#if GLIBTOP_SUID_PPP
|
||||||
#define glibtop_get_ppp_r glibtop_get_ppp_p
|
#define glibtop_get_ppp_r glibtop_get_ppp_p
|
||||||
@@ -60,14 +62,24 @@ void glibtop_get_ppp(glibtop_ppp *buf, unsigned short device);
|
|||||||
void glibtop_get_ppp_l (glibtop *server, glibtop_ppp *buf, unsigned short device);
|
void glibtop_get_ppp_l (glibtop *server, glibtop_ppp *buf, unsigned short device);
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PPP
|
#if GLIBTOP_SUID_PPP
|
||||||
void _glibtop_init_ppp_p (glibtop *server);
|
void glibtop_init_ppp_p (glibtop *server);
|
||||||
void glibtop_get_ppp_p (glibtop *server, glibtop_ppp *buf, unsigned short device);
|
void glibtop_get_ppp_p (glibtop *server, glibtop_ppp *buf, unsigned short device);
|
||||||
#else
|
#else
|
||||||
void _glibtop_init_ppp_s (glibtop *server);
|
void glibtop_init_ppp_s (glibtop *server);
|
||||||
void glibtop_get_ppp_s (glibtop *server, glibtop_ppp *buf, unsigned short device);
|
void glibtop_get_ppp_s (glibtop *server, glibtop_ppp *buf, unsigned short device);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef GLIBTOP_NAMES
|
||||||
|
|
||||||
G_END_DECLS
|
/* You need to link with -lgtop_names to get this stuff here. */
|
||||||
|
|
||||||
|
extern const char *glibtop_names_ppp [];
|
||||||
|
extern const unsigned glibtop_types_ppp [];
|
||||||
|
extern const char *glibtop_labels_ppp [];
|
||||||
|
extern const char *glibtop_descriptions_ppp [];
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
END_LIBGTOP_DECLS
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -1,61 +0,0 @@
|
|||||||
/* Copyright (C) 2007 Benoît Dejean
|
|
||||||
This file is part of LibGTop 2.
|
|
||||||
|
|
||||||
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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PROCAFFINITY_H__
|
|
||||||
#define __GLIBTOP_PROCAFFINITY_H__
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/global.h>
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
|
||||||
|
|
||||||
typedef struct _glibtop_proc_affinity glibtop_proc_affinity;
|
|
||||||
|
|
||||||
#define GLIBTOP_PROC_AFFINITY_NUMBER 0
|
|
||||||
#define GLIBTOP_PROC_AFFINITY_ALL 1
|
|
||||||
|
|
||||||
struct _glibtop_proc_affinity
|
|
||||||
{
|
|
||||||
guint64 flags;
|
|
||||||
guint32 number;
|
|
||||||
gboolean all;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
guint16 * glibtop_get_proc_affinity(glibtop_proc_affinity *buf, pid_t pid);
|
|
||||||
guint16 * glibtop_get_proc_affinity_l(glibtop *server, glibtop_proc_affinity *buf, pid_t pid);
|
|
||||||
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_AFFINITY
|
|
||||||
|
|
||||||
#define glibtop_get_proc_affinity_r glibtop_get_proc_affinity_p
|
|
||||||
void _glibtop_init_proc_affinity_p(glibtop *server);
|
|
||||||
guint16 * glibtop_get_proc_affinity_p(glibtop *server, glibtop_proc_affinity *buf, pid_t pid);
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
#define glibtop_get_proc_affinity_r glibtop_get_proc_affinity_s
|
|
||||||
void _glibtop_init_proc_affinity_s(glibtop *server);
|
|
||||||
guint16 * glibtop_get_proc_affinity_s(glibtop *server, glibtop_proc_affinity *buf, pid_t pid);
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,3 +1,5 @@
|
|||||||
|
/* $Id$ */
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
/* Copyright (C) 1998-99 Martin Baulig
|
||||||
This file is part of LibGTop 1.0.
|
This file is part of LibGTop 1.0.
|
||||||
|
|
||||||
@@ -25,7 +27,7 @@
|
|||||||
#include <glibtop.h>
|
#include <glibtop.h>
|
||||||
#include <glibtop/global.h>
|
#include <glibtop/global.h>
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
BEGIN_LIBGTOP_DECLS
|
||||||
|
|
||||||
#define GLIBTOP_PROC_ARGS_SIZE 0
|
#define GLIBTOP_PROC_ARGS_SIZE 0
|
||||||
|
|
||||||
@@ -35,54 +37,47 @@ typedef struct _glibtop_proc_args glibtop_proc_args;
|
|||||||
|
|
||||||
struct _glibtop_proc_args
|
struct _glibtop_proc_args
|
||||||
{
|
{
|
||||||
guint64 flags;
|
u_int64_t flags,
|
||||||
guint64 size; /* GLIBTOP_PROC_ARGS_SIZE */
|
size; /* GLIBTOP_PROC_ARGS_SIZE */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define glibtop_get_proc_args(proc_args,pid,max_len) glibtop_get_proc_args_l(glibtop_global_server, proc_args, pid, max_len)
|
||||||
|
|
||||||
|
#if GLIBTOP_SUID_PROC_ARGS
|
||||||
|
#define glibtop_get_proc_args_r glibtop_get_proc_args_p
|
||||||
|
#else
|
||||||
|
#define glibtop_get_proc_args_r glibtop_get_proc_args_s
|
||||||
|
#endif
|
||||||
|
|
||||||
char *
|
char *
|
||||||
glibtop_get_proc_args_l (glibtop *server, glibtop_proc_args *buf,
|
glibtop_get_proc_args_l (glibtop *server, glibtop_proc_args *buf,
|
||||||
pid_t pid, unsigned max_len);
|
pid_t pid, unsigned max_len);
|
||||||
|
|
||||||
char *
|
|
||||||
glibtop_get_proc_args (glibtop_proc_args *buf, pid_t pid, unsigned max_len);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_ARGS
|
#if GLIBTOP_SUID_PROC_ARGS
|
||||||
|
void glibtop_init_proc_args_p (glibtop *server);
|
||||||
|
|
||||||
# define glibtop_get_proc_args_r glibtop_get_proc_args_p
|
char *
|
||||||
|
glibtop_get_proc_args_p (glibtop *server, glibtop_proc_args *buf,
|
||||||
void _glibtop_init_proc_args_p (glibtop *server);
|
|
||||||
|
|
||||||
char *
|
|
||||||
glibtop_get_proc_args_p (glibtop *server, glibtop_proc_args *buf,
|
|
||||||
pid_t pid, unsigned max_len);
|
pid_t pid, unsigned max_len);
|
||||||
|
#else
|
||||||
|
void glibtop_init_proc_args_s (glibtop *server);
|
||||||
|
|
||||||
|
char *
|
||||||
#else /* !GLIBTOP_SUID_PROC_ARGS */
|
glibtop_get_proc_args_s (glibtop *server, glibtop_proc_args *buf,
|
||||||
|
|
||||||
# define glibtop_get_proc_args_r glibtop_get_proc_args_s
|
|
||||||
|
|
||||||
void _glibtop_init_proc_args_s (glibtop *server);
|
|
||||||
|
|
||||||
char *
|
|
||||||
glibtop_get_proc_args_s (glibtop *server, glibtop_proc_args *buf,
|
|
||||||
pid_t pid, unsigned max_len);
|
pid_t pid, unsigned max_len);
|
||||||
#endif /* GLIBTOP_SUID_PROC_ARGS */
|
#endif
|
||||||
|
|
||||||
|
#ifdef GLIBTOP_NAMES
|
||||||
|
|
||||||
|
/* You need to link with -lgtop_names to get this stuff here. */
|
||||||
|
|
||||||
/*
|
extern const char *glibtop_names_proc_args [];
|
||||||
* NEW functions
|
extern const unsigned glibtop_types_proc_args [];
|
||||||
*/
|
extern const char *glibtop_labels_proc_args [];
|
||||||
|
extern const char *glibtop_descriptions_proc_args [];
|
||||||
char **
|
|
||||||
glibtop_get_proc_argv_l (glibtop *server, glibtop_proc_args *buf,
|
#endif
|
||||||
pid_t pid, unsigned max_len);
|
|
||||||
|
END_LIBGTOP_DECLS
|
||||||
char **
|
|
||||||
glibtop_get_proc_argv (glibtop_proc_args *buf, pid_t pid, unsigned max_len);
|
|
||||||
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
/* $Id$ */
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
/* Copyright (C) 1998-99 Martin Baulig
|
||||||
This file is part of LibGTop 1.0.
|
This file is part of LibGTop 1.0.
|
||||||
|
|
||||||
@@ -25,7 +27,7 @@
|
|||||||
#include <glibtop.h>
|
#include <glibtop.h>
|
||||||
#include <glibtop/global.h>
|
#include <glibtop/global.h>
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
BEGIN_LIBGTOP_DECLS
|
||||||
|
|
||||||
#define GLIBTOP_PROC_KERNEL_K_FLAGS 0
|
#define GLIBTOP_PROC_KERNEL_K_FLAGS 0
|
||||||
#define GLIBTOP_PROC_KERNEL_MIN_FLT 1
|
#define GLIBTOP_PROC_KERNEL_MIN_FLT 1
|
||||||
@@ -45,24 +47,24 @@ typedef struct _glibtop_proc_kernel glibtop_proc_kernel;
|
|||||||
|
|
||||||
struct _glibtop_proc_kernel
|
struct _glibtop_proc_kernel
|
||||||
{
|
{
|
||||||
guint64 flags;
|
u_int64_t flags;
|
||||||
guint64 k_flags; /* kernel flags for the process */
|
u_int64_t k_flags, /* kernel flags for the process */
|
||||||
guint64 min_flt; /* number of minor page faults since
|
min_flt, /* number of minor page faults since
|
||||||
* process start */
|
* process start */
|
||||||
guint64 maj_flt; /* number of major page faults since
|
maj_flt, /* number of major page faults since
|
||||||
* process start */
|
* process start */
|
||||||
guint64 cmin_flt; /* cumulative min_flt of process and
|
cmin_flt, /* cumulative min_flt of process and
|
||||||
* child processes */
|
* child processes */
|
||||||
guint64 cmaj_flt; /* cumulative maj_flt of process and
|
cmaj_flt, /* cumulative maj_flt of process and
|
||||||
* child processes */
|
* child processes */
|
||||||
guint64 kstk_esp; /* kernel stack pointer */
|
kstk_esp, /* kernel stack pointer */
|
||||||
guint64 kstk_eip; /* kernel stack pointer */
|
kstk_eip, /* kernel stack pointer */
|
||||||
guint64 nwchan; /* address of kernel wait channel
|
nwchan; /* address of kernel wait channel
|
||||||
* proc is sleeping in */
|
* proc is sleeping in */
|
||||||
char wchan [40];
|
char wchan [40];
|
||||||
};
|
};
|
||||||
|
|
||||||
void glibtop_get_proc_kernel(glibtop_proc_kernel *buf, pid_t pid);
|
#define glibtop_get_proc_kernel(p1, p2) glibtop_get_proc_kernel_l(glibtop_global_server, p1, p2)
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_KERNEL
|
#if GLIBTOP_SUID_PROC_KERNEL
|
||||||
#define glibtop_get_proc_kernel_r glibtop_get_proc_kernel_p
|
#define glibtop_get_proc_kernel_r glibtop_get_proc_kernel_p
|
||||||
@@ -73,14 +75,24 @@ void glibtop_get_proc_kernel(glibtop_proc_kernel *buf, pid_t pid);
|
|||||||
void glibtop_get_proc_kernel_l (glibtop *server, glibtop_proc_kernel *buf, pid_t pid);
|
void glibtop_get_proc_kernel_l (glibtop *server, glibtop_proc_kernel *buf, pid_t pid);
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_KERNEL
|
#if GLIBTOP_SUID_PROC_KERNEL
|
||||||
void _glibtop_init_proc_kernel_p (glibtop *server);
|
void glibtop_init_proc_kernel_p (glibtop *server);
|
||||||
void glibtop_get_proc_kernel_p (glibtop *server, glibtop_proc_kernel *buf, pid_t pid);
|
void glibtop_get_proc_kernel_p (glibtop *server, glibtop_proc_kernel *buf, pid_t pid);
|
||||||
#else
|
#else
|
||||||
void _glibtop_init_proc_kernel_s (glibtop *server);
|
void glibtop_init_proc_kernel_s (glibtop *server);
|
||||||
void glibtop_get_proc_kernel_s (glibtop *server, glibtop_proc_kernel *buf, pid_t pid);
|
void glibtop_get_proc_kernel_s (glibtop *server, glibtop_proc_kernel *buf, pid_t pid);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef GLIBTOP_NAMES
|
||||||
|
|
||||||
G_END_DECLS
|
/* You need to link with -lgtop_names to get this stuff here. */
|
||||||
|
|
||||||
|
extern const char *glibtop_names_proc_kernel [];
|
||||||
|
extern const unsigned glibtop_types_proc_kernel [];
|
||||||
|
extern const char *glibtop_labels_proc_kernel [];
|
||||||
|
extern const char *glibtop_descriptions_proc_kernel [];
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
END_LIBGTOP_DECLS
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
/* $Id$ */
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
/* Copyright (C) 1998-99 Martin Baulig
|
||||||
This file is part of LibGTop 1.0.
|
This file is part of LibGTop 1.0.
|
||||||
|
|
||||||
@@ -25,7 +27,7 @@
|
|||||||
#include <glibtop.h>
|
#include <glibtop.h>
|
||||||
#include <glibtop/global.h>
|
#include <glibtop/global.h>
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
BEGIN_LIBGTOP_DECLS
|
||||||
|
|
||||||
#define GLIBTOP_PROCLIST_NUMBER 0
|
#define GLIBTOP_PROCLIST_NUMBER 0
|
||||||
#define GLIBTOP_PROCLIST_TOTAL 1
|
#define GLIBTOP_PROCLIST_TOTAL 1
|
||||||
@@ -54,14 +56,13 @@ typedef struct _glibtop_proclist glibtop_proclist;
|
|||||||
|
|
||||||
struct _glibtop_proclist
|
struct _glibtop_proclist
|
||||||
{
|
{
|
||||||
guint64 flags;
|
u_int64_t flags,
|
||||||
guint64 number; /* GLIBTOP_PROCLIST_NUMBER */
|
number, /* GLIBTOP_PROCLIST_NUMBER */
|
||||||
guint64 total; /* GLIBTOP_PROCLIST_TOTAL */
|
total, /* GLIBTOP_PROCLIST_TOTAL */
|
||||||
guint64 size; /* GLIBTOP_PROCLIST_SIZE */
|
size; /* GLIBTOP_PROCLIST_SIZE */
|
||||||
};
|
};
|
||||||
|
|
||||||
pid_t*
|
#define glibtop_get_proclist(proclist,which,arg) glibtop_get_proclist_l(glibtop_global_server, proclist, which, arg)
|
||||||
glibtop_get_proclist(glibtop_proclist *buf, gint64 which, gint64 arg);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROCLIST
|
#if GLIBTOP_SUID_PROCLIST
|
||||||
#define glibtop_get_proclist_r glibtop_get_proclist_p
|
#define glibtop_get_proclist_r glibtop_get_proclist_p
|
||||||
@@ -69,25 +70,35 @@ glibtop_get_proclist(glibtop_proclist *buf, gint64 which, gint64 arg);
|
|||||||
#define glibtop_get_proclist_r glibtop_get_proclist_s
|
#define glibtop_get_proclist_r glibtop_get_proclist_s
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
pid_t*
|
unsigned *
|
||||||
glibtop_get_proclist_l (glibtop *server, glibtop_proclist *buf,
|
glibtop_get_proclist_l (glibtop *server, glibtop_proclist *buf,
|
||||||
gint64 which, gint64 arg);
|
int64_t which, int64_t arg);
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROCLIST
|
#if GLIBTOP_SUID_PROCLIST
|
||||||
void _glibtop_init_proclist_p (glibtop *server);
|
void glibtop_init_proclist_p (glibtop *server);
|
||||||
|
|
||||||
pid_t*
|
unsigned *
|
||||||
glibtop_get_proclist_p (glibtop *server, glibtop_proclist *buf,
|
glibtop_get_proclist_p (glibtop *server, glibtop_proclist *buf,
|
||||||
gint64 which, gint64 arg);
|
int64_t which, int64_t arg);
|
||||||
#else
|
#else
|
||||||
void _glibtop_init_proclist_s (glibtop *server);
|
void glibtop_init_proclist_s (glibtop *server);
|
||||||
|
|
||||||
pid_t*
|
unsigned *
|
||||||
glibtop_get_proclist_s (glibtop *server, glibtop_proclist *buf,
|
glibtop_get_proclist_s (glibtop *server, glibtop_proclist *buf,
|
||||||
gint64 which, gint64 arg);
|
int64_t which, int64_t arg);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef GLIBTOP_NAMES
|
||||||
|
|
||||||
G_END_DECLS
|
/* You need to link with -lgtop_names to get this stuff here. */
|
||||||
|
|
||||||
|
extern const char *glibtop_names_proclist [];
|
||||||
|
extern const unsigned glibtop_types_proclist [];
|
||||||
|
extern const char *glibtop_labels_proclist [];
|
||||||
|
extern const char *glibtop_descriptions_proclist [];
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
END_LIBGTOP_DECLS
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
/* $Id$ */
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
/* Copyright (C) 1998-99 Martin Baulig
|
||||||
This file is part of LibGTop 1.0.
|
This file is part of LibGTop 1.0.
|
||||||
|
|
||||||
@@ -25,7 +27,7 @@
|
|||||||
#include <glibtop.h>
|
#include <glibtop.h>
|
||||||
#include <glibtop/global.h>
|
#include <glibtop/global.h>
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
BEGIN_LIBGTOP_DECLS
|
||||||
|
|
||||||
#define GLIBTOP_PROC_MAP_NUMBER 0
|
#define GLIBTOP_PROC_MAP_NUMBER 0
|
||||||
#define GLIBTOP_PROC_MAP_TOTAL 1
|
#define GLIBTOP_PROC_MAP_TOTAL 1
|
||||||
@@ -33,23 +35,15 @@ G_BEGIN_DECLS
|
|||||||
|
|
||||||
#define GLIBTOP_MAX_PROC_MAP 3
|
#define GLIBTOP_MAX_PROC_MAP 3
|
||||||
|
|
||||||
#define GLIBTOP_MAP_ENTRY_START 0
|
#define GLIBTOP_MAP_ENTRY_START 1
|
||||||
#define GLIBTOP_MAP_ENTRY_END 1
|
#define GLIBTOP_MAP_ENTRY_END 2
|
||||||
#define GLIBTOP_MAP_ENTRY_OFFSET 2
|
#define GLIBTOP_MAP_ENTRY_OFFSET 3
|
||||||
#define GLIBTOP_MAP_ENTRY_PERM 3
|
#define GLIBTOP_MAP_ENTRY_PERM 4
|
||||||
#define GLIBTOP_MAP_ENTRY_INODE 4
|
#define GLIBTOP_MAP_ENTRY_INODE 5
|
||||||
#define GLIBTOP_MAP_ENTRY_DEVICE 5
|
#define GLIBTOP_MAP_ENTRY_DEVICE 6
|
||||||
#define GLIBTOP_MAP_ENTRY_FILENAME 6
|
#define GLIBTOP_MAP_ENTRY_FILENAME 7
|
||||||
|
|
||||||
/* Smap support */
|
#define GLIBTOP_MAX_MAP_ENTRY 8
|
||||||
#define GLIBTOP_MAP_ENTRY_SIZE 7
|
|
||||||
#define GLIBTOP_MAP_ENTRY_RSS 8
|
|
||||||
#define GLIBTOP_MAP_ENTRY_SHARED_CLEAN 9
|
|
||||||
#define GLIBTOP_MAP_ENTRY_SHARED_DIRTY 10
|
|
||||||
#define GLIBTOP_MAP_ENTRY_PRIVATE_CLEAN 11
|
|
||||||
#define GLIBTOP_MAP_ENTRY_PRIVATE_DIRTY 12
|
|
||||||
|
|
||||||
#define GLIBTOP_MAX_MAP_ENTRY 13
|
|
||||||
|
|
||||||
#define GLIBTOP_MAP_FILENAME_LEN 215
|
#define GLIBTOP_MAP_FILENAME_LEN 215
|
||||||
|
|
||||||
@@ -65,32 +59,19 @@ typedef struct _glibtop_proc_map glibtop_proc_map;
|
|||||||
|
|
||||||
struct _glibtop_map_entry
|
struct _glibtop_map_entry
|
||||||
{
|
{
|
||||||
guint64 flags;
|
u_int64_t flags, start, end, offset, perm, inode, device;
|
||||||
guint64 start;
|
|
||||||
guint64 end;
|
|
||||||
guint64 offset;
|
|
||||||
guint64 perm;
|
|
||||||
guint64 inode;
|
|
||||||
guint64 device;
|
|
||||||
guint64 size;
|
|
||||||
guint64 rss;
|
|
||||||
guint64 shared_clean;
|
|
||||||
guint64 shared_dirty;
|
|
||||||
guint64 private_clean;
|
|
||||||
guint64 private_dirty;
|
|
||||||
char filename [GLIBTOP_MAP_FILENAME_LEN+1];
|
char filename [GLIBTOP_MAP_FILENAME_LEN+1];
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _glibtop_proc_map
|
struct _glibtop_proc_map
|
||||||
{
|
{
|
||||||
guint64 flags;
|
u_int64_t flags,
|
||||||
guint64 number; /* GLIBTOP_PROC_MAP_NUMBER */
|
number, /* GLIBTOP_PROC_MAP_NUMBER */
|
||||||
guint64 total; /* GLIBTOP_PROC_MAP_TOTAL */
|
total, /* GLIBTOP_PROC_MAP_TOTAL */
|
||||||
guint64 size; /* GLIBTOP_PROC_MAP_SIZE */
|
size; /* GLIBTOP_PROC_MAP_SIZE */
|
||||||
};
|
};
|
||||||
glibtop_map_entry *
|
|
||||||
glibtop_get_proc_map(glibtop_proc_map *buf, pid_t pid);
|
|
||||||
|
|
||||||
|
#define glibtop_get_proc_map(proc_map,pid) glibtop_get_proc_map_l(glibtop_global_server, proc_map, pid)
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_MAP
|
#if GLIBTOP_SUID_PROC_MAP
|
||||||
#define glibtop_get_proc_map_r glibtop_get_proc_map_p
|
#define glibtop_get_proc_map_r glibtop_get_proc_map_p
|
||||||
@@ -102,18 +83,28 @@ glibtop_map_entry *
|
|||||||
glibtop_get_proc_map_l (glibtop *server, glibtop_proc_map *buf, pid_t pid);
|
glibtop_get_proc_map_l (glibtop *server, glibtop_proc_map *buf, pid_t pid);
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_MAP
|
#if GLIBTOP_SUID_PROC_MAP
|
||||||
void _glibtop_init_proc_map_p (glibtop *server);
|
void glibtop_init_proc_map_p (glibtop *server);
|
||||||
|
|
||||||
glibtop_map_entry *
|
glibtop_map_entry *
|
||||||
glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf, pid_t pid);
|
glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf, pid_t pid);
|
||||||
#else
|
#else
|
||||||
void _glibtop_init_proc_map_s (glibtop *server);
|
void glibtop_init_proc_map_s (glibtop *server);
|
||||||
|
|
||||||
glibtop_map_entry *
|
glibtop_map_entry *
|
||||||
glibtop_get_proc_map_s (glibtop *server, glibtop_proc_map *buf, pid_t pid);
|
glibtop_get_proc_map_s (glibtop *server, glibtop_proc_map *buf, pid_t pid);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef GLIBTOP_NAMES
|
||||||
|
|
||||||
G_END_DECLS
|
/* You need to link with -lgtop_names to get this stuff here. */
|
||||||
|
|
||||||
|
extern const char *glibtop_names_proc_map [];
|
||||||
|
extern const unsigned glibtop_types_proc_map [];
|
||||||
|
extern const char *glibtop_labels_proc_map [];
|
||||||
|
extern const char *glibtop_descriptions_proc_map [];
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
END_LIBGTOP_DECLS
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
/* $Id$ */
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
/* Copyright (C) 1998-99 Martin Baulig
|
||||||
This file is part of LibGTop 1.0.
|
This file is part of LibGTop 1.0.
|
||||||
|
|
||||||
@@ -25,7 +27,7 @@
|
|||||||
#include <glibtop.h>
|
#include <glibtop.h>
|
||||||
#include <glibtop/global.h>
|
#include <glibtop/global.h>
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
BEGIN_LIBGTOP_DECLS
|
||||||
|
|
||||||
#define GLIBTOP_PROC_MEM_SIZE 0
|
#define GLIBTOP_PROC_MEM_SIZE 0
|
||||||
#define GLIBTOP_PROC_MEM_VSIZE 1
|
#define GLIBTOP_PROC_MEM_VSIZE 1
|
||||||
@@ -42,18 +44,18 @@ typedef struct _glibtop_proc_mem glibtop_proc_mem;
|
|||||||
|
|
||||||
struct _glibtop_proc_mem
|
struct _glibtop_proc_mem
|
||||||
{
|
{
|
||||||
guint64 flags;
|
u_int64_t flags,
|
||||||
guint64 size; /* total # of pages of memory */
|
size, /* total # of pages of memory */
|
||||||
guint64 vsize; /* number of pages of virtual memory ... */
|
vsize, /* number of pages of virtual memory ... */
|
||||||
guint64 resident; /* number of resident set
|
resident, /* number of resident set
|
||||||
* (non-swapped) pages (4k) */
|
* (non-swapped) pages (4k) */
|
||||||
guint64 share; /* number of pages of shared (mmap'd) memory */
|
share, /* number of pages of shared (mmap'd) memory */
|
||||||
guint64 rss; /* resident set size */
|
rss, /* resident set size */
|
||||||
guint64 rss_rlim; /* current limit (in bytes) of the rss
|
rss_rlim; /* current limit (in bytes) of the rss
|
||||||
* of the process; usually 2,147,483,647 */
|
* of the process; usually 2,147,483,647 */
|
||||||
};
|
};
|
||||||
|
|
||||||
void glibtop_get_proc_mem(glibtop_proc_mem *buf, pid_t pid);
|
#define glibtop_get_proc_mem(p1, p2) glibtop_get_proc_mem_l(glibtop_global_server, p1, p2)
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_MEM
|
#if GLIBTOP_SUID_PROC_MEM
|
||||||
#define glibtop_get_proc_mem_r glibtop_get_proc_mem_p
|
#define glibtop_get_proc_mem_r glibtop_get_proc_mem_p
|
||||||
@@ -64,14 +66,24 @@ void glibtop_get_proc_mem(glibtop_proc_mem *buf, pid_t pid);
|
|||||||
void glibtop_get_proc_mem_l (glibtop *server, glibtop_proc_mem *buf, pid_t pid);
|
void glibtop_get_proc_mem_l (glibtop *server, glibtop_proc_mem *buf, pid_t pid);
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_MEM
|
#if GLIBTOP_SUID_PROC_MEM
|
||||||
void _glibtop_init_proc_mem_p (glibtop *server);
|
void glibtop_init_proc_mem_p (glibtop *server);
|
||||||
void glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_mem *buf, pid_t pid);
|
void glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_mem *buf, pid_t pid);
|
||||||
#else
|
#else
|
||||||
void _glibtop_init_proc_mem_s (glibtop *server);
|
void glibtop_init_proc_mem_s (glibtop *server);
|
||||||
void glibtop_get_proc_mem_s (glibtop *server, glibtop_proc_mem *buf, pid_t pid);
|
void glibtop_get_proc_mem_s (glibtop *server, glibtop_proc_mem *buf, pid_t pid);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef GLIBTOP_NAMES
|
||||||
|
|
||||||
G_END_DECLS
|
/* You need to link with -lgtop_names to get this stuff here. */
|
||||||
|
|
||||||
|
extern const char *glibtop_names_proc_mem [];
|
||||||
|
extern const unsigned glibtop_types_proc_mem [];
|
||||||
|
extern const char *glibtop_labels_proc_mem [];
|
||||||
|
extern const char *glibtop_descriptions_proc_mem [];
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
END_LIBGTOP_DECLS
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -1,123 +0,0 @@
|
|||||||
/* Copyright (C) 1998-99 Martin Baulig
|
|
||||||
Copyright (C) 2004 Nicolás Lichtmaier
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
|
||||||
|
|
||||||
Modified by Nicolás Lichtmaier to give open process files.
|
|
||||||
|
|
||||||
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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PROC_OPEN_FILES_H__
|
|
||||||
#define __GLIBTOP_PROC_OPEN_FILES_H__
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/global.h>
|
|
||||||
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
|
||||||
|
|
||||||
#define GLIBTOP_PROC_OPEN_FILES_NUMBER 0
|
|
||||||
#define GLIBTOP_PROC_OPEN_FILES_TOTAL 1
|
|
||||||
#define GLIBTOP_PROC_OPEN_FILES_SIZE 2
|
|
||||||
|
|
||||||
#define GLIBTOP_MAX_PROC_OPEN_FILES 3
|
|
||||||
|
|
||||||
#define GLIBTOP_FILE_ENTRY_FD 0
|
|
||||||
#define GLIBTOP_FILE_ENTRY_NAME 1
|
|
||||||
#define GLIBTOP_FILE_ENTRY_TYPE 2
|
|
||||||
#define GLIBTOP_FILE_ENTRY_INETSOCKET_DST_HOST 3
|
|
||||||
#define GLIBTOP_FILE_ENTRY_INETSOCKET_DST_PORT 4
|
|
||||||
|
|
||||||
#define GLIBTOP_MAX_OPEN_FILE_ENTRY 5
|
|
||||||
|
|
||||||
#define GLIBTOP_OPEN_FILENAME_LEN 215
|
|
||||||
/* ready for IPv6 */
|
|
||||||
#define GLIBTOP_OPEN_DEST_HOST_LEN 46
|
|
||||||
|
|
||||||
enum glibtop_file_type {
|
|
||||||
GLIBTOP_FILE_TYPE_FILE = 1,
|
|
||||||
GLIBTOP_FILE_TYPE_PIPE = 2,
|
|
||||||
GLIBTOP_FILE_TYPE_INETSOCKET = 4,
|
|
||||||
GLIBTOP_FILE_TYPE_LOCALSOCKET = 8,
|
|
||||||
GLIBTOP_FILE_TYPE_INET6SOCKET = 16
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef struct _glibtop_open_files_entry glibtop_open_files_entry;
|
|
||||||
|
|
||||||
typedef struct _glibtop_proc_open_files glibtop_proc_open_files;
|
|
||||||
|
|
||||||
struct _glibtop_open_files_entry
|
|
||||||
{
|
|
||||||
int fd;
|
|
||||||
guint16 type; /* An "enum glibtop_file_type" value. */
|
|
||||||
union {
|
|
||||||
/* When type == GLIBTOP_FILE_TYPE_INETSOCKET or
|
|
||||||
* when type == GLIBTOP_FILE_TYPE_INET6SOCKET */
|
|
||||||
struct {
|
|
||||||
char dest_host[GLIBTOP_OPEN_DEST_HOST_LEN+1];
|
|
||||||
int dest_port;
|
|
||||||
} sock;
|
|
||||||
|
|
||||||
/* When type == GLIBTOP_FILE_TYPE_FILE */
|
|
||||||
struct {
|
|
||||||
char name[GLIBTOP_OPEN_FILENAME_LEN+1];
|
|
||||||
} file;
|
|
||||||
|
|
||||||
/* When type == GLIBTOP_FILE_TYPE_LOCALSOCKET */
|
|
||||||
struct {
|
|
||||||
char name[GLIBTOP_OPEN_FILENAME_LEN+1];
|
|
||||||
} localsock;
|
|
||||||
|
|
||||||
} info;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct _glibtop_proc_open_files
|
|
||||||
{
|
|
||||||
guint64 flags;
|
|
||||||
guint64 number; /* GLIBTOP_PROC_OPEN_FILES_NUMBER */
|
|
||||||
guint64 total; /* GLIBTOP_PROC_OPEN_FILES_TOTAL */
|
|
||||||
guint64 size; /* GLIBTOP_PROC_OPEN_FILES_SIZE */
|
|
||||||
};
|
|
||||||
|
|
||||||
glibtop_open_files_entry *
|
|
||||||
glibtop_get_proc_open_files(glibtop_proc_open_files *buf, pid_t pid);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_FILE
|
|
||||||
#define glibtop_get_proc_open_files_r glibtop_get_proc_open_files_p
|
|
||||||
#else
|
|
||||||
#define glibtop_get_proc_open_files_r glibtop_get_proc_open_files_s
|
|
||||||
#endif
|
|
||||||
|
|
||||||
glibtop_open_files_entry *
|
|
||||||
glibtop_get_proc_open_files_l (glibtop *server, glibtop_proc_open_files *buf, pid_t pid);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_FILE
|
|
||||||
void _glibtop_init_proc_open_files_p (glibtop *server);
|
|
||||||
|
|
||||||
glibtop_open_files_entry *
|
|
||||||
glibtop_get_proc_open_files_p (glibtop *server, glibtop_proc_open_files *buf, pid_t pid);
|
|
||||||
#else
|
|
||||||
void _glibtop_init_proc_open_files_s (glibtop *server);
|
|
||||||
|
|
||||||
glibtop_open_files_entry *
|
|
||||||
glibtop_get_proc_open_files_s (glibtop *server, glibtop_proc_open_files *buf, pid_t pid);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,3 +1,5 @@
|
|||||||
|
/* $Id$ */
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
/* Copyright (C) 1998-99 Martin Baulig
|
||||||
This file is part of LibGTop 1.0.
|
This file is part of LibGTop 1.0.
|
||||||
|
|
||||||
@@ -25,7 +27,7 @@
|
|||||||
#include <glibtop.h>
|
#include <glibtop.h>
|
||||||
#include <glibtop/global.h>
|
#include <glibtop/global.h>
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
BEGIN_LIBGTOP_DECLS
|
||||||
|
|
||||||
#define GLIBTOP_PROC_SEGMENT_TEXT_RSS 0
|
#define GLIBTOP_PROC_SEGMENT_TEXT_RSS 0
|
||||||
#define GLIBTOP_PROC_SEGMENT_SHLIB_RSS 1
|
#define GLIBTOP_PROC_SEGMENT_SHLIB_RSS 1
|
||||||
@@ -44,19 +46,19 @@ typedef struct _glibtop_proc_segment glibtop_proc_segment;
|
|||||||
|
|
||||||
struct _glibtop_proc_segment
|
struct _glibtop_proc_segment
|
||||||
{
|
{
|
||||||
guint64 flags;
|
u_int64_t flags,
|
||||||
guint64 text_rss; /* text resident set size */
|
text_rss, /* text resident set size */
|
||||||
guint64 shlib_rss; /* shared-lib resident set size */
|
shlib_rss, /* shared-lib resident set size */
|
||||||
guint64 data_rss; /* data resident set size */
|
data_rss, /* data resident set size */
|
||||||
guint64 stack_rss; /* stack resident set size */
|
stack_rss, /* stack resident set size */
|
||||||
guint64 dirty_size; /* size of dirty pages */
|
dirty_size, /* size of dirty pages */
|
||||||
guint64 start_code;
|
start_code,
|
||||||
/* address of beginning of code segment */
|
/* address of beginning of code segment */
|
||||||
guint64 end_code; /* address of end of code segment */
|
end_code, /* address of end of code segment */
|
||||||
guint64 start_stack; /* address of the bottom of stack segment */
|
start_stack; /* address of the bottom of stack segment */
|
||||||
};
|
};
|
||||||
|
|
||||||
void glibtop_get_proc_segment(glibtop_proc_segment *buf, pid_t pid);
|
#define glibtop_get_proc_segment(p1, p2) glibtop_get_proc_segment_l(glibtop_global_server, p1, p2)
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_SEGMENT
|
#if GLIBTOP_SUID_PROC_SEGMENT
|
||||||
#define glibtop_get_proc_segment_r glibtop_get_proc_segment_p
|
#define glibtop_get_proc_segment_r glibtop_get_proc_segment_p
|
||||||
@@ -67,14 +69,24 @@ void glibtop_get_proc_segment(glibtop_proc_segment *buf, pid_t pid);
|
|||||||
void glibtop_get_proc_segment_l (glibtop *server, glibtop_proc_segment *buf, pid_t pid);
|
void glibtop_get_proc_segment_l (glibtop *server, glibtop_proc_segment *buf, pid_t pid);
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_SEGMENT
|
#if GLIBTOP_SUID_PROC_SEGMENT
|
||||||
void _glibtop_init_proc_segment_p (glibtop *server);
|
void glibtop_init_proc_segment_p (glibtop *server);
|
||||||
void glibtop_get_proc_segment_p (glibtop *server, glibtop_proc_segment *buf, pid_t pid);
|
void glibtop_get_proc_segment_p (glibtop *server, glibtop_proc_segment *buf, pid_t pid);
|
||||||
#else
|
#else
|
||||||
void _glibtop_init_proc_segment_s (glibtop *server);
|
void glibtop_init_proc_segment_s (glibtop *server);
|
||||||
void glibtop_get_proc_segment_s (glibtop *server, glibtop_proc_segment *buf, pid_t pid);
|
void glibtop_get_proc_segment_s (glibtop *server, glibtop_proc_segment *buf, pid_t pid);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef GLIBTOP_NAMES
|
||||||
|
|
||||||
G_END_DECLS
|
/* You need to link with -lgtop_names to get this stuff here. */
|
||||||
|
|
||||||
|
extern const char *glibtop_names_proc_segment [];
|
||||||
|
extern const unsigned glibtop_types_proc_segment [];
|
||||||
|
extern const char *glibtop_labels_proc_segment [];
|
||||||
|
extern const char *glibtop_descriptions_proc_segment [];
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
END_LIBGTOP_DECLS
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
/* $Id$ */
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
/* Copyright (C) 1998-99 Martin Baulig
|
||||||
This file is part of LibGTop 1.0.
|
This file is part of LibGTop 1.0.
|
||||||
|
|
||||||
@@ -25,7 +27,7 @@
|
|||||||
#include <glibtop.h>
|
#include <glibtop.h>
|
||||||
#include <glibtop/global.h>
|
#include <glibtop/global.h>
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
BEGIN_LIBGTOP_DECLS
|
||||||
|
|
||||||
#define GLIBTOP_PROC_SIGNAL_SIGNAL 0
|
#define GLIBTOP_PROC_SIGNAL_SIGNAL 0
|
||||||
#define GLIBTOP_PROC_SIGNAL_BLOCKED 1
|
#define GLIBTOP_PROC_SIGNAL_BLOCKED 1
|
||||||
@@ -40,14 +42,14 @@ typedef struct _glibtop_proc_signal glibtop_proc_signal;
|
|||||||
|
|
||||||
struct _glibtop_proc_signal
|
struct _glibtop_proc_signal
|
||||||
{
|
{
|
||||||
guint64 flags;
|
u_int64_t flags,
|
||||||
guint64 signal [2]; /* mask of pending signals */
|
signal [2], /* mask of pending signals */
|
||||||
guint64 blocked [2]; /* mask of blocked signals */
|
blocked [2], /* mask of blocked signals */
|
||||||
guint64 sigignore [2]; /* mask of ignored signals */
|
sigignore [2], /* mask of ignored signals */
|
||||||
guint64 sigcatch [2]; /* mask of caught signals */
|
sigcatch [2]; /* mask of caught signals */
|
||||||
};
|
};
|
||||||
|
|
||||||
void glibtop_get_proc_signal(glibtop_proc_signal *buf, pid_t pid);
|
#define glibtop_get_proc_signal(p1, p2) glibtop_get_proc_signal_l(glibtop_global_server, p1, p2)
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_SIGNAL
|
#if GLIBTOP_SUID_PROC_SIGNAL
|
||||||
#define glibtop_get_proc_signal_r glibtop_get_proc_signal_p
|
#define glibtop_get_proc_signal_r glibtop_get_proc_signal_p
|
||||||
@@ -58,14 +60,24 @@ void glibtop_get_proc_signal(glibtop_proc_signal *buf, pid_t pid);
|
|||||||
void glibtop_get_proc_signal_l (glibtop *server, glibtop_proc_signal *buf, pid_t pid);
|
void glibtop_get_proc_signal_l (glibtop *server, glibtop_proc_signal *buf, pid_t pid);
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_SIGNAL
|
#if GLIBTOP_SUID_PROC_SIGNAL
|
||||||
void _glibtop_init_proc_signal_p (glibtop *server);
|
void glibtop_init_proc_signal_p (glibtop *server);
|
||||||
void glibtop_get_proc_signal_p (glibtop *server, glibtop_proc_signal *buf, pid_t pid);
|
void glibtop_get_proc_signal_p (glibtop *server, glibtop_proc_signal *buf, pid_t pid);
|
||||||
#else
|
#else
|
||||||
void _glibtop_init_proc_signal_s (glibtop *server);
|
void glibtop_init_proc_signal_s (glibtop *server);
|
||||||
void glibtop_get_proc_signal_s (glibtop *server, glibtop_proc_signal *buf, pid_t pid);
|
void glibtop_get_proc_signal_s (glibtop *server, glibtop_proc_signal *buf, pid_t pid);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef GLIBTOP_NAMES
|
||||||
|
|
||||||
G_END_DECLS
|
/* You need to link with -lgtop_names to get this stuff here. */
|
||||||
|
|
||||||
|
extern const char *glibtop_names_proc_signal [];
|
||||||
|
extern const unsigned glibtop_types_proc_signal [];
|
||||||
|
extern const char *glibtop_labels_proc_signal [];
|
||||||
|
extern const char *glibtop_descriptions_proc_signal [];
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
END_LIBGTOP_DECLS
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
/* $Id$ */
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
/* Copyright (C) 1998-99 Martin Baulig
|
||||||
This file is part of LibGTop 1.0.
|
This file is part of LibGTop 1.0.
|
||||||
|
|
||||||
@@ -25,27 +27,14 @@
|
|||||||
#include <glibtop.h>
|
#include <glibtop.h>
|
||||||
#include <glibtop/global.h>
|
#include <glibtop/global.h>
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
BEGIN_LIBGTOP_DECLS
|
||||||
|
|
||||||
#define GLIBTOP_PROC_STATE_CMD 0
|
#define GLIBTOP_PROC_STATE_CMD 0
|
||||||
#define GLIBTOP_PROC_STATE_STATE 1
|
#define GLIBTOP_PROC_STATE_STATE 1
|
||||||
#define GLIBTOP_PROC_STATE_UID 2
|
#define GLIBTOP_PROC_STATE_UID 2
|
||||||
#define GLIBTOP_PROC_STATE_GID 3
|
#define GLIBTOP_PROC_STATE_GID 3
|
||||||
#define GLIBTOP_PROC_STATE_RUID 4
|
|
||||||
#define GLIBTOP_PROC_STATE_RGID 5
|
|
||||||
#define GLIBTOP_PROC_STATE_HAS_CPU 6
|
|
||||||
#define GLIBTOP_PROC_STATE_PROCESSOR 7
|
|
||||||
#define GLIBTOP_PROC_STATE_LAST_PROCESSOR 8
|
|
||||||
|
|
||||||
#define GLIBTOP_MAX_PROC_STATE 9
|
#define GLIBTOP_MAX_PROC_STATE 4
|
||||||
|
|
||||||
#define GLIBTOP_PROCESS_RUNNING 1
|
|
||||||
#define GLIBTOP_PROCESS_INTERRUPTIBLE 2
|
|
||||||
#define GLIBTOP_PROCESS_UNINTERRUPTIBLE 4
|
|
||||||
#define GLIBTOP_PROCESS_ZOMBIE 8
|
|
||||||
#define GLIBTOP_PROCESS_STOPPED 16
|
|
||||||
#define GLIBTOP_PROCESS_SWAPPING 32
|
|
||||||
#define GLIBTOP_PROCESS_DEAD 64
|
|
||||||
|
|
||||||
typedef struct _glibtop_proc_state glibtop_proc_state;
|
typedef struct _glibtop_proc_state glibtop_proc_state;
|
||||||
|
|
||||||
@@ -53,25 +42,21 @@ typedef struct _glibtop_proc_state glibtop_proc_state;
|
|||||||
|
|
||||||
struct _glibtop_proc_state
|
struct _glibtop_proc_state
|
||||||
{
|
{
|
||||||
guint64 flags;
|
u_int64_t flags;
|
||||||
char cmd[40]; /* basename of executable file in
|
char cmd[40], /* basename of executable file in
|
||||||
* call to exec(2) */
|
* call to exec(2) */
|
||||||
unsigned state;
|
state; /* single-char code for process state
|
||||||
|
* (S=sleeping) */
|
||||||
/* NOTE: when porting the library, TRY HARD to implement the
|
/* NOTE: when porting the library, TRY HARD to implement the
|
||||||
* following two fields. */
|
* following two fields. */
|
||||||
/* IMPORTANT NOTICE: For security reasons, it is extremely important
|
/* IMPORTANT NOTICE: For security reasons, it is extremely important
|
||||||
* only to set the flags value for those two
|
* only to set the flags value for those two
|
||||||
* fields if their values are corrent ! */
|
* fields if their values are corrent ! */
|
||||||
int uid; /* UID of process */
|
int uid, /* UID of process */
|
||||||
int gid; /* GID of process */
|
gid; /* GID of process */
|
||||||
int ruid;
|
|
||||||
int rgid;
|
|
||||||
int has_cpu;
|
|
||||||
int processor;
|
|
||||||
int last_processor;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
void glibtop_get_proc_state(glibtop_proc_state *buf, pid_t pid);
|
#define glibtop_get_proc_state(p1, p2) glibtop_get_proc_state_l(glibtop_global_server, p1, p2)
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_STATE
|
#if GLIBTOP_SUID_PROC_STATE
|
||||||
#define glibtop_get_proc_state_r glibtop_get_proc_state_p
|
#define glibtop_get_proc_state_r glibtop_get_proc_state_p
|
||||||
@@ -82,14 +67,24 @@ void glibtop_get_proc_state(glibtop_proc_state *buf, pid_t pid);
|
|||||||
void glibtop_get_proc_state_l (glibtop *server, glibtop_proc_state *buf, pid_t pid);
|
void glibtop_get_proc_state_l (glibtop *server, glibtop_proc_state *buf, pid_t pid);
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_STATE
|
#if GLIBTOP_SUID_PROC_STATE
|
||||||
void _glibtop_init_proc_state_p (glibtop *server);
|
void glibtop_init_proc_state_p (glibtop *server);
|
||||||
void glibtop_get_proc_state_p (glibtop *server, glibtop_proc_state *buf, pid_t pid);
|
void glibtop_get_proc_state_p (glibtop *server, glibtop_proc_state *buf, pid_t pid);
|
||||||
#else
|
#else
|
||||||
void _glibtop_init_proc_state_s (glibtop *server);
|
void glibtop_init_proc_state_s (glibtop *server);
|
||||||
void glibtop_get_proc_state_s (glibtop *server, glibtop_proc_state *buf, pid_t pid);
|
void glibtop_get_proc_state_s (glibtop *server, glibtop_proc_state *buf, pid_t pid);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef GLIBTOP_NAMES
|
||||||
|
|
||||||
G_END_DECLS
|
/* You need to link with -lgtop_names to get this stuff here. */
|
||||||
|
|
||||||
|
extern const char *glibtop_names_proc_state [];
|
||||||
|
extern const unsigned glibtop_types_proc_state [];
|
||||||
|
extern const char *glibtop_labels_proc_state [];
|
||||||
|
extern const char *glibtop_descriptions_proc_state [];
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
END_LIBGTOP_DECLS
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
/* $Id$ */
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
/* Copyright (C) 1998-99 Martin Baulig
|
||||||
This file is part of LibGTop 1.0.
|
This file is part of LibGTop 1.0.
|
||||||
|
|
||||||
@@ -26,7 +28,7 @@
|
|||||||
#include <glibtop/cpu.h>
|
#include <glibtop/cpu.h>
|
||||||
#include <glibtop/global.h>
|
#include <glibtop/global.h>
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
BEGIN_LIBGTOP_DECLS
|
||||||
|
|
||||||
#define GLIBTOP_PROC_TIME_START_TIME 0
|
#define GLIBTOP_PROC_TIME_START_TIME 0
|
||||||
#define GLIBTOP_PROC_TIME_RTIME 1
|
#define GLIBTOP_PROC_TIME_RTIME 1
|
||||||
@@ -48,28 +50,27 @@ typedef struct _glibtop_proc_time glibtop_proc_time;
|
|||||||
|
|
||||||
struct _glibtop_proc_time
|
struct _glibtop_proc_time
|
||||||
{
|
{
|
||||||
guint64 flags;
|
u_int64_t flags,
|
||||||
guint64 start_time; /* start time of process --
|
start_time, /* start time of process --
|
||||||
* seconds since 1-1-70 */
|
* seconds since 1-1-70 */
|
||||||
guint64 rtime; /* real time accumulated by process */
|
rtime, /* real time accumulated by process */
|
||||||
guint64 utime; /* user-mode CPU time accumulated by process */
|
utime, /* user-mode CPU time accumulated by process */
|
||||||
guint64 stime; /* kernel-mode CPU time accumulated by process */
|
stime, /* kernel-mode CPU time accumulated by process */
|
||||||
guint64 cutime; /* cumulative utime of process and
|
cutime, /* cumulative utime of process and
|
||||||
* reaped children */
|
* reaped children */
|
||||||
guint64 cstime; /* cumulative stime of process and
|
cstime, /* cumulative stime of process and
|
||||||
* reaped children */
|
* reaped children */
|
||||||
guint64 timeout; /* The time (in jiffies) of the process's
|
timeout, /* The time (in jiffies) of the process's
|
||||||
* next timeout */
|
* next timeout */
|
||||||
guint64 it_real_value; /* The time (in jiffies) before the
|
it_real_value, /* The time (in jiffies) before the
|
||||||
* next SIGALRM is sent to the process
|
* next SIGALRM is sent to the process
|
||||||
* due to an interval timer. */
|
* due to an interval timer. */
|
||||||
guint64 frequency; /* Tick frequency. */
|
frequency, /* Tick frequency. */
|
||||||
guint64 xcpu_utime [GLIBTOP_NCPU]; /* utime and stime for all CPUs on */
|
xcpu_utime [GLIBTOP_NCPU], /* utime and stime for all CPUs on */
|
||||||
guint64 xcpu_stime [GLIBTOP_NCPU]; /* SMP machines. */
|
xcpu_stime [GLIBTOP_NCPU]; /* SMP machines. */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define glibtop_get_proc_time(p1, p2) glibtop_get_proc_time_l(glibtop_global_server, p1, p2)
|
||||||
void glibtop_get_proc_time(glibtop_proc_time *buf, pid_t pid);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_TIME
|
#if GLIBTOP_SUID_PROC_TIME
|
||||||
#define glibtop_get_proc_time_r glibtop_get_proc_time_p
|
#define glibtop_get_proc_time_r glibtop_get_proc_time_p
|
||||||
@@ -80,14 +81,24 @@ void glibtop_get_proc_time(glibtop_proc_time *buf, pid_t pid);
|
|||||||
void glibtop_get_proc_time_l (glibtop *server, glibtop_proc_time *buf, pid_t pid);
|
void glibtop_get_proc_time_l (glibtop *server, glibtop_proc_time *buf, pid_t pid);
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_TIME
|
#if GLIBTOP_SUID_PROC_TIME
|
||||||
void _glibtop_init_proc_time_p (glibtop *server);
|
void glibtop_init_proc_time_p (glibtop *server);
|
||||||
void glibtop_get_proc_time_p (glibtop *server, glibtop_proc_time *buf, pid_t pid);
|
void glibtop_get_proc_time_p (glibtop *server, glibtop_proc_time *buf, pid_t pid);
|
||||||
#else
|
#else
|
||||||
void _glibtop_init_proc_time_s (glibtop *server);
|
void glibtop_init_proc_time_s (glibtop *server);
|
||||||
void glibtop_get_proc_time_s (glibtop *server, glibtop_proc_time *buf, pid_t pid);
|
void glibtop_get_proc_time_s (glibtop *server, glibtop_proc_time *buf, pid_t pid);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef GLIBTOP_NAMES
|
||||||
|
|
||||||
G_END_DECLS
|
/* You need to link with -lgtop_names to get this stuff here. */
|
||||||
|
|
||||||
|
extern const char *glibtop_names_proc_time [];
|
||||||
|
extern const unsigned glibtop_types_proc_time [];
|
||||||
|
extern const char *glibtop_labels_proc_time [];
|
||||||
|
extern const char *glibtop_descriptions_proc_time [];
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
END_LIBGTOP_DECLS
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
/* $Id$ */
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
/* Copyright (C) 1998-99 Martin Baulig
|
||||||
This file is part of LibGTop 1.0.
|
This file is part of LibGTop 1.0.
|
||||||
|
|
||||||
@@ -25,60 +27,45 @@
|
|||||||
#include <glibtop.h>
|
#include <glibtop.h>
|
||||||
#include <glibtop/global.h>
|
#include <glibtop/global.h>
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
BEGIN_LIBGTOP_DECLS
|
||||||
|
|
||||||
#define GLIBTOP_PROC_UID_UID 0
|
#define GLIBTOP_PROC_UID_UID 0
|
||||||
#define GLIBTOP_PROC_UID_EUID 1
|
#define GLIBTOP_PROC_UID_EUID 1
|
||||||
#define GLIBTOP_PROC_UID_GID 2
|
#define GLIBTOP_PROC_UID_GID 2
|
||||||
#define GLIBTOP_PROC_UID_EGID 3
|
#define GLIBTOP_PROC_UID_EGID 3
|
||||||
#define GLIBTOP_PROC_UID_SUID 4
|
#define GLIBTOP_PROC_UID_PID 4
|
||||||
#define GLIBTOP_PROC_UID_SGID 5
|
#define GLIBTOP_PROC_UID_PPID 5
|
||||||
#define GLIBTOP_PROC_UID_FSUID 6
|
#define GLIBTOP_PROC_UID_PGRP 6
|
||||||
#define GLIBTOP_PROC_UID_FSGID 7
|
#define GLIBTOP_PROC_UID_SESSION 7
|
||||||
#define GLIBTOP_PROC_UID_PID 8
|
#define GLIBTOP_PROC_UID_TTY 8
|
||||||
#define GLIBTOP_PROC_UID_PPID 9
|
#define GLIBTOP_PROC_UID_TPGID 9
|
||||||
#define GLIBTOP_PROC_UID_PGRP 10
|
#define GLIBTOP_PROC_UID_PRIORITY 10
|
||||||
#define GLIBTOP_PROC_UID_SESSION 11
|
#define GLIBTOP_PROC_UID_NICE 11
|
||||||
#define GLIBTOP_PROC_UID_TTY 12
|
|
||||||
#define GLIBTOP_PROC_UID_TPGID 13
|
|
||||||
#define GLIBTOP_PROC_UID_PRIORITY 14
|
|
||||||
#define GLIBTOP_PROC_UID_NICE 15
|
|
||||||
#define GLIBTOP_PROC_UID_NGROUPS 16
|
|
||||||
#define GLIBTOP_PROC_UID_GROUPS 17
|
|
||||||
|
|
||||||
#define GLIBTOP_MAX_PROC_UID 18
|
#define GLIBTOP_MAX_PROC_UID 12
|
||||||
|
|
||||||
typedef struct _glibtop_proc_uid glibtop_proc_uid;
|
typedef struct _glibtop_proc_uid glibtop_proc_uid;
|
||||||
|
|
||||||
#define GLIBTOP_MAX_GROUPS 64
|
|
||||||
|
|
||||||
/* User, Group, Terminal and session */
|
/* User, Group, Terminal and session */
|
||||||
|
|
||||||
struct _glibtop_proc_uid
|
struct _glibtop_proc_uid
|
||||||
{
|
{
|
||||||
guint64 flags;
|
u_int64_t flags;
|
||||||
gint32 uid; /* user id */
|
int uid, /* user id */
|
||||||
gint32 euid; /* effective user id */
|
euid, /* effective user id */
|
||||||
gint32 gid; /* group id */
|
gid, /* group id */
|
||||||
gint32 egid; /* effective group id */
|
egid, /* effective group id */
|
||||||
gint32 suid; /* set user id */
|
pid, /* process id */
|
||||||
gint32 sgid; /* set group id */
|
ppid, /* pid of parent process */
|
||||||
gint32 fsuid; /* ??? user id */
|
pgrp, /* process group id */
|
||||||
gint32 fsgid; /* ??? group id */
|
session, /* session id */
|
||||||
gint32 pid; /* process id */
|
tty, /* full device number of controlling terminal */
|
||||||
gint32 ppid; /* pid of parent process */
|
tpgid, /* terminal process group id */
|
||||||
gint32 pgrp; /* process group id */
|
priority, /* kernel scheduling priority */
|
||||||
gint32 session; /* session id */
|
nice; /* standard unix nice level of process */
|
||||||
gint32 tty; /* full device number of controlling terminal */
|
|
||||||
gint32 tpgid; /* terminal process group id */
|
|
||||||
gint32 priority; /* kernel scheduling priority */
|
|
||||||
gint32 nice; /* standard unix nice level of process */
|
|
||||||
gint32 ngroups;
|
|
||||||
gint32 groups [GLIBTOP_MAX_GROUPS];
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
void glibtop_get_proc_uid(glibtop_proc_uid *buf, pid_t pid);
|
#define glibtop_get_proc_uid(p1, p2) glibtop_get_proc_uid_l(glibtop_global_server, p1, p2)
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_UID
|
#if GLIBTOP_SUID_PROC_UID
|
||||||
#define glibtop_get_proc_uid_r glibtop_get_proc_uid_p
|
#define glibtop_get_proc_uid_r glibtop_get_proc_uid_p
|
||||||
@@ -89,14 +76,24 @@ void glibtop_get_proc_uid(glibtop_proc_uid *buf, pid_t pid);
|
|||||||
void glibtop_get_proc_uid_l (glibtop *server, glibtop_proc_uid *buf, pid_t pid);
|
void glibtop_get_proc_uid_l (glibtop *server, glibtop_proc_uid *buf, pid_t pid);
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_UID
|
#if GLIBTOP_SUID_PROC_UID
|
||||||
void _glibtop_init_proc_uid_p (glibtop *server);
|
void glibtop_init_proc_uid_p (glibtop *server);
|
||||||
void glibtop_get_proc_uid_p (glibtop *server, glibtop_proc_uid *buf, pid_t pid);
|
void glibtop_get_proc_uid_p (glibtop *server, glibtop_proc_uid *buf, pid_t pid);
|
||||||
#else
|
#else
|
||||||
void _glibtop_init_proc_uid_s (glibtop *server);
|
void glibtop_init_proc_uid_s (glibtop *server);
|
||||||
void glibtop_get_proc_uid_s (glibtop *server, glibtop_proc_uid *buf, pid_t pid);
|
void glibtop_get_proc_uid_s (glibtop *server, glibtop_proc_uid *buf, pid_t pid);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef GLIBTOP_NAMES
|
||||||
|
|
||||||
G_END_DECLS
|
/* You need to link with -lgtop_names to get this stuff here. */
|
||||||
|
|
||||||
|
extern const char *glibtop_names_proc_uid [];
|
||||||
|
extern const unsigned glibtop_types_proc_uid [];
|
||||||
|
extern const char *glibtop_labels_proc_uid [];
|
||||||
|
extern const char *glibtop_descriptions_proc_uid [];
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
END_LIBGTOP_DECLS
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -1,69 +0,0 @@
|
|||||||
/* Copyright (C) 2007 Benoît Dejean
|
|
||||||
This file is part of LibGTop 2.
|
|
||||||
|
|
||||||
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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PROCWD_H__
|
|
||||||
#define __GLIBTOP_PROCWD_H__
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/global.h>
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
|
||||||
|
|
||||||
typedef struct _glibtop_proc_wd glibtop_proc_wd;
|
|
||||||
|
|
||||||
#define GLIBTOP_PROC_WD_NUMBER 0
|
|
||||||
#define GLIBTOP_PROC_WD_ROOT 1
|
|
||||||
#define GLIBTOP_PROC_WD_EXE 2
|
|
||||||
#define GLIBTOP_PROC_WD_MAX 3
|
|
||||||
|
|
||||||
#define GLIBTOP_PROC_WD_ROOT_LEN 215
|
|
||||||
#define GLIBTOP_PROC_WD_EXE_LEN 215
|
|
||||||
|
|
||||||
struct _glibtop_proc_wd
|
|
||||||
{
|
|
||||||
guint64 flags;
|
|
||||||
guint32 number;
|
|
||||||
char root[GLIBTOP_PROC_WD_ROOT_LEN+1];
|
|
||||||
char exe[GLIBTOP_PROC_WD_EXE_LEN+1];
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
char ** glibtop_get_proc_wd(glibtop_proc_wd *buf, pid_t pid);
|
|
||||||
char ** glibtop_get_proc_wd_l(glibtop *server, glibtop_proc_wd *buf, pid_t pid);
|
|
||||||
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_WD
|
|
||||||
|
|
||||||
#define glibtop_get_proc_wd_r glibtop_get_proc_wd_p
|
|
||||||
void _glibtop_init_proc_wd_p(glibtop *server);
|
|
||||||
char ** glibtop_get_proc_wd_p(glibtop *server, glibtop_proc_wd *buf, pid_t pid);
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
#define glibtop_get_proc_wd_r glibtop_get_proc_wd_s
|
|
||||||
void _glibtop_init_proc_wd_s(glibtop *server);
|
|
||||||
char ** glibtop_get_proc_wd_s(glibtop *server, glibtop_proc_wd *buf, pid_t pid);
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,3 +1,5 @@
|
|||||||
|
/* $Id$ */
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
/* Copyright (C) 1998-99 Martin Baulig
|
||||||
This file is part of LibGTop 1.0.
|
This file is part of LibGTop 1.0.
|
||||||
|
|
||||||
@@ -23,14 +25,15 @@
|
|||||||
#define __GLIBTOP_READ_H__
|
#define __GLIBTOP_READ_H__
|
||||||
|
|
||||||
#include <glibtop.h>
|
#include <glibtop.h>
|
||||||
|
#include <glibtop/error.h>
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
BEGIN_LIBGTOP_DECLS
|
||||||
|
|
||||||
#define glibtop_read(p1, p2) glibtop_read(glibtop_global_server, p1, p2)
|
#define glibtop_read(p1, p2) glibtop_read(glibtop_global_server, p1, p2)
|
||||||
|
|
||||||
void glibtop_read_l (glibtop *server, size_t size, void *buf);
|
void glibtop_read_l (glibtop *server, size_t size, void *buf);
|
||||||
void glibtop_read_s (glibtop *server, size_t size, void *buf);
|
void glibtop_read_s (glibtop *server, size_t size, void *buf);
|
||||||
|
|
||||||
G_END_DECLS
|
END_LIBGTOP_DECLS
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
/* $Id$ */
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
/* Copyright (C) 1998-99 Martin Baulig
|
||||||
This file is part of LibGTop 1.0.
|
This file is part of LibGTop 1.0.
|
||||||
|
|
||||||
@@ -23,14 +25,15 @@
|
|||||||
#define __GLIBTOP_READ_DATA_H__
|
#define __GLIBTOP_READ_DATA_H__
|
||||||
|
|
||||||
#include <glibtop.h>
|
#include <glibtop.h>
|
||||||
|
#include <glibtop/error.h>
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
BEGIN_LIBGTOP_DECLS
|
||||||
|
|
||||||
#define glibtop_read_data() glibtop_read_data_r(glibtop_global_server)
|
#define glibtop_read_data() glibtop_read_data_r(glibtop_global_server)
|
||||||
|
|
||||||
void *glibtop_read_data_l (glibtop *server);
|
void *glibtop_read_data_l (glibtop *server);
|
||||||
void *glibtop_read_data_s (glibtop *server);
|
void *glibtop_read_data_s (glibtop *server);
|
||||||
|
|
||||||
G_END_DECLS
|
END_LIBGTOP_DECLS
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
/* $Id$ */
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
/* Copyright (C) 1998-99 Martin Baulig
|
||||||
This file is part of LibGTop 1.0.
|
This file is part of LibGTop 1.0.
|
||||||
|
|
||||||
@@ -25,7 +27,7 @@
|
|||||||
#include <glibtop.h>
|
#include <glibtop.h>
|
||||||
#include <glibtop/global.h>
|
#include <glibtop/global.h>
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
BEGIN_LIBGTOP_DECLS
|
||||||
|
|
||||||
#define GLIBTOP_IPC_SEMMAP 0
|
#define GLIBTOP_IPC_SEMMAP 0
|
||||||
#define GLIBTOP_IPC_SEMMNI 1
|
#define GLIBTOP_IPC_SEMMNI 1
|
||||||
@@ -44,20 +46,20 @@ typedef struct _glibtop_sem_limits glibtop_sem_limits;
|
|||||||
|
|
||||||
struct _glibtop_sem_limits
|
struct _glibtop_sem_limits
|
||||||
{
|
{
|
||||||
guint64 flags;
|
u_int64_t flags,
|
||||||
guint64 semmap; /* GLIBTOP_IPC_SEMMAP */
|
semmap, /* GLIBTOP_IPC_SEMMAP */
|
||||||
guint64 semmni; /* GLIBTOP_IPC_SEMMNI */
|
semmni, /* GLIBTOP_IPC_SEMMNI */
|
||||||
guint64 semmns; /* GLIBTOP_IPC_SEMMNS */
|
semmns, /* GLIBTOP_IPC_SEMMNS */
|
||||||
guint64 semmnu; /* GLIBTOP_IPC_SEMMNU */
|
semmnu, /* GLIBTOP_IPC_SEMMNU */
|
||||||
guint64 semmsl; /* GLIBTOP_IPC_SEMMSL */
|
semmsl, /* GLIBTOP_IPC_SEMMSL */
|
||||||
guint64 semopm; /* GLIBTOP_IPC_SEMOPM */
|
semopm, /* GLIBTOP_IPC_SEMOPM */
|
||||||
guint64 semume; /* GLIBTOP_IPC_SEMUME */
|
semume, /* GLIBTOP_IPC_SEMUME */
|
||||||
guint64 semusz; /* GLIBTOP_IPC_SEMUSZ */
|
semusz, /* GLIBTOP_IPC_SEMUSZ */
|
||||||
guint64 semvmx; /* GLIBTOP_IPC_SEMVMX */
|
semvmx, /* GLIBTOP_IPC_SEMVMX */
|
||||||
guint64 semaem; /* GLIBTOP_IPC_SEMAEM */
|
semaem; /* GLIBTOP_IPC_SEMAEM */
|
||||||
};
|
};
|
||||||
|
|
||||||
void glibtop_get_sem_limits(glibtop_sem_limits *buf);
|
#define glibtop_get_sem_limits(sem) glibtop_get_sem_limits_l(glibtop_global_server, sem)
|
||||||
|
|
||||||
#if GLIBTOP_SUID_SEM_LIMITS
|
#if GLIBTOP_SUID_SEM_LIMITS
|
||||||
#define glibtop_get_sem_limits_r glibtop_get_sem_limits_p
|
#define glibtop_get_sem_limits_r glibtop_get_sem_limits_p
|
||||||
@@ -68,14 +70,24 @@ void glibtop_get_sem_limits(glibtop_sem_limits *buf);
|
|||||||
void glibtop_get_sem_limits_l (glibtop *server, glibtop_sem_limits *buf);
|
void glibtop_get_sem_limits_l (glibtop *server, glibtop_sem_limits *buf);
|
||||||
|
|
||||||
#if GLIBTOP_SUID_SEM_LIMITS
|
#if GLIBTOP_SUID_SEM_LIMITS
|
||||||
void _glibtop_init_sem_limits_p (glibtop *server);
|
void glibtop_init_sem_limits_p (glibtop *server);
|
||||||
void glibtop_get_sem_limits_p (glibtop *server, glibtop_sem_limits *buf);
|
void glibtop_get_sem_limits_p (glibtop *server, glibtop_sem_limits *buf);
|
||||||
#else
|
#else
|
||||||
void _glibtop_init_sem_limits_s (glibtop *server);
|
void glibtop_init_sem_limits_s (glibtop *server);
|
||||||
void glibtop_get_sem_limits_s (glibtop *server, glibtop_sem_limits *buf);
|
void glibtop_get_sem_limits_s (glibtop *server, glibtop_sem_limits *buf);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef GLIBTOP_NAMES
|
||||||
|
|
||||||
G_END_DECLS
|
/* You need to link with -lgtop_names to get this stuff here. */
|
||||||
|
|
||||||
|
extern const char *glibtop_names_sem_limits [];
|
||||||
|
extern const unsigned glibtop_types_sem_limits [];
|
||||||
|
extern const char *glibtop_labels_sem_limits [];
|
||||||
|
extern const char *glibtop_descriptions_sem_limits [];
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
END_LIBGTOP_DECLS
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
/* $Id$ */
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
/* Copyright (C) 1998-99 Martin Baulig
|
||||||
This file is part of LibGTop 1.0.
|
This file is part of LibGTop 1.0.
|
||||||
|
|
||||||
@@ -25,7 +27,7 @@
|
|||||||
#include <glibtop.h>
|
#include <glibtop.h>
|
||||||
#include <glibtop/global.h>
|
#include <glibtop/global.h>
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
BEGIN_LIBGTOP_DECLS
|
||||||
|
|
||||||
#define GLIBTOP_IPC_SHMMAX 0
|
#define GLIBTOP_IPC_SHMMAX 0
|
||||||
#define GLIBTOP_IPC_SHMMIN 1
|
#define GLIBTOP_IPC_SHMMIN 1
|
||||||
@@ -39,15 +41,15 @@ typedef struct _glibtop_shm_limits glibtop_shm_limits;
|
|||||||
|
|
||||||
struct _glibtop_shm_limits
|
struct _glibtop_shm_limits
|
||||||
{
|
{
|
||||||
guint64 flags;
|
u_int64_t flags,
|
||||||
guint64 shmmax; /* GLIBTOP_IPC_SHMMAX */
|
shmmax, /* GLIBTOP_IPC_SHMMAX */
|
||||||
guint64 shmmin; /* GLIBTOP_IPC_SHMMIN */
|
shmmin, /* GLIBTOP_IPC_SHMMIN */
|
||||||
guint64 shmmni; /* GLIBTOP_IPC_SHMMNI */
|
shmmni, /* GLIBTOP_IPC_SHMMNI */
|
||||||
guint64 shmseg; /* GLIBTOP_IPC_SHMSEG */
|
shmseg, /* GLIBTOP_IPC_SHMSEG */
|
||||||
guint64 shmall; /* GLIBTOP_IPC_SHMALL */
|
shmall; /* GLIBTOP_IPC_SHMALL */
|
||||||
};
|
};
|
||||||
|
|
||||||
void glibtop_get_shm_limits(glibtop_shm_limits *buf);
|
#define glibtop_get_shm_limits(shm) glibtop_get_shm_limits_l(glibtop_global_server, shm)
|
||||||
|
|
||||||
#if GLIBTOP_SUID_SHM_LIMITS
|
#if GLIBTOP_SUID_SHM_LIMITS
|
||||||
#define glibtop_get_shm_limits_r glibtop_get_shm_limits_p
|
#define glibtop_get_shm_limits_r glibtop_get_shm_limits_p
|
||||||
@@ -58,14 +60,24 @@ void glibtop_get_shm_limits(glibtop_shm_limits *buf);
|
|||||||
void glibtop_get_shm_limits_l (glibtop *server, glibtop_shm_limits *buf);
|
void glibtop_get_shm_limits_l (glibtop *server, glibtop_shm_limits *buf);
|
||||||
|
|
||||||
#if GLIBTOP_SUID_SHM_LIMITS
|
#if GLIBTOP_SUID_SHM_LIMITS
|
||||||
void _glibtop_init_shm_limits_p (glibtop *server);
|
void glibtop_init_shm_limits_p (glibtop *server);
|
||||||
void glibtop_get_shm_limits_p (glibtop *, glibtop_shm_limits *buf);
|
void glibtop_get_shm_limits_p (glibtop *, glibtop_shm_limits *buf);
|
||||||
#else
|
#else
|
||||||
void _glibtop_init_shm_limits_s (glibtop *server);
|
void glibtop_init_shm_limits_s (glibtop *server);
|
||||||
void glibtop_get_shm_limits_s (glibtop *server, glibtop_shm_limits *buf);
|
void glibtop_get_shm_limits_s (glibtop *server, glibtop_shm_limits *buf);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef GLIBTOP_NAMES
|
||||||
|
|
||||||
G_END_DECLS
|
/* You need to link with -lgtop_names to get this stuff here. */
|
||||||
|
|
||||||
|
extern const char *glibtop_names_shm_limits [];
|
||||||
|
extern const unsigned glibtop_types_shm_limits [];
|
||||||
|
extern const char *glibtop_labels_shm_limits [];
|
||||||
|
extern const char *glibtop_descriptions_shm_limits [];
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
END_LIBGTOP_DECLS
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
/* $Id$ */
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
/* Copyright (C) 1998-99 Martin Baulig
|
||||||
This file is part of LibGTop 1.0.
|
This file is part of LibGTop 1.0.
|
||||||
|
|
||||||
@@ -28,7 +30,7 @@
|
|||||||
#include <sys/signal.h>
|
#include <sys/signal.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
BEGIN_LIBGTOP_DECLS
|
||||||
|
|
||||||
typedef struct _glibtop_signame glibtop_signame;
|
typedef struct _glibtop_signame glibtop_signame;
|
||||||
|
|
||||||
@@ -40,6 +42,6 @@ struct _glibtop_signame
|
|||||||
|
|
||||||
extern const glibtop_signame glibtop_sys_siglist [];
|
extern const glibtop_signame glibtop_sys_siglist [];
|
||||||
|
|
||||||
G_END_DECLS
|
END_LIBGTOP_DECLS
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
/* $Id$ */
|
||||||
|
|
||||||
/* Copyright (C) 1998-99 Martin Baulig
|
/* Copyright (C) 1998-99 Martin Baulig
|
||||||
This file is part of LibGTop 1.0.
|
This file is part of LibGTop 1.0.
|
||||||
|
|
||||||
@@ -25,7 +27,7 @@
|
|||||||
#include <glibtop.h>
|
#include <glibtop.h>
|
||||||
#include <glibtop/global.h>
|
#include <glibtop/global.h>
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
BEGIN_LIBGTOP_DECLS
|
||||||
|
|
||||||
#define GLIBTOP_SWAP_TOTAL 0
|
#define GLIBTOP_SWAP_TOTAL 0
|
||||||
#define GLIBTOP_SWAP_USED 1
|
#define GLIBTOP_SWAP_USED 1
|
||||||
@@ -39,16 +41,15 @@ typedef struct _glibtop_swap glibtop_swap;
|
|||||||
|
|
||||||
struct _glibtop_swap
|
struct _glibtop_swap
|
||||||
{
|
{
|
||||||
guint64 flags;
|
u_int64_t flags,
|
||||||
guint64 total; /* GLIBTOP_SWAP_TOTAL */
|
total, /* GLIBTOP_SWAP_TOTAL */
|
||||||
guint64 used; /* GLIBTOP_SWAP_USED */
|
used, /* GLIBTOP_SWAP_USED */
|
||||||
guint64 free; /* GLIBTOP_SWAP_FREE */
|
free, /* GLIBTOP_SWAP_FREE */
|
||||||
guint64 pagein; /* GLIBTOP_SWAP_PAGEIN */
|
pagein, /* GLIBTOP_SWAP_PAGEIN */
|
||||||
guint64 pageout; /* GLIBTOP_SWAP_PAGEOUT */
|
pageout; /* GLIBTOP_SWAP_PAGEOUT */
|
||||||
};
|
};
|
||||||
|
|
||||||
void
|
#define glibtop_get_swap(swap) glibtop_get_swap_l(glibtop_global_server, swap)
|
||||||
glibtop_get_swap(glibtop_swap *buf);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_SWAP
|
#if GLIBTOP_SUID_SWAP
|
||||||
#define glibtop_get_swap_r glibtop_get_swap_p
|
#define glibtop_get_swap_r glibtop_get_swap_p
|
||||||
@@ -59,14 +60,24 @@ glibtop_get_swap(glibtop_swap *buf);
|
|||||||
void glibtop_get_swap_l (glibtop *server, glibtop_swap *buf);
|
void glibtop_get_swap_l (glibtop *server, glibtop_swap *buf);
|
||||||
|
|
||||||
#if GLIBTOP_SUID_SWAP
|
#if GLIBTOP_SUID_SWAP
|
||||||
void _glibtop_init_swap_p (glibtop *server);
|
void glibtop_init_swap_p (glibtop *server);
|
||||||
void glibtop_get_swap_p (glibtop *server, glibtop_swap *buf);
|
void glibtop_get_swap_p (glibtop *server, glibtop_swap *buf);
|
||||||
#else
|
#else
|
||||||
void _glibtop_init_swap_s (glibtop *server);
|
void glibtop_init_swap_s (glibtop *server);
|
||||||
void glibtop_get_swap_s (glibtop *server, glibtop_swap *buf);
|
void glibtop_get_swap_s (glibtop *server, glibtop_swap *buf);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef GLIBTOP_NAMES
|
||||||
|
|
||||||
G_END_DECLS
|
/* You need to link with -lgtop_names to get this stuff here. */
|
||||||
|
|
||||||
|
extern const char *glibtop_names_swap [];
|
||||||
|
extern const unsigned glibtop_types_swap [];
|
||||||
|
extern const char *glibtop_labels_swap [];
|
||||||
|
extern const char *glibtop_descriptions_swap [];
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
END_LIBGTOP_DECLS
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user