Compare commits
3 Commits
wip/diskio
...
gnome-2-14
Author | SHA1 | Date | |
---|---|---|---|
|
3765989cde | ||
|
8308952bdf | ||
|
3bf5087ae8 |
92
.gitignore
vendored
92
.gitignore
vendored
@@ -1,92 +0,0 @@
|
|||||||
*.a
|
|
||||||
*.bak
|
|
||||||
*.core
|
|
||||||
*.diff
|
|
||||||
*.gmo
|
|
||||||
*.header
|
|
||||||
*.in
|
|
||||||
*.la
|
|
||||||
*.lo
|
|
||||||
*.o
|
|
||||||
*.out
|
|
||||||
*.patch
|
|
||||||
*.pot
|
|
||||||
*.s
|
|
||||||
*.sed
|
|
||||||
*.sin
|
|
||||||
*.stamp
|
|
||||||
*.swp
|
|
||||||
*~
|
|
||||||
.deps
|
|
||||||
.libs
|
|
||||||
ABOUT-NLS
|
|
||||||
INSTALL
|
|
||||||
Makefile
|
|
||||||
Makevars.template
|
|
||||||
Rules-quot
|
|
||||||
aclocal.m4
|
|
||||||
autom4te.cache/
|
|
||||||
compile
|
|
||||||
config.guess
|
|
||||||
config.h
|
|
||||||
config.log
|
|
||||||
config.status
|
|
||||||
config.sub
|
|
||||||
configure
|
|
||||||
depcomp
|
|
||||||
doc/libgtop2.info
|
|
||||||
doc/mdate-sh
|
|
||||||
doc/reference/html/
|
|
||||||
doc/reference/libgtop-decl-list.txt
|
|
||||||
doc/reference/libgtop-decl.txt
|
|
||||||
doc/reference/libgtop-undeclared.txt
|
|
||||||
doc/reference/libgtop-undocumented.txt
|
|
||||||
doc/reference/libgtop-unused.txt
|
|
||||||
doc/reference/libgtop.args
|
|
||||||
doc/reference/libgtop.hierarchy
|
|
||||||
doc/reference/libgtop.interfaces
|
|
||||||
doc/reference/libgtop.prerequisites
|
|
||||||
doc/reference/libgtop.signals
|
|
||||||
doc/reference/tmpl/
|
|
||||||
doc/reference/version.xml
|
|
||||||
doc/reference/xml/
|
|
||||||
doc/stamp-vti
|
|
||||||
doc/texinfo.tex
|
|
||||||
doc/version.texi
|
|
||||||
examples/affinity
|
|
||||||
examples/df
|
|
||||||
examples/first
|
|
||||||
examples/free
|
|
||||||
examples/mountlist
|
|
||||||
examples/netlist
|
|
||||||
examples/netload
|
|
||||||
examples/openfiles
|
|
||||||
examples/pprint
|
|
||||||
examples/procargs
|
|
||||||
examples/proclist
|
|
||||||
examples/procmap
|
|
||||||
examples/second
|
|
||||||
examples/smp
|
|
||||||
examples/sysdeps
|
|
||||||
examples/timings
|
|
||||||
examples/wd
|
|
||||||
examples/diskio
|
|
||||||
gtk-doc.make
|
|
||||||
install-sh
|
|
||||||
lib/GTop-2.0.gir
|
|
||||||
lib/GTop-2.0.typelib
|
|
||||||
lib/lib.c
|
|
||||||
libgtop-2.0.pc
|
|
||||||
libgtop.spec
|
|
||||||
libgtopconfig.h
|
|
||||||
libtool
|
|
||||||
ltmain.sh
|
|
||||||
m4/
|
|
||||||
missing
|
|
||||||
po/POTFILES
|
|
||||||
po/stamp-it
|
|
||||||
src/daemon/libgtop_daemon2
|
|
||||||
src/daemon/libgtop_server2
|
|
||||||
stamp-h1
|
|
||||||
stamp-po
|
|
||||||
tmp-*
|
|
340
COPYING
340
COPYING
@@ -1,340 +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 Library 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 Library General
|
|
||||||
Public License instead of this License.
|
|
53
ChangeLog
53
ChangeLog
@@ -1,57 +1,8 @@
|
|||||||
2007-05-19 Benoît Dejean <benoit@placenet.org>
|
2007-05-08 Benoît Dejean <benoit@placenet.org>
|
||||||
|
|
||||||
* features.def:
|
|
||||||
* include/glibtop/proclist.h:
|
|
||||||
|
|
||||||
Small API change.
|
|
||||||
get_proclist returns pid_t instead of unsigned for consistency.
|
|
||||||
I have checked many archs and this doesn't break the ABI.
|
|
||||||
|
|
||||||
2007-05-17 Benoît Dejean <benoit@placenet.org>
|
|
||||||
|
|
||||||
* configure.in:
|
|
||||||
|
|
||||||
Bumped version number.
|
|
||||||
|
|
||||||
2007-05-14 Benoît Dejean <benoit@placenet.org>
|
|
||||||
|
|
||||||
* include/glibtop/Makefile.am:
|
|
||||||
* lib/Makefile.am:
|
|
||||||
|
|
||||||
Fixed dist.
|
|
||||||
|
|
||||||
2007-05-13 Benoît Dejean <benoit@placenet.org>
|
|
||||||
|
|
||||||
* NEWS:
|
* NEWS:
|
||||||
* configure.in:
|
|
||||||
|
|
||||||
Released 2.19.2.
|
Released 2.14.9.
|
||||||
|
|
||||||
2007-05-10 Benoît Dejean <benoit@placenet.org>
|
|
||||||
|
|
||||||
* lib/libgtop.sym:
|
|
||||||
|
|
||||||
Added missing *_p symbols.
|
|
||||||
|
|
||||||
2007-05-07 Benoît Dejean <benoit@placenet.org>
|
|
||||||
|
|
||||||
* configure.in:
|
|
||||||
* lib/Makefile.am:
|
|
||||||
* lib/libgtop.sym:
|
|
||||||
|
|
||||||
Updated libtool version.
|
|
||||||
Now uses a symbol list instead of a regex.
|
|
||||||
|
|
||||||
2007-05-07 Benoît Dejean <benoit@placenet.org>
|
|
||||||
|
|
||||||
* New API to get cwd, root and exe path
|
|
||||||
of a process. API not frozen yet.
|
|
||||||
|
|
||||||
2007-04-27 Benoît Dejean <benoit@placenet.org>
|
|
||||||
|
|
||||||
Got rid of InodeDB.
|
|
||||||
This feature was optionnal and i have never heard of anyone using
|
|
||||||
it. I have never touched it so it may be broken since 2.6.
|
|
||||||
|
|
||||||
2007-04-11 Benoît Dejean <benoit@placenet.org>
|
2007-04-11 Benoît Dejean <benoit@placenet.org>
|
||||||
|
|
||||||
|
@@ -1,4 +1 @@
|
|||||||
Benoît Dejean
|
Benoît Dejean (benoit@placenet.org)
|
||||||
E-mail: benoit@placenet.org
|
|
||||||
Userid: bdejean
|
|
||||||
|
|
||||||
|
13
Makefile.am
13
Makefile.am
@@ -1,4 +1,3 @@
|
|||||||
ACLOCAL_AMFLAGS = -I m4
|
|
||||||
|
|
||||||
if EXAMPLES
|
if EXAMPLES
|
||||||
EXAMPLES_DIR = examples
|
EXAMPLES_DIR = examples
|
||||||
@@ -15,8 +14,14 @@ EXTRA_DIST = autogen.sh libgtop.spec.in copyright.txt \
|
|||||||
features.def libgtopconfig.h.in \
|
features.def libgtopconfig.h.in \
|
||||||
libgtop-sysdeps.m4 README \
|
libgtop-sysdeps.m4 README \
|
||||||
libgtop-2.0.pc.in acinclude.m4 \
|
libgtop-2.0.pc.in acinclude.m4 \
|
||||||
libgtop.doap \
|
intltool-extract.in \
|
||||||
m4/introspection.m4
|
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)
|
||||||
@@ -27,4 +32,4 @@ pkgconfig_DATA = libgtop-2.0.pc
|
|||||||
libgtop-features.def: features.def
|
libgtop-features.def: features.def
|
||||||
@LN_S@ $< $@
|
@LN_S@ $< $@
|
||||||
|
|
||||||
DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc --enable-introspection
|
DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc
|
||||||
|
291
NEWS
291
NEWS
@@ -1,294 +1,7 @@
|
|||||||
16 January 2017: Overview of changes in 2.34.2
|
8 May 2007: Overview of changes in 2.14.9
|
||||||
================================================
|
|
||||||
|
|
||||||
* Linux:
|
|
||||||
- fill last_processor member
|
|
||||||
|
|
||||||
* Updated translations
|
|
||||||
* Added more gettext options
|
|
||||||
|
|
||||||
20 August 2016: Overview of changes in 2.34.1
|
|
||||||
================================================
|
|
||||||
|
|
||||||
* FreeBSD:
|
|
||||||
- rewrite netload to use official APIs
|
|
||||||
- mark wireless interfaces as such
|
|
||||||
|
|
||||||
* All
|
|
||||||
- rename --with-libgtop-examples to --with-examples
|
|
||||||
- use gettext instead of intltool/glib-gettext
|
|
||||||
- added Language headers to the translations
|
|
||||||
|
|
||||||
|
|
||||||
Special thanks to Gleb Smirnoff, Antoine Brodin, Koop Mast and Ting-Wei Lan for
|
|
||||||
the FreeBSD fixes, to Javier Jardón for the gettext migration and to Piotr Drąg
|
|
||||||
for adding the Language headers.
|
|
||||||
|
|
||||||
22 March 2016: Overview of changes in 2.34.0
|
|
||||||
================================================
|
|
||||||
|
|
||||||
* Stable release
|
|
||||||
|
|
||||||
29 February 2016: Overview of changes in 2.33.91
|
|
||||||
|
|
||||||
* Updated translations
|
|
||||||
* Fix building on must-libc
|
|
||||||
|
|
||||||
18 January 2016: Overview of changes in 2.33.4
|
|
||||||
|
|
||||||
* On OpenBSD only PID 1 is special
|
|
||||||
* Call setlocale in main
|
|
||||||
|
|
||||||
14 December: Overview of changes in 2.33.3
|
|
||||||
|
|
||||||
* Fixed borken compilation on OpenBSD
|
|
||||||
* Updated translations.
|
|
||||||
|
|
||||||
21 September 2015: Overview of changes in 2.32.0
|
|
||||||
|
|
||||||
* Stable release
|
|
||||||
|
|
||||||
14 September 2015: Overview of changes in 2.31.91
|
|
||||||
================================================
|
|
||||||
* Darwin:
|
|
||||||
- Fixed build.
|
|
||||||
|
|
||||||
* All
|
|
||||||
- GI docs fixes
|
|
||||||
- include fixes
|
|
||||||
- Updated translations
|
|
||||||
|
|
||||||
16 August 2015: Overview of changes in 2.31.90
|
|
||||||
=============================================
|
|
||||||
* ABI changes:
|
|
||||||
- ABI was inconsistent on platforms like FreeBSD which make use of
|
|
||||||
glibtop_machine. The ABI was actually different between the
|
|
||||||
library and the server. Fixed this by simply always defining
|
|
||||||
glibtop_machine in glibtop struct.
|
|
||||||
- Add Pss and Swap members in glibtop_proc_mem.
|
|
||||||
- This is the second ABI breakage in since 2.28 (the first one was
|
|
||||||
bumping NCPU), there were no release for 2.30.
|
|
||||||
|
|
||||||
* FreeBSD:
|
|
||||||
- proclist: exclude the "idle" kernel process when GLIBTOP_EXCLUDE_IDLE.
|
|
||||||
- Remove extraneous glibtop_init() calls.
|
|
||||||
|
|
||||||
* Linux:
|
|
||||||
- proc_mem: implement Pss and Swap.
|
|
||||||
- Remove extraneous glibtop_init() calls.
|
|
||||||
|
|
||||||
* All:
|
|
||||||
- Propagate the change that machine in struct glibtop is now a
|
|
||||||
pointer. Hope that change doesn't break build on other platforms,
|
|
||||||
I can only test Linux and FreeBSD.
|
|
||||||
|
|
||||||
|
|
||||||
5 August 2015: Overview of changes in 2.31.4
|
|
||||||
=============================================
|
|
||||||
* 71 commits !
|
|
||||||
* Implement a proper --enable-debug mode.
|
|
||||||
* FreeBSD:
|
|
||||||
- procstate: set process name for kernel (pid=0)
|
|
||||||
- procmap: get dev/inode for ZFS (no filename yet)
|
|
||||||
- mem: rework memory usage to something more meaningful
|
|
||||||
- proclist: don't report threads
|
|
||||||
- proctime: fix CPU times
|
|
||||||
* Linux:
|
|
||||||
- mem: use MemAvailable when available
|
|
||||||
- mem: match `free`, report Slab as Cached.
|
|
||||||
- support for x.y versionsmemory to match `free`
|
|
||||||
* Fix a lot of GI tags: it now works without crashing.
|
|
||||||
* Server and daemon binaries are now dynamically linked against their libgtop.
|
|
||||||
* Update a lot of examples/.
|
|
||||||
* Clean up some very old code.
|
|
||||||
* Updated translations.
|
|
||||||
|
|
||||||
Special thanks to Ting-Wei Lan for providing patches and feedback on FreeBSD.
|
|
||||||
|
|
||||||
22 June 2015: Overview of changes in 2.31.3
|
|
||||||
=============================================
|
|
||||||
* Numerous OpenBSD backend fixes.
|
|
||||||
* Fixed FreeBSD build issues.
|
|
||||||
* Implemented procaffinity support for NetBSD.
|
|
||||||
* Updated translations
|
|
||||||
|
|
||||||
19 August 2013: Overview of changes in 2.28.5
|
|
||||||
=============================================
|
|
||||||
* Fix numerous bugs in the OpenBSD backend.
|
|
||||||
* Updated translations.
|
|
||||||
|
|
||||||
30 August 2011: Overview of changes in 2.28.4
|
|
||||||
=============================================
|
|
||||||
* Fix numerous bugs in the FreeBSD backend.
|
|
||||||
* Split off OpenBSD code in its own backend, and fixes.
|
|
||||||
* Updated translations.
|
|
||||||
|
|
||||||
25 March 2011: Overview of changes in 2.28.3
|
|
||||||
================================================
|
|
||||||
* Fix build issue for strict linkers.
|
|
||||||
* Add Introspection support
|
|
||||||
* Cygwin fixes.
|
|
||||||
* FreeBSD: Fix get_mem() on 64-bit systems.
|
|
||||||
* Updated translations.
|
|
||||||
|
|
||||||
28 September 2010: Overview of changes in 2.28.2
|
|
||||||
================================================
|
|
||||||
* Updated translations.
|
|
||||||
|
|
||||||
30 March 2010: Overview of changes in 2.28.1
|
|
||||||
============================================
|
|
||||||
* Updated translations.
|
|
||||||
|
|
||||||
21 September 2009: Overview of changes in 2.28.0
|
|
||||||
================================================
|
|
||||||
* Updated translations.
|
|
||||||
|
|
||||||
25 May 2009: Overview of changes in 2.27.3
|
|
||||||
==========================================
|
|
||||||
* linux:
|
|
||||||
- fixed format error.
|
|
||||||
|
|
||||||
3 May 2009: Overview of changes in 2.27.2
|
|
||||||
=========================================
|
=========================================
|
||||||
* linux:
|
|
||||||
- glibtop_get_proc_map: oops, fixed segfault.
|
|
||||||
|
|
||||||
3 May 2009: Overview of changes in 2.27.1
|
|
||||||
=========================================
|
|
||||||
* linux:
|
|
||||||
- glibtop_get_proc_map is ~40% faster. This should be noticeable
|
|
||||||
in system-monitor.
|
|
||||||
* New cygwin support.
|
|
||||||
|
|
||||||
13 April 2009: Overview of changes in 2.26.1
|
|
||||||
============================================
|
|
||||||
* linux:
|
|
||||||
- glibtop_get_mounlist(...): also hide "none" fs.
|
|
||||||
|
|
||||||
1 Mars 2009: Overview of changes in 2.26.0
|
|
||||||
==========================================
|
|
||||||
* Nothing.
|
|
||||||
|
|
||||||
17 February 2009: Overview of changes in 2.25.91
|
|
||||||
================================================
|
|
||||||
* Synced with gnome-2-24.
|
|
||||||
|
|
||||||
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.
|
* Fixed OpenBSD build. Jasper Lievisse Adriaanse.
|
||||||
|
* Misc. cleanups.
|
||||||
|
|
||||||
25 February 2007: Overview of changes in 2.14.8
|
25 February 2007: Overview of changes in 2.14.8
|
||||||
===============================================
|
===============================================
|
||||||
|
@@ -6,7 +6,7 @@ test -z "$srcdir" && srcdir=.
|
|||||||
|
|
||||||
PKG_NAME="Gnome Top Library"
|
PKG_NAME="Gnome Top Library"
|
||||||
|
|
||||||
(test -f $srcdir/configure.ac \
|
(test -f $srcdir/configure.in \
|
||||||
&& test -f $srcdir/copyright.txt \
|
&& test -f $srcdir/copyright.txt \
|
||||||
&& test -d $srcdir/sysdeps) || {
|
&& test -d $srcdir/sysdeps) || {
|
||||||
echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
|
echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
|
||||||
|
@@ -3,12 +3,12 @@ dnl Configure script for the Gnome library
|
|||||||
dnl
|
dnl
|
||||||
|
|
||||||
m4_define([libgtop_major_version], [2])
|
m4_define([libgtop_major_version], [2])
|
||||||
m4_define([libgtop_minor_version], [34])
|
m4_define([libgtop_minor_version], [14])
|
||||||
m4_define([libgtop_micro_version], [2])
|
m4_define([libgtop_micro_version], [9])
|
||||||
m4_define([libgtop_version], [libgtop_major_version.libgtop_minor_version.libgtop_micro_version])
|
m4_define([libgtop_version], [libgtop_major_version.libgtop_minor_version.libgtop_micro_version])
|
||||||
|
|
||||||
dnl increment if the interface has additions, changes, removals.
|
dnl increment if the interface has additions, changes, removals.
|
||||||
m4_define([libgtop_current], [10])
|
m4_define([libgtop_current], [7])
|
||||||
|
|
||||||
dnl increment any time the source changes; set to
|
dnl increment any time the source changes; set to
|
||||||
dnl 0 if you increment CURRENT
|
dnl 0 if you increment CURRENT
|
||||||
@@ -25,19 +25,15 @@ m4_define([libgtop_server_version], [5])
|
|||||||
# Version code calculation
|
# Version code calculation
|
||||||
m4_define([libgtop_version_code], [m4_eval(libgtop_major_version * 1000000 + libgtop_minor_version * 1000 + libgtop_micro_version)])
|
m4_define([libgtop_version_code], [m4_eval(libgtop_major_version * 1000000 + libgtop_minor_version * 1000 + libgtop_micro_version)])
|
||||||
|
|
||||||
AC_PREREQ(2.62)
|
AC_PREREQ(2.59)
|
||||||
AC_INIT([libgtop], [libgtop_version],
|
AC_INIT([libgtop], [libgtop_version],
|
||||||
[http://bugzilla.gnome.org/enter_bug.cgi?product=libgtop])
|
[http://bugzilla.gnome.org/enter_bug.cgi?product=libgtop])
|
||||||
AC_CONFIG_SRCDIR(copyright.txt)
|
AC_CONFIG_SRCDIR(copyright.txt)
|
||||||
AC_CONFIG_HEADERS(config.h)
|
AC_CONFIG_HEADERS(config.h)
|
||||||
|
|
||||||
AC_CANONICAL_HOST
|
AC_CANONICAL_SYSTEM
|
||||||
|
|
||||||
AM_INIT_AUTOMAKE([-Wno-portability tar-ustar no-dist-gzip dist-xz])
|
|
||||||
AM_SILENT_RULES([yes])
|
|
||||||
AC_CONFIG_MACRO_DIR([m4])
|
|
||||||
GOBJECT_INTROSPECTION_CHECK([0.6.7])
|
|
||||||
|
|
||||||
|
AM_INIT_AUTOMAKE
|
||||||
AC_SUBST(ACLOCAL_AMFLAGS, [\${ACLOCAL_FLAGS}])
|
AC_SUBST(ACLOCAL_AMFLAGS, [\${ACLOCAL_FLAGS}])
|
||||||
|
|
||||||
AC_SUBST(LIBGTOP_MAJOR_VERSION, [libgtop_major_version])
|
AC_SUBST(LIBGTOP_MAJOR_VERSION, [libgtop_major_version])
|
||||||
@@ -91,13 +87,39 @@ 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
|
AC_ARG_WITH(libgtop-inodedb,
|
||||||
GOBJECT_REQUIRED=2.26.0
|
AS_HELP_STRING([--with-libgtop-inodedb],
|
||||||
|
[Build the inodedb stuff @<:@default=no@:>@]),
|
||||||
|
[build_inodedb="$withval"],
|
||||||
|
[build_inodedb=no])
|
||||||
|
|
||||||
PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_REQUIRED gobject-2.0 >= $GOBJECT_REQUIRED)
|
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, 1,
|
||||||
|
[Define if the libgtop inodedb should be built])
|
||||||
|
fi
|
||||||
|
|
||||||
|
GLIB_REQUIRED=2.6.0
|
||||||
|
|
||||||
|
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(popt.h,[POPT=yes],[POPT=no])
|
||||||
|
AC_MSG_CHECKING(for popt.h)
|
||||||
|
if test x$POPT = xyes ; then
|
||||||
|
AC_MSG_RESULT(yes)
|
||||||
|
else
|
||||||
|
AC_MSG_ERROR([libgtop requires the popt development libraries])
|
||||||
|
fi
|
||||||
|
|
||||||
AC_CHECK_HEADER(ifaddrs.h, [HAVE_IFADDRS_H=yes], [HAVE_IFADDRS_H=no])
|
AC_CHECK_HEADER(ifaddrs.h, [HAVE_IFADDRS_H=yes], [HAVE_IFADDRS_H=no])
|
||||||
if test x$HAVE_IFADDRS_H = xyes ; then
|
if test x$HAVE_IFADDRS_H = xyes ; then
|
||||||
AC_DEFINE(HAVE_IFADDRS_H, 1, [defined if you have ifaddrs.h])
|
AC_DEFINE(HAVE_IFADDRS_H, 1, [defined if you have ifaddrs.h])
|
||||||
@@ -215,14 +237,16 @@ 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)
|
||||||
|
|
||||||
AM_GNU_GETTEXT_VERSION([0.19.4])
|
IT_PROG_INTLTOOL([0.35.0])
|
||||||
AM_GNU_GETTEXT([external])
|
|
||||||
|
|
||||||
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])
|
[Define to the gettext package used by the library])
|
||||||
|
|
||||||
|
AM_GLIB_GNU_GETTEXT
|
||||||
|
GLIB_DEFINE_LOCALEDIR([GTOPLOCALEDIR])
|
||||||
|
|
||||||
AC_PATH_XTRA
|
AC_PATH_XTRA
|
||||||
|
|
||||||
dnl For Solaris
|
dnl For Solaris
|
||||||
@@ -261,8 +285,7 @@ dnl Debugging
|
|||||||
AC_ARG_ENABLE(debug,
|
AC_ARG_ENABLE(debug,
|
||||||
AS_HELP_STRING([--enable-debug],
|
AS_HELP_STRING([--enable-debug],
|
||||||
[Turn on debugging @<:@default=no@:>@]),
|
[Turn on debugging @<:@default=no@:>@]),
|
||||||
AC_DEFINE(LIBGTOP_ENABLE_DEBUG, 1, [Define to enable debugging]),
|
AC_DEFINE(LIBGTOP_ENABLE_DEBUG, 1, [Define to enable debugging]))
|
||||||
AC_DEFINE(LIBGTOP_ENABLE_DEBUG, 0, [Define to disable debugging]))
|
|
||||||
AC_ARG_ENABLE(fatal-warnings,
|
AC_ARG_ENABLE(fatal-warnings,
|
||||||
AS_HELP_STRING([--enable-fatal-warnings],
|
AS_HELP_STRING([--enable-fatal-warnings],
|
||||||
[Make all warnings fatal @<:@debug=no@:>@]),
|
[Make all warnings fatal @<:@debug=no@:>@]),
|
||||||
@@ -273,6 +296,18 @@ dnl These definitions are expanded in make.
|
|||||||
LIBGTOP_LIBS='-L$(libdir)'
|
LIBGTOP_LIBS='-L$(libdir)'
|
||||||
LIBGTOP_INCS='-I$(includedir)/libgtop-2.0'
|
LIBGTOP_INCS='-I$(includedir)/libgtop-2.0'
|
||||||
|
|
||||||
|
if test x$libgtop_use_machine_h = xyes ; then
|
||||||
|
LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_GLIBTOP_MACHINE_H"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test x$build_inodedb = xyes ; then
|
||||||
|
LIBGTOP_INCS="$LIBGTOP_INCS -DGLIBTOP_INODEDB"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test x$libgtop_smp = xyes ; then
|
||||||
|
LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_LIBGTOP_SMP"
|
||||||
|
fi
|
||||||
|
|
||||||
if test x$libgtop_have_sysinfo = xyes ; then
|
if test x$libgtop_have_sysinfo = xyes ; then
|
||||||
LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_LIBGTOP_SYSINFO"
|
LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_LIBGTOP_SYSINFO"
|
||||||
fi
|
fi
|
||||||
@@ -301,17 +336,24 @@ LIBGTOP_EXTRA_LIBS="$GLIB_LIBS $LIBGTOP_EXTRA_LIBS"
|
|||||||
|
|
||||||
LIBGTOP_LIBS="$LIBGTOP_LIBS"
|
LIBGTOP_LIBS="$LIBGTOP_LIBS"
|
||||||
|
|
||||||
|
LIBGTOP_LIBS="$LIBGTOP_LIBS"
|
||||||
|
|
||||||
|
machine_incs="-I\$(top_srcdir)/sysdeps/$sysdeps_dir"
|
||||||
|
|
||||||
|
AC_SUBST(machine_incs)
|
||||||
|
|
||||||
if test "$GCC" = "yes" ; then
|
if test "$GCC" = "yes" ; then
|
||||||
CFLAGS="\
|
CFLAGS="\
|
||||||
-Winline \
|
-Winline \
|
||||||
-Wall \
|
-Wall \
|
||||||
|
-std=gnu89 \
|
||||||
-Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes \
|
-Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes \
|
||||||
-Wnested-externs -Wpointer-arith \
|
-Wnested-externs -Wpointer-arith \
|
||||||
-Wcast-align -Wsign-compare \
|
-Wcast-align -Wsign-compare \
|
||||||
$CFLAGS"
|
$CFLAGS"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AM_CPPFLAGS="-I\$(top_builddir) -I\$(top_srcdir) -I\$(top_srcdir)/sysdeps/$sysdeps_dir -I\$(top_srcdir)/include $GLIB_CFLAGS $X_CFLAGS"
|
INCLUDES="-I\$(top_builddir) -I\$(top_srcdir) -I\$(top_srcdir)/sysdeps/$sysdeps_dir -I\$(top_srcdir)/include $GLIB_CFLAGS $X_CFLAGS"
|
||||||
|
|
||||||
# Add various defines to the config.h file ...
|
# Add various defines to the config.h file ...
|
||||||
AH_VERBATIM([_GNU_SOURCE],
|
AH_VERBATIM([_GNU_SOURCE],
|
||||||
@@ -330,7 +372,7 @@ AC_DEFINE([LIBGTOP_VERSION_CODE], [libgtop_version_code],
|
|||||||
AC_DEFINE_UNQUOTED([LIBGTOP_SERVER], ["$LIBGTOP_SERVER"],
|
AC_DEFINE_UNQUOTED([LIBGTOP_SERVER], ["$LIBGTOP_SERVER"],
|
||||||
[The path to the libgtop server])
|
[The path to the libgtop server])
|
||||||
|
|
||||||
AC_SUBST(AM_CPPFLAGS)
|
AC_SUBST(INCLUDES)
|
||||||
|
|
||||||
AC_SUBST(LIBGTOP_EXTRA_LIBS)
|
AC_SUBST(LIBGTOP_EXTRA_LIBS)
|
||||||
AC_SUBST(GLIB_LIBS)
|
AC_SUBST(GLIB_LIBS)
|
||||||
@@ -369,11 +411,9 @@ sysdeps/freebsd/Makefile
|
|||||||
sysdeps/solaris/Makefile
|
sysdeps/solaris/Makefile
|
||||||
sysdeps/aix/Makefile
|
sysdeps/aix/Makefile
|
||||||
sysdeps/bsd/Makefile
|
sysdeps/bsd/Makefile
|
||||||
sysdeps/darwin/Makefile
|
|
||||||
sysdeps/cygwin/Makefile
|
|
||||||
sysdeps/openbsd/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
|
@@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
2
debian/rules.in
vendored
2
debian/rules.in
vendored
@@ -10,7 +10,7 @@
|
|||||||
i=$(shell pwd)/debian/tmp
|
i=$(shell pwd)/debian/tmp
|
||||||
b=$(shell pwd)/debian/build
|
b=$(shell pwd)/debian/build
|
||||||
|
|
||||||
configure: configure.ac
|
configure: configure.in
|
||||||
@echo "--- Making configure script and configuring"
|
@echo "--- Making configure script and configuring"
|
||||||
chmod +x autogen.sh
|
chmod +x autogen.sh
|
||||||
./autogen.sh --prefix=/@PREFIX@ --with-gnome=/@GNOMEPREFIX@ \
|
./autogen.sh --prefix=/@PREFIX@ --with-gnome=/@GNOMEPREFIX@ \
|
||||||
|
@@ -743,7 +743,7 @@ The description above is taken from the manual page of the @file{/proc}
|
|||||||
filesystem under Linux and is a little bit confusing, so I make this clear
|
filesystem under Linux and is a little bit confusing, so I make this clear
|
||||||
here.
|
here.
|
||||||
|
|
||||||
@strong{A word for people porting LibGTop to other systems:}
|
@strong{Note for people porting LibGTop to other systems:}
|
||||||
Every operating system has its own idea about the memory usage of a process
|
Every operating system has its own idea about the memory usage of a process
|
||||||
and also system utilities like @code{ps} show different things on different
|
and also system utilities like @code{ps} show different things on different
|
||||||
systems.
|
systems.
|
||||||
|
@@ -46,9 +46,9 @@ HTML_IMAGES=
|
|||||||
# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
|
# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
|
||||||
# Only needed if you are using gtkdoc-scangobj to dynamically query widget
|
# Only needed if you are using gtkdoc-scangobj to dynamically query widget
|
||||||
# signals and properties.
|
# signals and properties.
|
||||||
# e.g. AM_CPPFLAGS=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
|
# e.g. INCLUDES=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
|
||||||
# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
|
# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
|
||||||
AM_CPPFLAGS=
|
INCLUDES=
|
||||||
GTKDOC_LIBS=
|
GTKDOC_LIBS=
|
||||||
|
|
||||||
# This includes the standard gtk-doc make rules, copied by gtkdocize.
|
# This includes the standard gtk-doc make rules, copied by gtkdocize.
|
||||||
|
@@ -36,8 +36,8 @@
|
|||||||
Documentation License</citetitle> from the Free Software
|
Documentation License</citetitle> from the Free Software
|
||||||
Foundation by visiting <ulink type="http"
|
Foundation by visiting <ulink type="http"
|
||||||
url="http://www.fsf.org">their Web site</ulink> or by writing
|
url="http://www.fsf.org">their Web site</ulink> or by writing
|
||||||
to: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
to: Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.</para>
|
Boston, MA 02111-1307, USA.</para>
|
||||||
|
|
||||||
<para>Many of the names used by companies to distinguish their
|
<para>Many of the names used by companies to distinguish their
|
||||||
products and services are claimed as trademarks. Where those
|
products and services are claimed as trademarks. Where those
|
||||||
@@ -171,6 +171,7 @@ rather than using the server.</para>
|
|||||||
<xi:include href="xml/close.xml"/>
|
<xi:include href="xml/close.xml"/>
|
||||||
<xi:include href="xml/command.xml"/>
|
<xi:include href="xml/command.xml"/>
|
||||||
<xi:include href="xml/glibtop-server.xml"/>
|
<xi:include href="xml/glibtop-server.xml"/>
|
||||||
|
<xi:include href="xml/inodedb.xml"/>
|
||||||
<xi:include href="xml/netload.xml"/>
|
<xi:include href="xml/netload.xml"/>
|
||||||
<xi:include href="xml/ppp.xml"/>
|
<xi:include href="xml/ppp.xml"/>
|
||||||
<xi:include href="xml/shm_limits.xml"/>
|
<xi:include href="xml/shm_limits.xml"/>
|
||||||
|
@@ -73,6 +73,24 @@ glibtop_server_ref
|
|||||||
glibtop_server_unref
|
glibtop_server_unref
|
||||||
</SECTION>
|
</SECTION>
|
||||||
|
|
||||||
|
<INCLUDE>glibtop/inodedb.h</INCLUDE>
|
||||||
|
<SECTION>
|
||||||
|
<FILE>inodedb</FILE>
|
||||||
|
<TITLE>Inode DB</TITLE>
|
||||||
|
GLIBTOP_INODEDB_SYSTEM
|
||||||
|
GLIBTOP_INODEDB_USER
|
||||||
|
GLIBTOP_INODEDB_CACHE
|
||||||
|
GLIBTOP_INODEDB_ALL
|
||||||
|
glibtop_inodedb
|
||||||
|
glibtop_inodedb_key
|
||||||
|
glibtop_inodedb_open
|
||||||
|
glibtop_inodedb_lookup
|
||||||
|
glibtop_inodedb_close
|
||||||
|
glibtop_inodedb_open_s
|
||||||
|
glibtop_inodedb_lookup_s
|
||||||
|
glibtop_inodedb_close_s
|
||||||
|
</SECTION>
|
||||||
|
|
||||||
<INCLUDE>glibtop/netload.h</INCLUDE>
|
<INCLUDE>glibtop/netload.h</INCLUDE>
|
||||||
<SECTION>
|
<SECTION>
|
||||||
<FILE>netload</FILE>
|
<FILE>netload</FILE>
|
||||||
@@ -219,8 +237,17 @@ glibtop_set_parameter_l
|
|||||||
<INCLUDE>glibtop/procargs.h</INCLUDE>
|
<INCLUDE>glibtop/procargs.h</INCLUDE>
|
||||||
<SECTION>
|
<SECTION>
|
||||||
<FILE>procargs</FILE>
|
<FILE>procargs</FILE>
|
||||||
|
GLIBTOP_PROC_ARGS_SIZE
|
||||||
|
GLIBTOP_MAX_PROC_ARGS
|
||||||
glibtop_proc_args
|
glibtop_proc_args
|
||||||
|
glibtop_get_proc_args_l
|
||||||
glibtop_get_proc_args
|
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
|
glibtop_get_proc_argv
|
||||||
</SECTION>
|
</SECTION>
|
||||||
|
|
||||||
@@ -411,8 +438,26 @@ glibtop_get_proc_uid_s
|
|||||||
<INCLUDE>glibtop/proctime.h</INCLUDE>
|
<INCLUDE>glibtop/proctime.h</INCLUDE>
|
||||||
<SECTION>
|
<SECTION>
|
||||||
<FILE>proctime</FILE>
|
<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_proc_time
|
||||||
glibtop_get_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>
|
</SECTION>
|
||||||
|
|
||||||
<INCLUDE>glibtop/signal.h</INCLUDE>
|
<INCLUDE>glibtop/signal.h</INCLUDE>
|
||||||
@@ -488,6 +533,10 @@ glibtop_send_version
|
|||||||
<INCLUDE>glibtop/proclist.h</INCLUDE>
|
<INCLUDE>glibtop/proclist.h</INCLUDE>
|
||||||
<SECTION>
|
<SECTION>
|
||||||
<FILE>proclist</FILE>
|
<FILE>proclist</FILE>
|
||||||
|
GLIBTOP_PROCLIST_NUMBER
|
||||||
|
GLIBTOP_PROCLIST_TOTAL
|
||||||
|
GLIBTOP_PROCLIST_SIZE
|
||||||
|
GLIBTOP_MAX_PROCLIST
|
||||||
GLIBTOP_KERN_PROC_ALL
|
GLIBTOP_KERN_PROC_ALL
|
||||||
GLIBTOP_KERN_PROC_PID
|
GLIBTOP_KERN_PROC_PID
|
||||||
GLIBTOP_KERN_PROC_PGRP
|
GLIBTOP_KERN_PROC_PGRP
|
||||||
@@ -501,6 +550,12 @@ GLIBTOP_EXCLUDE_SYSTEM
|
|||||||
GLIBTOP_EXCLUDE_NOTTY
|
GLIBTOP_EXCLUDE_NOTTY
|
||||||
glibtop_proclist
|
glibtop_proclist
|
||||||
glibtop_get_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>
|
</SECTION>
|
||||||
|
|
||||||
<INCLUDE>glibtop/sem_limits.h</INCLUDE>
|
<INCLUDE>glibtop/sem_limits.h</INCLUDE>
|
||||||
|
@@ -1,11 +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>
|
2006-02-27 Benoît Dejean <benoit@placenet.org>
|
||||||
|
|
||||||
* pprint.c: (pprint_get_proc_mem), (main):
|
* pprint.c: (pprint_get_proc_mem), (main):
|
||||||
|
@@ -1,17 +1,14 @@
|
|||||||
## Process this file with automake to produce Makefile.in
|
## Process this file with automake to produce Makefile.in
|
||||||
|
|
||||||
AM_CPPFLAGS = \
|
LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@
|
||||||
-I$(top_srcdir) \
|
|
||||||
-I$(top_srcdir)/include \
|
|
||||||
-I$(top_srcdir)/sysdeps/$(sysdeps_dir) \
|
|
||||||
-DGTOPLOCALEDIR=\"$(localedir)\" \
|
|
||||||
$(GLIB_CFLAGS)
|
|
||||||
|
|
||||||
AM_LDFLAGS = $(LIBGTOP_EXTRA_LIBS)
|
INCLUDES = @INCLUDES@
|
||||||
|
|
||||||
|
DEFS = @DEFS@
|
||||||
|
|
||||||
noinst_PROGRAMS = first second pprint procargs df netlist \
|
noinst_PROGRAMS = first second pprint procargs df netlist \
|
||||||
mountlist procmap netload sysdeps timings \
|
mountlist procmap netload sysdeps timings \
|
||||||
openfiles smp proclist free wd affinity diskio
|
openfiles smp proclist
|
||||||
|
|
||||||
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
|
||||||
@@ -43,7 +40,6 @@ pprint_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
|||||||
procargs_SOURCES = procargs.c
|
procargs_SOURCES = procargs.c
|
||||||
procargs_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
procargs_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||||
|
|
||||||
|
|
||||||
df_SOURCES = df.c
|
df_SOURCES = df.c
|
||||||
df_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
df_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||||
|
|
||||||
@@ -55,15 +51,3 @@ openfiles_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
|||||||
|
|
||||||
proclist_SOURCES = proclist.c
|
proclist_SOURCES = proclist.c
|
||||||
proclist_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
proclist_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||||
|
|
||||||
wd_SOURCES = wd.c
|
|
||||||
wd_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
|
||||||
|
|
||||||
free_SOURCE = mem.c
|
|
||||||
free_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
|
||||||
|
|
||||||
affinity_SOURCES = affinity.c
|
|
||||||
affinity_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
|
||||||
|
|
||||||
diskio_SOURCES = diskio.c
|
|
||||||
diskio_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;
|
|
||||||
}
|
|
||||||
|
|
@@ -13,54 +13,30 @@ static void print_fsusage(const char *mountpoint)
|
|||||||
{
|
{
|
||||||
glibtop_fsusage buf;
|
glibtop_fsusage buf;
|
||||||
|
|
||||||
enum { SIZE, USED, FREE, AVAIL, READ, WRITE, MAX };
|
|
||||||
char **a = g_new0(char*, MAX);
|
|
||||||
|
|
||||||
glibtop_get_fsusage(&buf, mountpoint);
|
glibtop_get_fsusage(&buf, mountpoint);
|
||||||
|
|
||||||
|
printf("%-20s %-10llu %-10llu %-10llu %.1f\n",
|
||||||
#define I(X) a[(X)]
|
mountpoint,
|
||||||
I(SIZE) = g_format_size_full(buf.blocks * buf.block_size, G_FORMAT_SIZE_IEC_UNITS);
|
buf.blocks * buf.block_size >> 20,
|
||||||
I(USED) = g_format_size_full((buf.blocks - buf.bavail) * buf.block_size, G_FORMAT_SIZE_IEC_UNITS);
|
(buf.blocks - buf.bavail) * buf.block_size >> 20,
|
||||||
I(FREE) = g_format_size_full(buf.bfree * buf.block_size, G_FORMAT_SIZE_IEC_UNITS);
|
buf.bavail * buf.block_size >> 20,
|
||||||
I(AVAIL) = g_format_size_full(buf.bavail * buf.block_size, G_FORMAT_SIZE_IEC_UNITS);
|
(buf.blocks - buf.bavail) * 100.0 / buf.blocks
|
||||||
I(READ) = g_format_size_full(buf.read, G_FORMAT_SIZE_IEC_UNITS);
|
|
||||||
I(WRITE) = g_format_size_full(buf.write, G_FORMAT_SIZE_IEC_UNITS);
|
|
||||||
|
|
||||||
printf("%#7x %10s %10s %10s %10s %5.1f%% %10s %10s %8lu %8lu %s\n",
|
|
||||||
(unsigned)buf.flags,
|
|
||||||
I(SIZE),
|
|
||||||
I(USED),
|
|
||||||
I(FREE),
|
|
||||||
I(AVAIL),
|
|
||||||
(buf.blocks - buf.bavail) * 100.0 / (buf.blocks ? buf.blocks : 1.0),
|
|
||||||
I(READ),
|
|
||||||
I(WRITE),
|
|
||||||
(unsigned long)buf.files,
|
|
||||||
(unsigned long)buf.ffree,
|
|
||||||
mountpoint
|
|
||||||
);
|
);
|
||||||
|
|
||||||
g_strfreev(a);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
|
||||||
|
int main()
|
||||||
{
|
{
|
||||||
glibtop_mountlist buf;
|
glibtop_mountlist buf;
|
||||||
|
|
||||||
glibtop_init();
|
|
||||||
|
|
||||||
printf("%-6s %10s %10s %10s %10s %5s %10s %10s %10s %10s %s\n",
|
|
||||||
"(flags)", "Size", "Used", "Free", "Avail", "Use%", "Read", "Write", "Files", "Files Free", "Mountpoint");
|
|
||||||
|
|
||||||
if (argc > 1) {
|
|
||||||
while (*++argv)
|
|
||||||
print_fsusage(*argv);
|
|
||||||
} else {
|
|
||||||
glibtop_mountentry *entries;
|
glibtop_mountentry *entries;
|
||||||
size_t i;
|
size_t i;
|
||||||
|
|
||||||
entries = glibtop_get_mountlist(&buf, TRUE);
|
glibtop_init();
|
||||||
|
|
||||||
|
printf("%-20s %-10s %-10s %-10s %-10s\n",
|
||||||
|
"Filesystem", "Size", "Used", "Avail", "Use%");
|
||||||
|
|
||||||
|
entries = glibtop_get_mountlist(&buf, FALSE);
|
||||||
|
|
||||||
for(i = 0; i < buf.number; ++i)
|
for(i = 0; i < buf.number; ++i)
|
||||||
{
|
{
|
||||||
@@ -68,7 +44,6 @@ int main(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
g_free(entries);
|
g_free(entries);
|
||||||
}
|
|
||||||
|
|
||||||
glibtop_close();
|
glibtop_close();
|
||||||
|
|
||||||
|
@@ -1,39 +0,0 @@
|
|||||||
#ifdef HAVE_CONFIG_H
|
|
||||||
# include <config.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/procio.h>
|
|
||||||
|
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
#include <unistd.h>
|
|
||||||
|
|
||||||
static void show_diskio(pid_t pid)
|
|
||||||
{
|
|
||||||
glibtop_proc_io io;
|
|
||||||
|
|
||||||
glibtop_get_proc_io (&io, pid);
|
|
||||||
|
|
||||||
printf("<%ld>\t", (long)pid);
|
|
||||||
|
|
||||||
printf("flags: %08lx disk_rchar : %lu, disk_wchar : %lu, disk_read_bytes : %lu, disk_write_bytes : %lu\n", (unsigned long)io.flags, io.disk_rchar, io.disk_wchar, io.disk_rbytes, io.disk_wbytes);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
|
||||||
{
|
|
||||||
glibtop_init();
|
|
||||||
|
|
||||||
while(*++argv)
|
|
||||||
{
|
|
||||||
pid_t pid = strtol(*argv, NULL, 10);
|
|
||||||
show_diskio(pid);
|
|
||||||
}
|
|
||||||
|
|
||||||
glibtop_close();
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
@@ -47,9 +47,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;
|
||||||
|
@@ -1,44 +0,0 @@
|
|||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/mem.h>
|
|
||||||
#include <glibtop/swap.h>
|
|
||||||
|
|
||||||
#include <glib.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
|
|
||||||
static unsigned mb(guint64 n)
|
|
||||||
{
|
|
||||||
return n >> 20;
|
|
||||||
}
|
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
|
||||||
{
|
|
||||||
glibtop_mem mem;
|
|
||||||
glibtop_swap swap;
|
|
||||||
|
|
||||||
glibtop_init();
|
|
||||||
|
|
||||||
glibtop_get_mem(&mem);
|
|
||||||
glibtop_get_swap(&swap);
|
|
||||||
|
|
||||||
printf(" total used free shared buff/cache available\n");
|
|
||||||
|
|
||||||
printf("%-7s %11u %11u %11u %11u %11u %11u\n",
|
|
||||||
"Mem:",
|
|
||||||
mb(mem.total),
|
|
||||||
mb(mem.used - mem.buffer - mem.cached),
|
|
||||||
mb(mem.free),
|
|
||||||
mb(mem.shared),
|
|
||||||
mb(mem.buffer + mem.cached),
|
|
||||||
mb(mem.total - mem.user));
|
|
||||||
|
|
||||||
printf("%-7s %11u %11u %11u\n",
|
|
||||||
"Swap:",
|
|
||||||
mb(swap.total),
|
|
||||||
mb(swap.used),
|
|
||||||
mb(swap.free));
|
|
||||||
|
|
||||||
glibtop_close();
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
|
@@ -14,8 +14,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
@@ -51,7 +51,7 @@ static char* hwaddress_format_for_display(glibtop_netload *buf)
|
|||||||
|
|
||||||
for(i = 0; i < sizeof buf->hwaddress; ++i)
|
for(i = 0; i < sizeof buf->hwaddress; ++i)
|
||||||
g_string_append_printf(repr, "%02X:",
|
g_string_append_printf(repr, "%02X:",
|
||||||
((unsigned char*)buf->hwaddress)[i]);
|
(unsigned) ((char*)buf->hwaddress)[i]);
|
||||||
|
|
||||||
repr->str [ repr->len - 1] = ' ';
|
repr->str [ repr->len - 1] = ' ';
|
||||||
str = g_string_free(repr, FALSE);
|
str = g_string_free(repr, FALSE);
|
||||||
|
@@ -37,16 +37,9 @@ static void show_open_files(pid_t pid)
|
|||||||
printf("socket %s:%d\n", files[i].info.sock.dest_host, files[i].info.sock.dest_port);
|
printf("socket %s:%d\n", files[i].info.sock.dest_host, files[i].info.sock.dest_port);
|
||||||
break;
|
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:
|
case GLIBTOP_FILE_TYPE_LOCALSOCKET:
|
||||||
printf("localsocket %s\n", files[i].info.localsock.name);
|
printf("localsocket %s\n", files[i].info.localsock.name);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
|
||||||
printf("unknown type\n");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -3,7 +3,6 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <glibtop.h>
|
#include <glibtop.h>
|
||||||
#include <glibtop/sysinfo.h>
|
|
||||||
|
|
||||||
#include <glibtop/union.h>
|
#include <glibtop/union.h>
|
||||||
|
|
||||||
@@ -22,58 +21,17 @@
|
|||||||
(unsigned long) sizeof buf.DATA, (unsigned long) buf_offsetof(DATA), buf.DATA)
|
(unsigned long) sizeof buf.DATA, (unsigned long) buf_offsetof(DATA), buf.DATA)
|
||||||
|
|
||||||
#define PPRINT_ARRAY(ARRAY, SIZE, FORMAT) do { \
|
#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); ++i) { \
|
|
||||||
printf(".%u = " FORMAT ", ", i, buf.ARRAY[i]); \
|
|
||||||
if (!buf.ARRAY[i] && i < (SIZE - 1) && !buf.ARRAY[i + 1]) { \
|
|
||||||
do { i++; } while (i < SIZE && !buf.ARRAY[i]); \
|
|
||||||
printf("..., "); \
|
|
||||||
} \
|
|
||||||
} \
|
|
||||||
printf("}\n"); \
|
|
||||||
} while(0)
|
|
||||||
|
|
||||||
#define PPRINT_ENTRY_ARRAY(ARRAY, SIZE) do { \
|
|
||||||
size_t i; \
|
size_t i; \
|
||||||
printf("\t%4lu B %3lu " #ARRAY "[%lu] = { ", \
|
printf("\t%4lu B %3lu " #ARRAY "[%lu] = { ", \
|
||||||
(unsigned long) sizeof buf->ARRAY, 0,\
|
(unsigned long) sizeof buf.ARRAY, (unsigned long) buf_offsetof(ARRAY),\
|
||||||
(unsigned long) G_N_ELEMENTS(buf->ARRAY)); \
|
(unsigned long) G_N_ELEMENTS(buf.ARRAY)); \
|
||||||
for(i = 0; i < SIZE; ++i) { \
|
for(i = 0; i < (SIZE - 1); ++i) printf(".%u = " FORMAT ", ", i, buf.ARRAY[i]); \
|
||||||
if (buf->ARRAY[i].values) { \
|
printf(".%u = " FORMAT " }\n", SIZE - 1 , buf.ARRAY[SIZE - 1]); \
|
||||||
printf ("[ "); \
|
|
||||||
PPRINT_HASHTABLE(buf->ARRAY[i].values); \
|
|
||||||
printf ("]\n"); \
|
|
||||||
} \
|
|
||||||
} \
|
|
||||||
printf("} "); \
|
|
||||||
} while(0)
|
|
||||||
|
|
||||||
#define PPRINT_HASHTABLE(HASHTABLE) do { \
|
|
||||||
g_hash_table_foreach (HASHTABLE, (GHFunc)pprint_hashtable_item, NULL); \
|
|
||||||
} while(0)
|
} while(0)
|
||||||
|
|
||||||
#define FOOTER_PPRINT() putchar('\n');
|
#define FOOTER_PPRINT() putchar('\n');
|
||||||
|
|
||||||
static void pprint_hashtable_item(gchar* key, gchar* value, gpointer user_data)
|
|
||||||
{
|
|
||||||
printf ("'%s': '%s', ", key, value);
|
|
||||||
}
|
|
||||||
static void pprint_get_sysinfo(void)
|
|
||||||
{
|
|
||||||
const glibtop_sysinfo *buf;
|
|
||||||
|
|
||||||
buf = glibtop_get_sysinfo();
|
|
||||||
|
|
||||||
HEADER_PPRINT(glibtop_get_sysinfo);
|
|
||||||
//PPRINT(flags, "%#llx");
|
|
||||||
//PPRINT(ncpu, "%llu");
|
|
||||||
PPRINT_ENTRY_ARRAY(cpuinfo, 4);
|
|
||||||
FOOTER_PPRINT();
|
|
||||||
}
|
|
||||||
|
|
||||||
static void pprint_get_cpu(void)
|
static void pprint_get_cpu(void)
|
||||||
{
|
{
|
||||||
@@ -328,34 +286,11 @@ static void pprint_get_proc_mem(pid_t pid)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void pprint_get_proc_affinity(pid_t pid)
|
|
||||||
{
|
|
||||||
glibtop_proc_affinity buf;
|
|
||||||
guint32 i;
|
|
||||||
guint16* cpus;
|
|
||||||
|
|
||||||
cpus = glibtop_get_proc_affinity(&buf, pid);
|
|
||||||
|
|
||||||
HEADER_PPRINT(glibtop_get_proc_affinity);
|
|
||||||
PPRINT(flags, "%#llx");
|
|
||||||
PPRINT(number, "%u");
|
|
||||||
PPRINT(all, "%d");
|
|
||||||
|
|
||||||
printf("\taffinity=");
|
|
||||||
for (i = 0; i < buf.number; i++) {
|
|
||||||
printf("%d, ", cpus[i]);
|
|
||||||
}
|
|
||||||
putchar('\n');
|
|
||||||
|
|
||||||
FOOTER_PPRINT();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
glibtop_init();
|
glibtop_init();
|
||||||
|
|
||||||
pprint_get_sysinfo();
|
|
||||||
pprint_get_cpu();
|
pprint_get_cpu();
|
||||||
|
|
||||||
pprint_get_fsusage("/");
|
pprint_get_fsusage("/");
|
||||||
@@ -382,7 +317,6 @@ int main()
|
|||||||
|
|
||||||
pprint_get_proc_kernel(getpid());
|
pprint_get_proc_kernel(getpid());
|
||||||
pprint_get_proc_mem(getpid());
|
pprint_get_proc_mem(getpid());
|
||||||
pprint_get_proc_affinity(getpid());
|
|
||||||
|
|
||||||
glibtop_close();
|
glibtop_close();
|
||||||
|
|
||||||
|
@@ -1,8 +1,5 @@
|
|||||||
#include <glibtop.h>
|
#include <glibtop.h>
|
||||||
#include <glibtop/proclist.h>
|
#include <glibtop/proclist.h>
|
||||||
#include <glibtop/procstate.h>
|
|
||||||
#include <glibtop/proctime.h>
|
|
||||||
#include <glibtop/procuid.h>
|
|
||||||
|
|
||||||
#include <glib.h>
|
#include <glib.h>
|
||||||
|
|
||||||
@@ -14,34 +11,20 @@
|
|||||||
|
|
||||||
static void print_pids(guint64 which, guint64 arg)
|
static void print_pids(guint64 which, guint64 arg)
|
||||||
{
|
{
|
||||||
pid_t *pids;
|
unsigned *pids;
|
||||||
unsigned i;
|
unsigned i;
|
||||||
glibtop_proclist buf;
|
glibtop_proclist buf;
|
||||||
|
|
||||||
pids = glibtop_get_proclist(&buf, which, arg);
|
pids = glibtop_get_proclist(&buf, which, arg);
|
||||||
|
|
||||||
for (i = 0; i < buf.number; ++i) {
|
printf("glibtop_get_proclist(%#llx, %llu) -> %lu processes\n",
|
||||||
glibtop_proc_time ptime;
|
which, arg, (unsigned long)buf.number);
|
||||||
glibtop_proc_uid puid;
|
|
||||||
glibtop_proc_state pstate;
|
|
||||||
|
|
||||||
pid_t p = pids[i];
|
for (i = 0; i < buf.number; ++i)
|
||||||
|
printf("%u ", pids[i]);
|
||||||
|
|
||||||
glibtop_get_proc_time(&ptime, p);
|
putchar('\n');
|
||||||
glibtop_get_proc_uid(&puid, p);
|
putchar('\n');
|
||||||
glibtop_get_proc_state(&pstate, p);
|
|
||||||
|
|
||||||
/* almost equivalent to ps -x -o user,pid,time,usertime,systime,start,command */
|
|
||||||
printf("%u pid=%u real=%.2f user=%.2f sys=%.2f start=%lu %s (%lx)\n",
|
|
||||||
puid.uid,
|
|
||||||
p,
|
|
||||||
(double)ptime.rtime / ptime.frequency,
|
|
||||||
(double)ptime.utime / ptime.frequency,
|
|
||||||
(double)ptime.stime / ptime.frequency,
|
|
||||||
(unsigned long)ptime.start_time,
|
|
||||||
pstate.cmd,
|
|
||||||
(long)ptime.flags);
|
|
||||||
}
|
|
||||||
|
|
||||||
g_free(pids);
|
g_free(pids);
|
||||||
}
|
}
|
||||||
@@ -51,6 +34,7 @@ int main()
|
|||||||
{
|
{
|
||||||
glibtop_init();
|
glibtop_init();
|
||||||
|
|
||||||
|
print_pids(GLIBTOP_KERN_PROC_ALL, 0);
|
||||||
print_pids(GLIBTOP_KERN_PROC_UID, getuid());
|
print_pids(GLIBTOP_KERN_PROC_UID, getuid());
|
||||||
|
|
||||||
glibtop_close();
|
glibtop_close();
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
@@ -35,43 +35,23 @@
|
|||||||
|
|
||||||
#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>
|
||||||
|
|
||||||
#include <fcntl.h>
|
|
||||||
|
|
||||||
#ifndef PROFILE_COUNT
|
#ifndef PROFILE_COUNT
|
||||||
#define PROFILE_COUNT 1
|
#define PROFILE_COUNT 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void
|
|
||||||
try_mmap(const char *path)
|
|
||||||
{
|
|
||||||
struct stat buf;
|
|
||||||
int fd;
|
|
||||||
|
|
||||||
if ((fd = open(path, O_RDONLY)) < 0)
|
|
||||||
goto out;
|
|
||||||
|
|
||||||
if (fstat(fd, &buf) < 0)
|
|
||||||
goto out;
|
|
||||||
|
|
||||||
if (mmap(NULL, buf.st_size, PROT_READ, MAP_PRIVATE, fd, 0) == MAP_FAILED)
|
|
||||||
goto out;
|
|
||||||
|
|
||||||
close(fd);
|
|
||||||
|
|
||||||
return;
|
|
||||||
|
|
||||||
out:
|
|
||||||
fprintf(stderr, "Failed to test mmap with '%s'\n", path);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
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;
|
||||||
@@ -104,18 +84,12 @@ main (int argc, char *argv [])
|
|||||||
|
|
||||||
glibtop_init_r (&glibtop_global_server, 0, 0);
|
glibtop_init_r (&glibtop_global_server, 0, 0);
|
||||||
|
|
||||||
if (argc == 1) {
|
if ((argc != 2) || (sscanf (argv [1], "%d", (int *) &pid) != 1))
|
||||||
pid = getpid();
|
g_error ("Usage: %s pid", argv [0]);
|
||||||
}
|
|
||||||
else if ((argc != 2) || (sscanf (argv [1], "%d", (int *) &pid) != 1))
|
|
||||||
g_error ("Usage: %s [pid]", argv [0]);
|
|
||||||
|
|
||||||
if (pid == getpid()) {
|
#ifdef GLIBTOP_INODEDB
|
||||||
/* let's map something for a try */
|
inodedb = glibtop_inodedb_open (0, 0);
|
||||||
try_mmap("/etc/passwd");
|
#endif
|
||||||
try_mmap("/etc/resolv.conf");
|
|
||||||
try_mmap(argv[0]);
|
|
||||||
}
|
|
||||||
|
|
||||||
fprintf (stderr, "Getting memory maps for pid %d.\n\n", (int) pid);
|
fprintf (stderr, "Getting memory maps for pid %d.\n\n", (int) pid);
|
||||||
|
|
||||||
@@ -123,13 +97,18 @@ main (int argc, char *argv [])
|
|||||||
|
|
||||||
for (i = 0; i < procmap.number; i++) {
|
for (i = 0; i < procmap.number; i++) {
|
||||||
const char *filename = NULL;
|
const char *filename = NULL;
|
||||||
char * format;
|
|
||||||
unsigned device, device_major, device_minor;
|
unsigned device, device_major, device_minor;
|
||||||
char perm [5];
|
char perm [5];
|
||||||
|
|
||||||
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' : '-';
|
||||||
@@ -140,31 +119,46 @@ main (int argc, char *argv [])
|
|||||||
device_minor = (device & 255);
|
device_minor = (device & 255);
|
||||||
device_major = ((device >> 8) & 255);
|
device_major = ((device >> 8) & 255);
|
||||||
|
|
||||||
|
if (filename) {
|
||||||
|
char *format;
|
||||||
|
|
||||||
if (sizeof (void*) == 8)
|
if (sizeof (void*) == 8)
|
||||||
format = "%016lx-%016lx +%016lx (%8lu bytes mapped) - "
|
format = "%016lx-%016lx %016lx - "
|
||||||
"%02x:%02x % 8lu - %.*s";
|
"%02x:%02x %08lu - %4s - %s\n";
|
||||||
else
|
else
|
||||||
format = "%08lx-%08lx +%08lx (%8lu bytes mapped) - "
|
format = "%08lx-%08lx %08lx - "
|
||||||
"%02x:%02x % 8lu - %.*s";
|
"%02x:%02x %08lu - %4s - %s\n";
|
||||||
|
|
||||||
fprintf (stderr, format,
|
fprintf (stderr, format,
|
||||||
(unsigned long) maps [i].start,
|
(unsigned long) maps [i].start,
|
||||||
(unsigned long) maps [i].end,
|
(unsigned long) maps [i].end,
|
||||||
(unsigned long) maps [i].offset,
|
(unsigned long) maps [i].offset,
|
||||||
(unsigned long) (maps [i].end - (maps [i].start + maps [i].offset)),
|
|
||||||
device_major, device_minor,
|
device_major, device_minor,
|
||||||
(unsigned long) maps [i].inode,
|
(unsigned long) maps [i].inode,
|
||||||
sizeof perm, perm);
|
perm, filename);
|
||||||
|
} else {
|
||||||
|
char * format;
|
||||||
|
|
||||||
if (filename) {
|
if (sizeof (void*) == 8)
|
||||||
fprintf(stderr, " - %s", filename);
|
format = "%016lx-%016lx %016lx - "
|
||||||
|
"%02x:%02x %08lu - %4s\n";
|
||||||
|
else
|
||||||
|
format = "%08lx-%08lx %08lx - "
|
||||||
|
"%02x:%02x %08lu - %4s\n";
|
||||||
|
|
||||||
|
fprintf (stderr, format,
|
||||||
|
(unsigned long) maps [i].start,
|
||||||
|
(unsigned long) maps [i].end,
|
||||||
|
(unsigned long) maps [i].offset,
|
||||||
|
device_major, device_minor,
|
||||||
|
(unsigned long) maps [i].inode,
|
||||||
|
perm);
|
||||||
}
|
}
|
||||||
|
|
||||||
fputc('\n', stderr);
|
|
||||||
|
|
||||||
g_print("smaps flags:%#llx size:%lluKiB rss:%lluKiB "
|
g_print("smaps flags:%#llx size:%llu rss:%llu "
|
||||||
"shared_clean:%lluKib shared_dirty:%lluKiB "
|
"shared_clean:%llu shared_dirty:%llu "
|
||||||
"private_clean:%lluKiB private_dirty: %lluKiB\n",
|
"private_clean:%llu private_dirty: %llu\n",
|
||||||
maps[i].flags,
|
maps[i].flags,
|
||||||
maps[i].size >> 10,
|
maps[i].size >> 10,
|
||||||
maps[i].rss >> 10,
|
maps[i].rss >> 10,
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
@@ -42,12 +42,14 @@ output (pid_t pid)
|
|||||||
char *args;
|
char *args;
|
||||||
unsigned i;
|
unsigned i;
|
||||||
|
|
||||||
|
#if HAVE_LIBGTOP_SMP
|
||||||
unsigned long total;
|
unsigned long total;
|
||||||
double p_total, p_utime, p_stime;
|
double p_total, p_utime, p_stime;
|
||||||
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;
|
unsigned int ncpu;
|
||||||
|
#endif
|
||||||
|
|
||||||
printf ("\n");
|
printf ("\n");
|
||||||
|
|
||||||
@@ -156,6 +158,7 @@ output (pid_t pid)
|
|||||||
|
|
||||||
printf ("\n");
|
printf ("\n");
|
||||||
|
|
||||||
|
#if HAVE_LIBGTOP_SMP
|
||||||
ncpu = glibtop_global_server->ncpu;
|
ncpu = glibtop_global_server->ncpu;
|
||||||
|
|
||||||
glibtop_get_proc_time (&data.proc_time, pid);
|
glibtop_get_proc_time (&data.proc_time, pid);
|
||||||
@@ -228,6 +231,7 @@ output (pid_t pid)
|
|||||||
s_utime * 100.0 / my_utime, s_stime * 100.0 / my_stime);
|
s_utime * 100.0 / my_utime, s_stime * 100.0 / my_stime);
|
||||||
|
|
||||||
printf ("\n");
|
printf ("\n");
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
@@ -235,8 +239,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);
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
@@ -92,10 +92,9 @@ main (int argc, char *argv [])
|
|||||||
"\tproc_time:\t%d\t0x%08lx\n"
|
"\tproc_time:\t%d\t0x%08lx\n"
|
||||||
"\tproc_signal:\t%d\t0x%08lx\n"
|
"\tproc_signal:\t%d\t0x%08lx\n"
|
||||||
"\tproc_kernel:\t%d\t0x%08lx\n"
|
"\tproc_kernel:\t%d\t0x%08lx\n"
|
||||||
"\tproc_segment:\t%d\t0x%08lx\n"
|
"\tproc_segment:\t%d\t0x%08lx\n\n"
|
||||||
"\tproc_args:\t%d\t0x%08lx\n"
|
"\tproc_args:\t%d\t0x%08lx\n"
|
||||||
"\tproc_map:\t%d\t0x%08lx\n"
|
"\tproc_map:\t%d\t0x%08lx\n\n"
|
||||||
"\tproc_io:\t%d\t0x%08lx\n\n"
|
|
||||||
"\tmountlist:\t%d\t0x%08lx\n"
|
"\tmountlist:\t%d\t0x%08lx\n"
|
||||||
"\tfsusage:\t%d\t0x%08lx\n\n"
|
"\tfsusage:\t%d\t0x%08lx\n\n"
|
||||||
"\tnetload:\t%d\t0x%08lx\n"
|
"\tnetload:\t%d\t0x%08lx\n"
|
||||||
@@ -138,8 +137,6 @@ main (int argc, char *argv [])
|
|||||||
(unsigned long) sysdeps.proc_args,
|
(unsigned long) sysdeps.proc_args,
|
||||||
FEATURE_CHECK(PROC_MAP),
|
FEATURE_CHECK(PROC_MAP),
|
||||||
(unsigned long) sysdeps.proc_map,
|
(unsigned long) sysdeps.proc_map,
|
||||||
FEATURE_CHECK(PROC_IO),
|
|
||||||
(unsigned long) sysdeps.proc_io,
|
|
||||||
FEATURE_CHECK(MOUNTLIST),
|
FEATURE_CHECK(MOUNTLIST),
|
||||||
(unsigned long) sysdeps.mountlist,
|
(unsigned long) sysdeps.mountlist,
|
||||||
FEATURE_CHECK(FSUSAGE),
|
FEATURE_CHECK(FSUSAGE),
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
@@ -44,7 +44,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)
|
||||||
@@ -69,47 +69,29 @@
|
|||||||
} \
|
} \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
|
|
||||||
static void display_self_times(void)
|
|
||||||
{
|
|
||||||
printf("-- Overview using `ps` --------------------"
|
|
||||||
"---------------\n");
|
|
||||||
printf("-- this client is %8u ----------------"
|
|
||||||
"---------------\n", (unsigned)getpid());
|
|
||||||
printf("-- this server is %8u ----------------"
|
|
||||||
"---------------\n", (unsigned)glibtop_global_server->pid);
|
|
||||||
system("ps xjf | egrep 'timings|libgtop_server'");
|
|
||||||
printf("-------------------------------------------"
|
|
||||||
"---------------\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int
|
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);
|
||||||
textdomain (GETTEXT_PACKAGE);
|
textdomain (GETTEXT_PACKAGE);
|
||||||
|
|
||||||
|
|
||||||
glibtop_init_r (&glibtop_global_server, 0, 0);
|
|
||||||
|
|
||||||
display_self_times();
|
|
||||||
|
|
||||||
printf ("%-12s (%-10s): %7s - %9s - %9s\n",
|
printf ("%-12s (%-10s): %7s - %9s - %9s\n",
|
||||||
"Feature", "Flags", "Count", "utime", "stime");
|
"Feature", "Flags", "Count", "utime", "stime");
|
||||||
printf ("-------------------------------------------"
|
printf ("-------------------------------------------"
|
||||||
"---------------\n");
|
"---------------\n");
|
||||||
|
|
||||||
|
glibtop_init_r (&glibtop_global_server, 0, 0);
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &total_start);
|
getrusage (RUSAGE_SELF, &total_start);
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_start);
|
getrusage (RUSAGE_SELF, &rusage_start);
|
||||||
@@ -202,10 +184,12 @@ 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);
|
g_free (ptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -223,26 +207,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);
|
||||||
|
|
||||||
@@ -300,27 +267,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);
|
||||||
|
|
||||||
@@ -339,27 +285,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);
|
||||||
|
|
||||||
@@ -412,26 +337,6 @@ 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);
|
||||||
|
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &rusage_start);
|
|
||||||
|
|
||||||
for (c = 0; c < PROFILE_COUNT; c++)
|
|
||||||
glibtop_get_proc_io (&data.proc_io, pid);
|
|
||||||
|
|
||||||
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_Io (0x%08lx): %7lu - %9.2Lf - %9.2Lf\n",
|
|
||||||
(unsigned long) data.proc_io.flags, PROFILE_COUNT,
|
|
||||||
(long double) ELAPSED_UTIME / PROFILE_COUNT,
|
|
||||||
(long double) ELAPSED_STIME / PROFILE_COUNT);
|
|
||||||
|
|
||||||
|
|
||||||
getrusage (RUSAGE_SELF, &total_end);
|
getrusage (RUSAGE_SELF, &total_end);
|
||||||
|
|
||||||
libgtop_timersub (&total_end.ru_utime, &total_start.ru_utime,
|
libgtop_timersub (&total_end.ru_utime, &total_start.ru_utime,
|
||||||
@@ -449,8 +354,6 @@ main (int argc, char *argv [])
|
|||||||
printf ("All timings are in clock ticks "
|
printf ("All timings are in clock ticks "
|
||||||
"(1000000 ticks per second).\n\n");
|
"(1000000 ticks per second).\n\n");
|
||||||
|
|
||||||
display_self_times();
|
|
||||||
|
|
||||||
glibtop_close ();
|
glibtop_close ();
|
||||||
|
|
||||||
exit (0);
|
exit (0);
|
||||||
|
@@ -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;
|
|
||||||
}
|
|
||||||
|
|
51
features.def
51
features.def
@@ -1,28 +1,25 @@
|
|||||||
void|cpu
|
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|mem
|
void|mem|ulong(total,used,free,shared,buffer,cached,user,locked)
|
||||||
void|swap
|
void|swap|ulong(total,used,free,pagein,pageout)
|
||||||
void|uptime
|
void|uptime|double(uptime,idletime)
|
||||||
void|loadavg
|
void|loadavg|double(loadavg[3]):ulong(nr_running,nr_tasks,last_pid)
|
||||||
void|shm_limits
|
void|shm_limits|ulong(shmmax,shmmin,shmmni,shmseg,shmall)
|
||||||
void|msg_limits
|
void|msg_limits|ulong(msgpool,msgmap,msgmax,msgmnb,msgmni,msgssz,msgtql)
|
||||||
void|sem_limits
|
void|sem_limits|ulong(semmap,semmni,semmns,semmnu,semmsl,semopm,semume,semusz,semvmx,semaem)
|
||||||
pid_t*|proclist|long(which,arg)
|
unsigned *|proclist|ulong(number,size,total)|long(which,arg)
|
||||||
void|proc_state|pid_t(pid)
|
void|proc_state|str(cmd):char(state):ulong(uid,gid)|pid_t(pid)
|
||||||
void|proc_uid|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|pid_t(pid)
|
void|proc_mem|long(size,vsize,resident,share,rss,rss_rlim)|pid_t(pid)
|
||||||
void|proc_time|pid_t(pid)
|
void|proc_time|long(start_time,rtime,utime,stime,cutime,cstime,timeout,it_real_value,frequency,xcpu_utime[4],xcpu_stime[4])|pid_t(pid)
|
||||||
void|proc_signal|pid_t(pid)
|
void|proc_signal|ulong(signal[2],blocked[2],sigignore[2],sigcatch[2])|pid_t(pid)
|
||||||
void|proc_kernel|pid_t(pid)
|
void|proc_kernel|ulong(k_flags,min_flt,maj_flt,cmin_flt,cmaj_flt,kstk_esp,kstk_eip,nwchan):str(wchan)|pid_t(pid)
|
||||||
void|proc_segment|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|pid_t(pid):unsigned(max_len)
|
char *|proc_args|ulong(size)|pid_t(pid):unsigned(max_len)
|
||||||
glibtop_map_entry *|proc_map|pid_t(pid)
|
glibtop_map_entry *|proc_map|ulong(number,size,total)|pid_t(pid)
|
||||||
glibtop_open_files_entry *|proc_open_files|pid_t(pid)
|
glibtop_open_files_entry *|proc_open_files|ulong(number)|pid_t(pid)
|
||||||
glibtop_mountentry *|@mountlist|int(all_fs)
|
glibtop_mountentry *|@mountlist|ulong(number,size,total)|int(all_fs)
|
||||||
void|@fsusage|string|mount_dir
|
void|@fsusage|ulong(blocks,bfree,bavail,files,ffree)|string|mount_dir
|
||||||
void|netload|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|ushort(device)
|
void|ppp|ulong(state,bytes_in,bytes_out)|ushort(device)
|
||||||
char **|netlist
|
char **|netlist|unsigned(number)
|
||||||
char **|proc_wd|pid_t(pid)
|
|
||||||
guint16*|proc_affinity|pid_t(pid)
|
|
||||||
void|proc_io|pid_t(pid)
|
|
||||||
|
|
||||||
|
78
glibtop.h
78
glibtop.h
@@ -15,24 +15,18 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_H__
|
#ifndef __GLIBTOP_H__
|
||||||
#define __GLIBTOP_H__
|
#define __GLIBTOP_H__
|
||||||
|
|
||||||
/* for pid_t, uid_t, gid_t */
|
#include <glib/gmacros.h>
|
||||||
#include <sys/types.h>
|
|
||||||
|
|
||||||
|
|
||||||
#include <glib.h>
|
|
||||||
#include <glib-object.h>
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
typedef struct _glibtop glibtop;
|
typedef struct _glibtop glibtop;
|
||||||
typedef struct _glibtop_machine glibtop_machine;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* LIBGTOP_CHECK_VERSION
|
* LIBGTOP_CHECK_VERSION
|
||||||
@@ -60,6 +54,10 @@ LIBGTOP_MICRO_VERSION >= (micro)))
|
|||||||
|
|
||||||
#include <glibtop_server.h>
|
#include <glibtop_server.h>
|
||||||
|
|
||||||
|
#ifdef HAVE_GLIBTOP_MACHINE_H
|
||||||
|
#include <glibtop_machine.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef GLIBTOP_MOUNTENTRY_LEN
|
#ifndef GLIBTOP_MOUNTENTRY_LEN
|
||||||
#define GLIBTOP_MOUNTENTRY_LEN 79
|
#define GLIBTOP_MOUNTENTRY_LEN 79
|
||||||
#endif
|
#endif
|
||||||
@@ -70,6 +68,34 @@ LIBGTOP_MICRO_VERSION >= (micro)))
|
|||||||
#include <glibtop/close.h>
|
#include <glibtop/close.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 */
|
||||||
|
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 */
|
||||||
|
};
|
||||||
|
|
||||||
|
#else /* !HAVE_GLIBTOP_MACHINE_H */
|
||||||
|
|
||||||
struct _glibtop
|
struct _glibtop
|
||||||
{
|
{
|
||||||
unsigned flags;
|
unsigned flags;
|
||||||
@@ -91,57 +117,27 @@ struct _glibtop
|
|||||||
glibtop_sysdeps sysdeps; /* Detailed feature list */
|
glibtop_sysdeps sysdeps; /* Detailed feature list */
|
||||||
glibtop_sysdeps required; /* Required feature list */
|
glibtop_sysdeps required; /* Required feature list */
|
||||||
pid_t pid; /* PID of the server */
|
pid_t pid; /* PID of the server */
|
||||||
|
|
||||||
uid_t uid;
|
|
||||||
uid_t euid;
|
|
||||||
gid_t gid;
|
|
||||||
gid_t egid;
|
|
||||||
|
|
||||||
glibtop_machine *machine; /* Machine dependent data */
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#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_init:
|
|
||||||
*
|
|
||||||
* Returns: (transfer none):
|
|
||||||
*/
|
|
||||||
glibtop *
|
glibtop *
|
||||||
glibtop_init (void);
|
glibtop_init (void);
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_init_r:
|
|
||||||
* @server_ptr: (out):
|
|
||||||
* @features:
|
|
||||||
* @flags:
|
|
||||||
*
|
|
||||||
* Returns: (transfer none):
|
|
||||||
*/
|
|
||||||
glibtop *
|
glibtop *
|
||||||
glibtop_init_r (glibtop **server_ptr,
|
glibtop_init_r (glibtop **server_ptr,
|
||||||
unsigned long features,
|
unsigned long features,
|
||||||
unsigned flags);
|
unsigned flags);
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_init_s:
|
|
||||||
* @server_ptr: (out):
|
|
||||||
* @features:
|
|
||||||
* @flags:
|
|
||||||
*
|
|
||||||
* Returns: (transfer none):
|
|
||||||
*/
|
|
||||||
glibtop *
|
glibtop *
|
||||||
glibtop_init_s (glibtop **server_ptr,
|
glibtop_init_s (glibtop **server_ptr,
|
||||||
unsigned long features,
|
unsigned long features,
|
||||||
unsigned flags);
|
unsigned flags);
|
||||||
|
|
||||||
GType glibtop_get_type (void) G_GNUC_CONST;
|
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -2,16 +2,12 @@ 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 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 \
|
||||||
procsegment.h sysdeps.h global.h \
|
procsegment.h sysdeps.h global.h \
|
||||||
procsignal.h union.h gnuserv.h \
|
procsignal.h union.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 \
|
|
||||||
procio.h \
|
|
||||||
netlist.h procopenfiles.h open.h
|
netlist.h procopenfiles.h open.h
|
||||||
|
|
||||||
noinst_HEADERS = error.h write.h read_data.h read.h init_hooks.h machine.h \
|
noinst_HEADERS = error.h write.h read_data.h read.h init_hooks.h
|
||||||
version.h
|
|
||||||
|
|
||||||
|
@@ -19,8 +19,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_CALL_VECTOR_H__
|
#ifndef __GLIBTOP_CALL_VECTOR_H__
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_CLOSE_H__
|
#ifndef __GLIBTOP_CLOSE_H__
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_COMMAND_H__
|
#ifndef __GLIBTOP_COMMAND_H__
|
||||||
@@ -57,11 +57,8 @@ G_BEGIN_DECLS
|
|||||||
#define GLIBTOP_CMND_PPP 23
|
#define GLIBTOP_CMND_PPP 23
|
||||||
#define GLIBTOP_CMND_NETLIST 24
|
#define GLIBTOP_CMND_NETLIST 24
|
||||||
#define GLIBTOP_CMND_PROC_OPEN_FILES 25
|
#define GLIBTOP_CMND_PROC_OPEN_FILES 25
|
||||||
#define GLIBTOP_CMND_PROC_WD 26
|
|
||||||
#define GLIBTOP_CMND_PROC_AFFINITY 27
|
|
||||||
#define GLIBTOP_CMND_PROC_IO 28
|
|
||||||
|
|
||||||
#define GLIBTOP_MAX_CMND 29
|
#define GLIBTOP_MAX_CMND 26
|
||||||
|
|
||||||
#define _GLIBTOP_PARAM_SIZE 16
|
#define _GLIBTOP_PARAM_SIZE 16
|
||||||
|
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_CPU_H__
|
#ifndef __GLIBTOP_CPU_H__
|
||||||
@@ -54,7 +54,7 @@ G_BEGIN_DECLS
|
|||||||
Yes we are :)
|
Yes we are :)
|
||||||
Nobody should really be using more than 32 processors.
|
Nobody should really be using more than 32 processors.
|
||||||
*/
|
*/
|
||||||
#define GLIBTOP_NCPU 1024
|
#define GLIBTOP_NCPU 32
|
||||||
|
|
||||||
typedef struct _glibtop_cpu glibtop_cpu;
|
typedef struct _glibtop_cpu glibtop_cpu;
|
||||||
|
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@@ -31,32 +31,20 @@
|
|||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
void glibtop_error_vr (glibtop *server, const char *format, va_list args) G_GNUC_NORETURN;
|
void glibtop_error_vr (glibtop *server, const char *format, va_list args) G_GNUC_INTERNAL G_GNUC_NORETURN;
|
||||||
void glibtop_warn_vr (glibtop *server, const char *format, va_list args);
|
void glibtop_warn_vr (glibtop *server, const char *format, va_list args) G_GNUC_INTERNAL;
|
||||||
void glibtop_error_io_vr (glibtop *server, const char *format, int, va_list args) G_GNUC_NORETURN;
|
void glibtop_error_io_vr (glibtop *server, const char *format, int, va_list args) G_GNUC_INTERNAL G_GNUC_NORETURN;
|
||||||
void glibtop_warn_io_vr (glibtop *server, const char *format, int, va_list args);
|
void glibtop_warn_io_vr (glibtop *server, const char *format, int, va_list args) G_GNUC_INTERNAL;
|
||||||
|
|
||||||
void glibtop_error_r (glibtop *server, const char *format, ...) G_GNUC_PRINTF(2, 3) G_GNUC_NORETURN;
|
void glibtop_error_r (glibtop *server, const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(2, 3) G_GNUC_NORETURN;
|
||||||
void glibtop_warn_r (glibtop *server, const char *format, ...) G_GNUC_PRINTF(2, 3);
|
void glibtop_warn_r (glibtop *server, const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(2, 3);
|
||||||
void glibtop_error_io_r (glibtop *server, const char *format, ...) G_GNUC_PRINTF(2, 3) G_GNUC_NORETURN;
|
void glibtop_error_io_r (glibtop *server, const char *format, ...) G_GNUC_INTERNAL 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_warn_io_r (glibtop *server, const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(2, 3);
|
||||||
|
|
||||||
void glibtop_error (const char *format, ...) G_GNUC_PRINTF(1, 2) G_GNUC_NORETURN;
|
void glibtop_error (const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(1, 2) G_GNUC_NORETURN;
|
||||||
void glibtop_warn (const char *format, ...) G_GNUC_PRINTF(1, 2);
|
void glibtop_warn (const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(1, 2);
|
||||||
void glibtop_error_io (const char *format, ...) G_GNUC_PRINTF(1, 2) G_GNUC_NORETURN;
|
void glibtop_error_io (const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(1, 2) G_GNUC_NORETURN;
|
||||||
void glibtop_warn_io (const char *format, ...) G_GNUC_PRINTF(1, 2);
|
void glibtop_warn_io (const char *format, ...) G_GNUC_INTERNAL G_GNUC_PRINTF(1, 2);
|
||||||
|
|
||||||
/* FIXME: C99 */
|
|
||||||
#define glibtop_debug_r(server, fmt, ...) \
|
|
||||||
G_STMT_START { \
|
|
||||||
if (LIBGTOP_ENABLE_DEBUG) \
|
|
||||||
glibtop_debug_r_real(server, "%s:%d %s(): " fmt, __FILE__, __LINE__, __func__, ##__VA_ARGS__); \
|
|
||||||
} G_STMT_END
|
|
||||||
|
|
||||||
#define glibtop_debug(...) glibtop_debug_r(glibtop_global_server, __VA_ARGS__)
|
|
||||||
|
|
||||||
void glibtop_debug_vr (glibtop *server, const char *format, va_list args);
|
|
||||||
void glibtop_debug_r_real (glibtop *server, const char *format, ...) G_GNUC_PRINTF(2, 3);
|
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
|
@@ -14,8 +14,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_FSUSAGE_H__
|
#ifndef __GLIBTOP_FSUSAGE_H__
|
||||||
|
68
include/glibtop/glibtop-server.h
Normal file
68
include/glibtop/glibtop-server.h
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||||
|
|
||||||
|
/* Copyright (C) 1998-99 Martin Baulig
|
||||||
|
This file is part of LibGTop 2.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_SERVER_H__
|
||||||
|
#define __GLIBTOP_SERVER_H__
|
||||||
|
|
||||||
|
#include <glibtop/global.h>
|
||||||
|
#include <glibtop/sysdeps.h>
|
||||||
|
|
||||||
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
|
typedef struct _glibtop_server glibtop_server;
|
||||||
|
typedef struct _glibtop_server_info glibtop_server_info;
|
||||||
|
|
||||||
|
typedef struct _glibtop_closure glibtop_closure;
|
||||||
|
|
||||||
|
struct _glibtop_server_info
|
||||||
|
{
|
||||||
|
int ncpu; /* Number of CPUs, zero if single-processor */
|
||||||
|
unsigned long features; /* Server is required for this features */
|
||||||
|
glibtop_sysdeps sysdeps; /* Detailed feature list */
|
||||||
|
glibtop_sysdeps required; /* Required feature list */
|
||||||
|
glibtop_sysdeps wanted; /* We only want this features */
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _glibtop_server
|
||||||
|
{
|
||||||
|
glibtop_server_info *info;
|
||||||
|
|
||||||
|
int refcount;
|
||||||
|
unsigned flags;
|
||||||
|
const char *name;
|
||||||
|
|
||||||
|
void *_priv;
|
||||||
|
};
|
||||||
|
|
||||||
|
glibtop_server *
|
||||||
|
glibtop_server_new (void);
|
||||||
|
|
||||||
|
void
|
||||||
|
glibtop_server_ref (glibtop_server *server);
|
||||||
|
|
||||||
|
void
|
||||||
|
glibtop_server_unref (glibtop_server *server);
|
||||||
|
|
||||||
|
G_END_DECLS
|
||||||
|
|
||||||
|
#endif
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_GLOBAL_H__
|
#ifndef __GLIBTOP_GLOBAL_H__
|
||||||
|
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
|
||||||
|
|
||||||
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
|
typedef struct _glibtop_inodedb glibtop_inodedb;
|
||||||
|
|
||||||
|
typedef struct _glibtop_inodedb_key glibtop_inodedb_key;
|
||||||
|
|
||||||
|
struct _glibtop_inodedb_key
|
||||||
|
{
|
||||||
|
guint64 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,
|
||||||
|
guint64 device, guint64 inode);
|
||||||
|
|
||||||
|
void
|
||||||
|
glibtop_inodedb_close_s (glibtop *server, glibtop_inodedb *inodedb);
|
||||||
|
|
||||||
|
G_END_DECLS
|
||||||
|
|
||||||
|
#endif
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_LOADAVG_H__
|
#ifndef __GLIBTOP_LOADAVG_H__
|
||||||
|
@@ -1,22 +0,0 @@
|
|||||||
#ifndef GLIBTOP_SYSDEPS_COMMON_MACHINE_H_1437506041
|
|
||||||
#define GLIBTOP_SYSDEPS_COMMON_MACHINE_H_1437506041
|
|
||||||
|
|
||||||
#include <glib.h>
|
|
||||||
#include <glibtop_machine.h>
|
|
||||||
|
|
||||||
/* private */
|
|
||||||
static inline void
|
|
||||||
glibtop_machine_new(glibtop *server)
|
|
||||||
{
|
|
||||||
server->machine = g_new0(glibtop_machine, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* private */
|
|
||||||
static inline void
|
|
||||||
glibtop_machine_delete(glibtop *server)
|
|
||||||
{
|
|
||||||
g_free(server->machine);
|
|
||||||
server->machine = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif /* GLIBTOP_SYSDEPS_COMMON_MACHINE_H_1437506041 */
|
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_MEM_H__
|
#ifndef __GLIBTOP_MEM_H__
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_MOUNTLIST_H__
|
#ifndef __GLIBTOP_MOUNTLIST_H__
|
||||||
@@ -53,38 +53,6 @@ struct _glibtop_mountlist
|
|||||||
guint64 size; /* GLIBTOP_MOUNTLIST_SIZE */
|
guint64 size; /* GLIBTOP_MOUNTLIST_SIZE */
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_get_mountlist:
|
|
||||||
* @buf:
|
|
||||||
* @all_fs:
|
|
||||||
*
|
|
||||||
* Returns: (transfer full):
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_get_mountlist_r:
|
|
||||||
* @buf: (out):
|
|
||||||
* @all_fs:
|
|
||||||
*
|
|
||||||
* Returns: (transfer none):
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_get_mountlist_s:
|
|
||||||
* @buf: (out):
|
|
||||||
* @all_fs:
|
|
||||||
*
|
|
||||||
* Returns: (transfer none):
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_get_mountlist_l:
|
|
||||||
* @buf: (out):
|
|
||||||
* @all_fs:
|
|
||||||
*
|
|
||||||
* Returns: (transfer none):
|
|
||||||
*/
|
|
||||||
|
|
||||||
glibtop_mountentry *
|
glibtop_mountentry *
|
||||||
glibtop_get_mountlist(glibtop_mountlist *buf, int all_fs);
|
glibtop_get_mountlist(glibtop_mountlist *buf, int all_fs);
|
||||||
|
|
||||||
@@ -96,8 +64,6 @@ 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);
|
||||||
|
|
||||||
GType glibtop_mountlist_get_type (void) G_GNUC_CONST;
|
|
||||||
GType glibtop_mountentry_get_type (void) G_GNUC_CONST;
|
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_MSG_LIMITS_H__
|
#ifndef __GLIBTOP_MSG_LIMITS_H__
|
||||||
|
@@ -13,8 +13,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_NETLIST_H__
|
#ifndef __GLIBTOP_NETLIST_H__
|
||||||
@@ -31,23 +31,12 @@ G_BEGIN_DECLS
|
|||||||
|
|
||||||
typedef struct _glibtop_netlist glibtop_netlist;
|
typedef struct _glibtop_netlist glibtop_netlist;
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_netlist:
|
|
||||||
* @number: Number of entries in the returned list.
|
|
||||||
*/
|
|
||||||
struct _glibtop_netlist
|
struct _glibtop_netlist
|
||||||
{
|
{
|
||||||
guint64 flags;
|
guint64 flags;
|
||||||
guint32 number;
|
guint32 number;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_get_netlist:
|
|
||||||
* @buf: a #glibtop_netlist
|
|
||||||
*
|
|
||||||
* Returns: (array zero-terminated=1) (transfer none): an array of network
|
|
||||||
* interface names.
|
|
||||||
*/
|
|
||||||
char** glibtop_get_netlist(glibtop_netlist *buf);
|
char** glibtop_get_netlist(glibtop_netlist *buf);
|
||||||
|
|
||||||
#if GLIBTOP_SUID_NETLIST
|
#if GLIBTOP_SUID_NETLIST
|
||||||
@@ -56,39 +45,13 @@ char** glibtop_get_netlist(glibtop_netlist *buf);
|
|||||||
#define glibtop_get_netlist_r glibtop_get_netlist_s
|
#define glibtop_get_netlist_r glibtop_get_netlist_s
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_get_netlist_l:
|
|
||||||
* @server: a #glibtop server
|
|
||||||
* @buf: a #glibtop_netlist
|
|
||||||
*
|
|
||||||
* Returns: (array zero-terminated=1) (transfer none): an array of network
|
|
||||||
* interface names.
|
|
||||||
*/
|
|
||||||
char** glibtop_get_netlist_l (glibtop *server, glibtop_netlist *buf);
|
char** glibtop_get_netlist_l (glibtop *server, glibtop_netlist *buf);
|
||||||
|
|
||||||
#if GLIBTOP_SUID_NETLIST
|
#if GLIBTOP_SUID_NETLIST
|
||||||
void _glibtop_init_netlist_p (glibtop *server);
|
void _glibtop_init_netlist_p (glibtop *server);
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_get_netlist_p:
|
|
||||||
* @server: a #glibtop server
|
|
||||||
* @buf: a #glibtop_netlist
|
|
||||||
*
|
|
||||||
* Returns: (array zero-terminated=1) (transfer none): an array of network
|
|
||||||
* interface names.
|
|
||||||
*/
|
|
||||||
char** glibtop_get_netlist_p (glibtop *server, glibtop_netlist *buf);
|
char** glibtop_get_netlist_p (glibtop *server, glibtop_netlist *buf);
|
||||||
#else
|
#else
|
||||||
void _glibtop_init_netlist_s (glibtop *server);
|
void _glibtop_init_netlist_s (glibtop *server);
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_get_netlist_s:
|
|
||||||
* @server: a #glibtop server
|
|
||||||
* @buf: a #glibtop_netlist
|
|
||||||
*
|
|
||||||
* Returns: (array zero-terminated=1) (transfer none): an array of network
|
|
||||||
* interface names.
|
|
||||||
*/
|
|
||||||
char** glibtop_get_netlist_s (glibtop *server, glibtop_netlist *buf);
|
char** glibtop_get_netlist_s (glibtop *server, glibtop_netlist *buf);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_NETLOAD_H__
|
#ifndef __GLIBTOP_NETLOAD_H__
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_OPEN_H__
|
#ifndef __GLIBTOP_OPEN_H__
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PARAMETER_H__
|
#ifndef __GLIBTOP_PARAMETER_H__
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PPP_H__
|
#ifndef __GLIBTOP_PPP_H__
|
||||||
|
@@ -1,62 +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., 51 Franklin Street, Fifth Floor,
|
|
||||||
Boston, MA 02110-1301, 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
|
|
||||||
#define GLIBTOP_MAX_PROC_AFFINITY 2
|
|
||||||
|
|
||||||
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
|
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PROC_ARGS_H__
|
#ifndef __GLIBTOP_PROC_ARGS_H__
|
||||||
@@ -79,15 +79,6 @@ char **
|
|||||||
glibtop_get_proc_argv_l (glibtop *server, glibtop_proc_args *buf,
|
glibtop_get_proc_argv_l (glibtop *server, glibtop_proc_args *buf,
|
||||||
pid_t pid, unsigned max_len);
|
pid_t pid, unsigned max_len);
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_get_proc_argv:
|
|
||||||
* @buf:
|
|
||||||
* @pid:
|
|
||||||
* @max_len:
|
|
||||||
*
|
|
||||||
* Returns: (transfer full):
|
|
||||||
*/
|
|
||||||
|
|
||||||
char **
|
char **
|
||||||
glibtop_get_proc_argv (glibtop_proc_args *buf, pid_t pid, unsigned max_len);
|
glibtop_get_proc_argv (glibtop_proc_args *buf, pid_t pid, unsigned max_len);
|
||||||
|
|
||||||
|
@@ -1,93 +0,0 @@
|
|||||||
/* Copyright (C) 2017 Robert Roth
|
|
||||||
This file is part of LibGTop.
|
|
||||||
|
|
||||||
Contributed by Robert Roth <robert.roth.off@gmail.com>, February 2017.
|
|
||||||
|
|
||||||
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., 51 Franklin Street, Fifth Floor,
|
|
||||||
Boston, MA 02110-1301, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PROCIO_H__
|
|
||||||
#define __GLIBTOP_PROCIO_H__
|
|
||||||
|
|
||||||
#include <glibtop.h>
|
|
||||||
#include <glibtop/global.h>
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
|
||||||
|
|
||||||
#define GLIBTOP_PROC_IO_DISK_RCHAR 0
|
|
||||||
#define GLIBTOP_PROC_IO_DISK_WCHAR 1
|
|
||||||
#define GLIBTOP_PROC_IO_DISK_RBYTES 2
|
|
||||||
#define GLIBTOP_PROC_IO_DISK_WBYTES 3
|
|
||||||
|
|
||||||
#define GLIBTOP_MAX_PROC_IO 3
|
|
||||||
|
|
||||||
typedef struct _glibtop_proc_io glibtop_proc_io;
|
|
||||||
|
|
||||||
/* Time section */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_proc_io:
|
|
||||||
* @disk_rchar: The number of bytes which this task has caused to be read from storage. This
|
|
||||||
* is simply the sum of bytes which this process passed to read() and pread(), also including tty IO,
|
|
||||||
* and it is unaffected by whether or not actual physical disk IO was required.
|
|
||||||
* @disk_wchar: The number of bytes which this task has caused, or shall cause to be written
|
|
||||||
* to disk. Similar caveats apply here as with rchar.
|
|
||||||
* @disk_rbytes: Attempt to count the number of bytes which this process really did cause to
|
|
||||||
* be fetched from the storage layer. Done at the submit_bio() level, so it is
|
|
||||||
* accurate for block-backed filesystems.
|
|
||||||
* @disk_wbytes: Attempt to count the number of bytes which this process caused to be sent to
|
|
||||||
* the storage layer. This is done at page-dirtying time.
|
|
||||||
*
|
|
||||||
* Process disk io data filled by glibtop_get_proc_io().
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
struct _glibtop_proc_io
|
|
||||||
{
|
|
||||||
/*< private >*/
|
|
||||||
guint64 flags;
|
|
||||||
/*< public >*/
|
|
||||||
guint64 disk_rchar;
|
|
||||||
guint64 disk_wchar;
|
|
||||||
guint64 disk_rbytes;
|
|
||||||
guint64 disk_wbytes;
|
|
||||||
|
|
||||||
/* reserved for future extensions, e.g. per-process netio */
|
|
||||||
guint64 reserved[10];
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
void glibtop_get_proc_io (glibtop_proc_io *buf, pid_t pid);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_IO
|
|
||||||
#define glibtop_get_proc_io_r glibtop_get_proc_io_p
|
|
||||||
#else
|
|
||||||
#define glibtop_get_proc_io_r glibtop_get_proc_io_s
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void glibtop_get_proc_io_l (glibtop *server, glibtop_proc_io *buf, pid_t pid);
|
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_IO
|
|
||||||
void _glibtop_init_proc_io_p (glibtop *server);
|
|
||||||
void glibtop_get_proc_io_p (glibtop *server, glibtop_proc_io *buf, pid_t pid);
|
|
||||||
#else
|
|
||||||
void _glibtop_init_proc_io_s (glibtop *server);
|
|
||||||
void glibtop_get_proc_io_s (glibtop *server, glibtop_proc_io *buf, pid_t pid);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif
|
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PROCKERNEL_H__
|
#ifndef __GLIBTOP_PROCKERNEL_H__
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PROCLIST_H__
|
#ifndef __GLIBTOP_PROCLIST_H__
|
||||||
@@ -36,89 +36,22 @@ G_BEGIN_DECLS
|
|||||||
/* You can use the folowing constants as the `which' member of
|
/* You can use the folowing constants as the `which' member of
|
||||||
* glibtop_get_proclist () to specify which processes to fetch. */
|
* glibtop_get_proclist () to specify which processes to fetch. */
|
||||||
|
|
||||||
/**
|
#define GLIBTOP_KERN_PROC_ALL 0 /* all processes */
|
||||||
* GLIBTOP_KERN_PROC_ALL:
|
|
||||||
*
|
|
||||||
* Return information about all processes
|
|
||||||
**/
|
|
||||||
#define GLIBTOP_KERN_PROC_ALL 0
|
|
||||||
|
|
||||||
/**
|
|
||||||
* GLIBTOP_KERN_PROC_PID:
|
|
||||||
*
|
|
||||||
* Return all processes with the pid which is passed in @arg. You can use this to find out whether some process still exists.
|
|
||||||
**/
|
|
||||||
#define GLIBTOP_KERN_PROC_PID 1
|
#define GLIBTOP_KERN_PROC_PID 1
|
||||||
|
|
||||||
/**
|
|
||||||
* GLIBTOP_KERN_PROC_PGRP:
|
|
||||||
*
|
|
||||||
* Return all processes in the process group passed in @arg.
|
|
||||||
**/
|
|
||||||
#define GLIBTOP_KERN_PROC_PGRP 2
|
#define GLIBTOP_KERN_PROC_PGRP 2
|
||||||
|
|
||||||
/**
|
|
||||||
* GLIBTOP_KERN_PROC_SESSION:
|
|
||||||
*
|
|
||||||
* Return all processes in the session passed in @arg.
|
|
||||||
**/
|
|
||||||
#define GLIBTOP_KERN_PROC_SESSION 3
|
#define GLIBTOP_KERN_PROC_SESSION 3
|
||||||
|
|
||||||
/**
|
|
||||||
* GLIBTOP_KERN_PROC_TTY:
|
|
||||||
*
|
|
||||||
* Return all processes which have the controlling tty passed in @arg
|
|
||||||
* (which is interpreted as the device number).
|
|
||||||
**/
|
|
||||||
#define GLIBTOP_KERN_PROC_TTY 4
|
#define GLIBTOP_KERN_PROC_TTY 4
|
||||||
|
|
||||||
/**
|
|
||||||
* GLIBTOP_KERN_PROC_UID:
|
|
||||||
*
|
|
||||||
* Return all processes with the effective uid passed in @arg.
|
|
||||||
**/
|
|
||||||
#define GLIBTOP_KERN_PROC_UID 5
|
#define GLIBTOP_KERN_PROC_UID 5
|
||||||
|
|
||||||
/**
|
|
||||||
* GLIBTOP_KERN_PROC_RUID:
|
|
||||||
*
|
|
||||||
* Return all processes with the real uid passed in @arg.
|
|
||||||
**/
|
|
||||||
#define GLIBTOP_KERN_PROC_RUID 6
|
#define GLIBTOP_KERN_PROC_RUID 6
|
||||||
|
|
||||||
#define GLIBTOP_KERN_PROC_MASK 15
|
#define GLIBTOP_KERN_PROC_MASK 15
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* GLIBTOP_EXCLUDE_IDLE:
|
|
||||||
*
|
|
||||||
* Exclude idle processes.
|
|
||||||
**/
|
|
||||||
#define GLIBTOP_EXCLUDE_IDLE 0x1000
|
#define GLIBTOP_EXCLUDE_IDLE 0x1000
|
||||||
|
|
||||||
/**
|
|
||||||
* GLIBTOP_EXCLUDE_SYSTEM:
|
|
||||||
*
|
|
||||||
* Exclude system (on most UNIXes root's) processes.
|
|
||||||
**/
|
|
||||||
#define GLIBTOP_EXCLUDE_SYSTEM 0x2000
|
#define GLIBTOP_EXCLUDE_SYSTEM 0x2000
|
||||||
|
|
||||||
/**
|
|
||||||
* GLIBTOP_EXCLUDE_NOTTY:
|
|
||||||
*
|
|
||||||
* Exclude processes without a controlling terminal.
|
|
||||||
**/
|
|
||||||
#define GLIBTOP_EXCLUDE_NOTTY 0x4000
|
#define GLIBTOP_EXCLUDE_NOTTY 0x4000
|
||||||
|
|
||||||
typedef struct _glibtop_proclist glibtop_proclist;
|
typedef struct _glibtop_proclist glibtop_proclist;
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_proclist:
|
|
||||||
* @number: Number of entries in the returned list.
|
|
||||||
* @total: Total size of the returned list (this equals @number * @size).
|
|
||||||
* @size: Size of a single entry in the returned list
|
|
||||||
* (this equals <type>sizeof(unsigned)</type>).
|
|
||||||
*/
|
|
||||||
struct _glibtop_proclist
|
struct _glibtop_proclist
|
||||||
{
|
{
|
||||||
guint64 flags;
|
guint64 flags;
|
||||||
@@ -127,16 +60,7 @@ struct _glibtop_proclist
|
|||||||
guint64 size; /* GLIBTOP_PROCLIST_SIZE */
|
guint64 size; /* GLIBTOP_PROCLIST_SIZE */
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
unsigned *
|
||||||
* glibtop_get_proclist:
|
|
||||||
* @buf: a #glibtop_proclist
|
|
||||||
* @which: a #GLIBTOP_* constant specifying process type
|
|
||||||
* @arg: an argument specific for the process type
|
|
||||||
*
|
|
||||||
* Returns: (array zero-terminated=1) (transfer none): an array of process
|
|
||||||
* ids
|
|
||||||
*/
|
|
||||||
pid_t*
|
|
||||||
glibtop_get_proclist(glibtop_proclist *buf, gint64 which, gint64 arg);
|
glibtop_get_proclist(glibtop_proclist *buf, gint64 which, gint64 arg);
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROCLIST
|
#if GLIBTOP_SUID_PROCLIST
|
||||||
@@ -145,50 +69,20 @@ 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
|
||||||
|
|
||||||
/**
|
unsigned *
|
||||||
* glibtop_get_proclist_l:
|
|
||||||
* @server: a #glibtop server
|
|
||||||
* @buf: a #glibtop_proclist
|
|
||||||
* @which: a #GLIBTOP_* constant specifying process type
|
|
||||||
* @arg: an argument specific for the process type
|
|
||||||
*
|
|
||||||
* Returns: (array zero-terminated=1) (transfer none): an array of process
|
|
||||||
* ids
|
|
||||||
*/
|
|
||||||
pid_t*
|
|
||||||
glibtop_get_proclist_l (glibtop *server, glibtop_proclist *buf,
|
glibtop_get_proclist_l (glibtop *server, glibtop_proclist *buf,
|
||||||
gint64 which, gint64 arg);
|
gint64 which, gint64 arg);
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROCLIST
|
#if GLIBTOP_SUID_PROCLIST
|
||||||
void _glibtop_init_proclist_p (glibtop *server);
|
void _glibtop_init_proclist_p (glibtop *server);
|
||||||
|
|
||||||
/**
|
unsigned *
|
||||||
* glibtop_get_proclist_p:
|
|
||||||
* @server: a #glibtop server
|
|
||||||
* @buf: a #glibtop_proclist
|
|
||||||
* @which: a #GLIBTOP_* constant specifying process type
|
|
||||||
* @arg: an argument specific for the process type
|
|
||||||
*
|
|
||||||
* Returns: (array zero-terminated=1) (transfer none): an array of process
|
|
||||||
* ids
|
|
||||||
*/
|
|
||||||
pid_t*
|
|
||||||
glibtop_get_proclist_p (glibtop *server, glibtop_proclist *buf,
|
glibtop_get_proclist_p (glibtop *server, glibtop_proclist *buf,
|
||||||
gint64 which, gint64 arg);
|
gint64 which, gint64 arg);
|
||||||
#else
|
#else
|
||||||
void _glibtop_init_proclist_s (glibtop *server);
|
void _glibtop_init_proclist_s (glibtop *server);
|
||||||
|
|
||||||
/**
|
unsigned *
|
||||||
* glibtop_get_proclist_s:
|
|
||||||
* @server: a #glibtop server
|
|
||||||
* @buf: a #glibtop_proclist
|
|
||||||
* @which: a #GLIBTOP_* constant specifying process type
|
|
||||||
* @arg: an argument specific for the process type
|
|
||||||
*
|
|
||||||
* Returns: (array zero-terminated=1) (transfer none): an array of process
|
|
||||||
* ids
|
|
||||||
*/
|
|
||||||
pid_t*
|
|
||||||
glibtop_get_proclist_s (glibtop *server, glibtop_proclist *buf,
|
glibtop_get_proclist_s (glibtop *server, glibtop_proclist *buf,
|
||||||
gint64 which, gint64 arg);
|
gint64 which, gint64 arg);
|
||||||
#endif
|
#endif
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PROC_MAP_H__
|
#ifndef __GLIBTOP_PROC_MAP_H__
|
||||||
@@ -48,10 +48,8 @@ G_BEGIN_DECLS
|
|||||||
#define GLIBTOP_MAP_ENTRY_SHARED_DIRTY 10
|
#define GLIBTOP_MAP_ENTRY_SHARED_DIRTY 10
|
||||||
#define GLIBTOP_MAP_ENTRY_PRIVATE_CLEAN 11
|
#define GLIBTOP_MAP_ENTRY_PRIVATE_CLEAN 11
|
||||||
#define GLIBTOP_MAP_ENTRY_PRIVATE_DIRTY 12
|
#define GLIBTOP_MAP_ENTRY_PRIVATE_DIRTY 12
|
||||||
#define GLIBTOP_MAP_ENTRY_PSS 13
|
|
||||||
#define GLIBTOP_MAP_ENTRY_SWAP 14
|
|
||||||
|
|
||||||
#define GLIBTOP_MAX_MAP_ENTRY 15
|
#define GLIBTOP_MAX_MAP_ENTRY 13
|
||||||
|
|
||||||
#define GLIBTOP_MAP_FILENAME_LEN 215
|
#define GLIBTOP_MAP_FILENAME_LEN 215
|
||||||
|
|
||||||
@@ -80,8 +78,6 @@ struct _glibtop_map_entry
|
|||||||
guint64 shared_dirty;
|
guint64 shared_dirty;
|
||||||
guint64 private_clean;
|
guint64 private_clean;
|
||||||
guint64 private_dirty;
|
guint64 private_dirty;
|
||||||
guint64 pss;
|
|
||||||
guint64 swap;
|
|
||||||
char filename [GLIBTOP_MAP_FILENAME_LEN+1];
|
char filename [GLIBTOP_MAP_FILENAME_LEN+1];
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -92,46 +88,10 @@ struct _glibtop_proc_map
|
|||||||
guint64 total; /* GLIBTOP_PROC_MAP_TOTAL */
|
guint64 total; /* GLIBTOP_PROC_MAP_TOTAL */
|
||||||
guint64 size; /* GLIBTOP_PROC_MAP_SIZE */
|
guint64 size; /* GLIBTOP_PROC_MAP_SIZE */
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_get_proc_map:
|
|
||||||
* @buf:
|
|
||||||
* @pid:
|
|
||||||
*
|
|
||||||
* Returns: (transfer none):
|
|
||||||
*/
|
|
||||||
glibtop_map_entry *
|
glibtop_map_entry *
|
||||||
glibtop_get_proc_map(glibtop_proc_map *buf, pid_t pid);
|
glibtop_get_proc_map(glibtop_proc_map *buf, pid_t pid);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_get_proc_map_l:
|
|
||||||
* @server:
|
|
||||||
* @buf: (out):
|
|
||||||
* @pid:
|
|
||||||
*
|
|
||||||
* Returns: (transfer none):
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_get_proc_map_p:
|
|
||||||
* @server:
|
|
||||||
* @buf: (out):
|
|
||||||
* @pid:
|
|
||||||
*
|
|
||||||
* Returns: (transfer none):
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_get_proc_map_s:
|
|
||||||
* @server:
|
|
||||||
* @buf: (out):
|
|
||||||
* @pid:
|
|
||||||
*
|
|
||||||
* Returns: (transfer none):
|
|
||||||
*/
|
|
||||||
|
|
||||||
#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
|
||||||
#else
|
#else
|
||||||
@@ -153,8 +113,6 @@ 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
|
||||||
|
|
||||||
GType glibtop_map_entry_get_type (void) G_GNUC_CONST;
|
|
||||||
GType glibtop_proc_map_get_type (void) G_GNUC_CONST;
|
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PROCMEM_H__
|
#ifndef __GLIBTOP_PROCMEM_H__
|
||||||
@@ -53,12 +53,6 @@ struct _glibtop_proc_mem
|
|||||||
* of the process; usually 2,147,483,647 */
|
* of the process; usually 2,147,483,647 */
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_get_proc_map:
|
|
||||||
* @buf:
|
|
||||||
* @pid:
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
void glibtop_get_proc_mem(glibtop_proc_mem *buf, pid_t pid);
|
void glibtop_get_proc_mem(glibtop_proc_mem *buf, pid_t pid);
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_MEM
|
#if GLIBTOP_SUID_PROC_MEM
|
||||||
|
@@ -18,8 +18,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PROC_OPEN_FILES_H__
|
#ifndef __GLIBTOP_PROC_OPEN_FILES_H__
|
||||||
@@ -53,8 +53,7 @@ enum glibtop_file_type {
|
|||||||
GLIBTOP_FILE_TYPE_FILE = 1,
|
GLIBTOP_FILE_TYPE_FILE = 1,
|
||||||
GLIBTOP_FILE_TYPE_PIPE = 2,
|
GLIBTOP_FILE_TYPE_PIPE = 2,
|
||||||
GLIBTOP_FILE_TYPE_INETSOCKET = 4,
|
GLIBTOP_FILE_TYPE_INETSOCKET = 4,
|
||||||
GLIBTOP_FILE_TYPE_LOCALSOCKET = 8,
|
GLIBTOP_FILE_TYPE_LOCALSOCKET = 8
|
||||||
GLIBTOP_FILE_TYPE_INET6SOCKET = 16
|
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef struct _glibtop_open_files_entry glibtop_open_files_entry;
|
typedef struct _glibtop_open_files_entry glibtop_open_files_entry;
|
||||||
@@ -66,8 +65,7 @@ struct _glibtop_open_files_entry
|
|||||||
int fd;
|
int fd;
|
||||||
guint16 type; /* An "enum glibtop_file_type" value. */
|
guint16 type; /* An "enum glibtop_file_type" value. */
|
||||||
union {
|
union {
|
||||||
/* When type == GLIBTOP_FILE_TYPE_INETSOCKET or
|
/* When type == GLIBTOP_FILE_TYPE_INETSOCKET */
|
||||||
* when type == GLIBTOP_FILE_TYPE_INET6SOCKET */
|
|
||||||
struct {
|
struct {
|
||||||
char dest_host[GLIBTOP_OPEN_DEST_HOST_LEN+1];
|
char dest_host[GLIBTOP_OPEN_DEST_HOST_LEN+1];
|
||||||
int dest_port;
|
int dest_port;
|
||||||
@@ -94,14 +92,6 @@ struct _glibtop_proc_open_files
|
|||||||
guint64 size; /* GLIBTOP_PROC_OPEN_FILES_SIZE */
|
guint64 size; /* GLIBTOP_PROC_OPEN_FILES_SIZE */
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_get_proc_open_files:
|
|
||||||
* @buf:
|
|
||||||
* @pid:
|
|
||||||
*
|
|
||||||
* Returns: (transfer none):
|
|
||||||
*/
|
|
||||||
|
|
||||||
glibtop_open_files_entry *
|
glibtop_open_files_entry *
|
||||||
glibtop_get_proc_open_files(glibtop_proc_open_files *buf, pid_t pid);
|
glibtop_get_proc_open_files(glibtop_proc_open_files *buf, pid_t pid);
|
||||||
|
|
||||||
@@ -111,32 +101,12 @@ glibtop_get_proc_open_files(glibtop_proc_open_files *buf, pid_t pid);
|
|||||||
#define glibtop_get_proc_open_files_r glibtop_get_proc_open_files_s
|
#define glibtop_get_proc_open_files_r glibtop_get_proc_open_files_s
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_get_proc_open_files_l:
|
|
||||||
* @server:
|
|
||||||
* @buf: (out):
|
|
||||||
* @pid:
|
|
||||||
*
|
|
||||||
* Returns: (transfer none):
|
|
||||||
*/
|
|
||||||
|
|
||||||
glibtop_open_files_entry *
|
glibtop_open_files_entry *
|
||||||
glibtop_get_proc_open_files_l (glibtop *server, glibtop_proc_open_files *buf, pid_t pid);
|
glibtop_get_proc_open_files_l (glibtop *server, glibtop_proc_open_files *buf, pid_t pid);
|
||||||
|
|
||||||
#if GLIBTOP_SUID_PROC_FILE
|
#if GLIBTOP_SUID_PROC_FILE
|
||||||
void _glibtop_init_proc_open_files_p (glibtop *server);
|
void _glibtop_init_proc_open_files_p (glibtop *server);
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_get_proc_open_files_p:
|
|
||||||
* @server:
|
|
||||||
* @buf: (out):
|
|
||||||
* @pid:
|
|
||||||
*
|
|
||||||
* Returns: (transfer none):
|
|
||||||
*/
|
|
||||||
|
|
||||||
glibtop_open_files_entry *
|
glibtop_open_files_entry *
|
||||||
glibtop_get_proc_open_files_p (glibtop *server, glibtop_proc_open_files *buf, pid_t pid);
|
glibtop_get_proc_open_files_p (glibtop *server, glibtop_proc_open_files *buf, pid_t pid);
|
||||||
#else
|
#else
|
||||||
@@ -146,9 +116,6 @@ glibtop_open_files_entry *
|
|||||||
glibtop_get_proc_open_files_s (glibtop *server, glibtop_proc_open_files *buf, pid_t pid);
|
glibtop_get_proc_open_files_s (glibtop *server, glibtop_proc_open_files *buf, pid_t pid);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
GType glibtop_open_files_entry_get_type (void) G_GNUC_CONST;
|
|
||||||
GType glibtop_proc_open_files_get_type (void) G_GNUC_CONST;
|
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PROCSEGMENT_H__
|
#ifndef __GLIBTOP_PROCSEGMENT_H__
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PROCSIGNAL_H__
|
#ifndef __GLIBTOP_PROCSIGNAL_H__
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PROCSTATE_H__
|
#ifndef __GLIBTOP_PROCSTATE_H__
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PROCTIME_H__
|
#ifndef __GLIBTOP_PROCTIME_H__
|
||||||
@@ -46,50 +46,26 @@ typedef struct _glibtop_proc_time glibtop_proc_time;
|
|||||||
|
|
||||||
/* Time section */
|
/* Time section */
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_proc_time:
|
|
||||||
* @start_time: Start time of process in seconds since the epoch.
|
|
||||||
* @rtime: Real time accumulated by process (should be @utime + @stime).
|
|
||||||
* @utime: User-mode CPU time accumulated by process.
|
|
||||||
* @stime: Kernel-mode CPU time accumulated by process.
|
|
||||||
* @cutime: Cumulative utime of process and reaped children.
|
|
||||||
* @cstime: Cumulative stime of process and reaped children.
|
|
||||||
* @timeout: The time (in jiffies) of the process’s next timeout.
|
|
||||||
* @it_real_value: The time (in jiffies) before the next <type>SIGALRM</type>
|
|
||||||
* is sent to the process due to an interval timer.
|
|
||||||
* @frequency: Tick frequency.
|
|
||||||
* @xcpu_utime: SMP user-mode CPU time accumulated by process.
|
|
||||||
* @xcpu_stime: SMP kernel-mode CPU time accumulated by process
|
|
||||||
*
|
|
||||||
* Process time data filled by glibtop_get_proc_time().
|
|
||||||
*
|
|
||||||
* Under Linux the @start_time value may be wrong due to the information
|
|
||||||
* available from the kernel.
|
|
||||||
*
|
|
||||||
* The Linux kernel defines <type>INITIAL_JIFFIES</type> which implies a time
|
|
||||||
* shift. Because <type>INITIAL_JIFFIES</type> is not user-space defined,
|
|
||||||
* we cannot use it to compute an accurate @start_time. On Linux 2.6,
|
|
||||||
* <type>INITIAL_JIFFIES</type> is 300 so @start_time is
|
|
||||||
* always 3s different from the 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 <command>man hwclock</command>.
|
|
||||||
*/
|
|
||||||
struct _glibtop_proc_time
|
struct _glibtop_proc_time
|
||||||
{
|
{
|
||||||
/*< private >*/
|
|
||||||
guint64 flags;
|
guint64 flags;
|
||||||
/*< public >*/
|
guint64 start_time; /* start time of process --
|
||||||
guint64 start_time;
|
* seconds since 1-1-70 */
|
||||||
guint64 rtime;
|
guint64 rtime; /* real time accumulated by process */
|
||||||
guint64 utime;
|
guint64 utime; /* user-mode CPU time accumulated by process */
|
||||||
guint64 stime;
|
guint64 stime; /* kernel-mode CPU time accumulated by process */
|
||||||
guint64 cutime;
|
guint64 cutime; /* cumulative utime of process and
|
||||||
guint64 cstime;
|
* reaped children */
|
||||||
guint64 timeout;
|
guint64 cstime; /* cumulative stime of process and
|
||||||
guint64 it_real_value;
|
* reaped children */
|
||||||
guint64 frequency;
|
guint64 timeout; /* The time (in jiffies) of the process's
|
||||||
guint64 xcpu_utime [GLIBTOP_NCPU];
|
* next timeout */
|
||||||
guint64 xcpu_stime [GLIBTOP_NCPU];
|
guint64 it_real_value; /* The time (in jiffies) before the
|
||||||
|
* next SIGALRM is sent to the process
|
||||||
|
* due to an interval timer. */
|
||||||
|
guint64 frequency; /* Tick frequency. */
|
||||||
|
guint64 xcpu_utime [GLIBTOP_NCPU]; /* utime and stime for all CPUs on */
|
||||||
|
guint64 xcpu_stime [GLIBTOP_NCPU]; /* SMP machines. */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_PROCUID_H__
|
#ifndef __GLIBTOP_PROCUID_H__
|
||||||
|
@@ -1,76 +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., 51 Franklin Street, Fifth Floor,
|
|
||||||
Boston, MA 02110-1301, 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_MAX_PROC_WD 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];
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_get_proc_wd:
|
|
||||||
* @buf:
|
|
||||||
* @pid:
|
|
||||||
*
|
|
||||||
* Returns: (transfer full):
|
|
||||||
*/
|
|
||||||
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
|
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_READ_H__
|
#ifndef __GLIBTOP_READ_H__
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_READ_DATA_H__
|
#ifndef __GLIBTOP_READ_DATA_H__
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_SEM_LIMITS_H__
|
#ifndef __GLIBTOP_SEM_LIMITS_H__
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_SHM_LIMITS_H__
|
#ifndef __GLIBTOP_SHM_LIMITS_H__
|
||||||
@@ -37,9 +37,6 @@ G_BEGIN_DECLS
|
|||||||
|
|
||||||
typedef struct _glibtop_shm_limits glibtop_shm_limits;
|
typedef struct _glibtop_shm_limits glibtop_shm_limits;
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_shm_limits:
|
|
||||||
*/
|
|
||||||
struct _glibtop_shm_limits
|
struct _glibtop_shm_limits
|
||||||
{
|
{
|
||||||
guint64 flags;
|
guint64 flags;
|
||||||
@@ -50,10 +47,6 @@ struct _glibtop_shm_limits
|
|||||||
guint64 shmall; /* GLIBTOP_IPC_SHMALL */
|
guint64 shmall; /* GLIBTOP_IPC_SHMALL */
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_get_shm_limits:
|
|
||||||
* @buf: a #glibtop_shm_limits
|
|
||||||
*/
|
|
||||||
void glibtop_get_shm_limits(glibtop_shm_limits *buf);
|
void glibtop_get_shm_limits(glibtop_shm_limits *buf);
|
||||||
|
|
||||||
#if GLIBTOP_SUID_SHM_LIMITS
|
#if GLIBTOP_SUID_SHM_LIMITS
|
||||||
@@ -62,28 +55,13 @@ void glibtop_get_shm_limits(glibtop_shm_limits *buf);
|
|||||||
#define glibtop_get_shm_limits_r glibtop_get_shm_limits_s
|
#define glibtop_get_shm_limits_r glibtop_get_shm_limits_s
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
|
||||||
* glibtop_get_shm_limits_l:
|
|
||||||
* @server: a #glibtop server
|
|
||||||
* @buf: a #glibtop_shm_limits
|
|
||||||
*/
|
|
||||||
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);
|
||||||
/**
|
|
||||||
* glibtop_get_shm_limits_p:
|
|
||||||
* @server: a #glibtop server
|
|
||||||
* @buf: a #glibtop_shm_limits
|
|
||||||
*/
|
|
||||||
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);
|
||||||
/**
|
|
||||||
* glibtop_get_shm_limits_s:
|
|
||||||
* @server: a #glibtop server
|
|
||||||
* @buf: a #glibtop_shm_limits
|
|
||||||
*/
|
|
||||||
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
|
||||||
|
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_SIGNAL_H__
|
#ifndef __GLIBTOP_SIGNAL_H__
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_SWAP_H__
|
#ifndef __GLIBTOP_SWAP_H__
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_SYSDEPS_H__
|
#ifndef __GLIBTOP_SYSDEPS_H__
|
||||||
@@ -51,14 +51,8 @@ G_BEGIN_DECLS
|
|||||||
#define GLIBTOP_SYSDEPS_PPP 22
|
#define GLIBTOP_SYSDEPS_PPP 22
|
||||||
#define GLIBTOP_SYSDEPS_NETLIST 23
|
#define GLIBTOP_SYSDEPS_NETLIST 23
|
||||||
#define GLIBTOP_SYSDEPS_PROC_OPEN_FILES 24
|
#define GLIBTOP_SYSDEPS_PROC_OPEN_FILES 24
|
||||||
#define GLIBTOP_SYSDEPS_PROC_WD 25
|
|
||||||
#define GLIBTOP_SYSDEPS_PROC_AFFINITY 26
|
|
||||||
#define GLIBTOP_SYSDEPS_PROC_IO 27
|
|
||||||
|
|
||||||
#define GLIBTOP_MAX_SYSDEPS 28
|
#define GLIBTOP_MAX_SYSDEPS 25
|
||||||
|
|
||||||
/* The 'features' args to glibtop_init_* is an unsigned long */
|
|
||||||
G_STATIC_ASSERT((1UL << (GLIBTOP_MAX_SYSDEPS - 1)) <= ULONG_MAX);
|
|
||||||
|
|
||||||
#define GLIBTOP_SYSDEPS_ALL ((1 << GLIBTOP_MAX_SYSDEPS) - 1)
|
#define GLIBTOP_SYSDEPS_ALL ((1 << GLIBTOP_MAX_SYSDEPS) - 1)
|
||||||
|
|
||||||
@@ -92,9 +86,6 @@ struct _glibtop_sysdeps
|
|||||||
guint64 netlist; /* glibtop_netlist */
|
guint64 netlist; /* glibtop_netlist */
|
||||||
guint64 netload; /* glibtop_netload */
|
guint64 netload; /* glibtop_netload */
|
||||||
guint64 ppp; /* glibtop_ppp */
|
guint64 ppp; /* glibtop_ppp */
|
||||||
guint64 proc_wd; /* glibtop_proc_wd */
|
|
||||||
guint64 proc_affinity; /* glibtop_proc_affinity */
|
|
||||||
guint64 proc_io; /* glibtop_proc_io */
|
|
||||||
};
|
};
|
||||||
|
|
||||||
void glibtop_get_sysdeps (glibtop_sysdeps *buf);
|
void glibtop_get_sysdeps (glibtop_sysdeps *buf);
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_SYSINFO_H__
|
#ifndef __GLIBTOP_SYSINFO_H__
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_UNION_H__
|
#ifndef __GLIBTOP_UNION_H__
|
||||||
@@ -42,9 +42,6 @@
|
|||||||
#include <glibtop/procargs.h>
|
#include <glibtop/procargs.h>
|
||||||
#include <glibtop/procmap.h>
|
#include <glibtop/procmap.h>
|
||||||
#include <glibtop/procopenfiles.h>
|
#include <glibtop/procopenfiles.h>
|
||||||
#include <glibtop/procwd.h>
|
|
||||||
#include <glibtop/procaffinity.h>
|
|
||||||
#include <glibtop/procio.h>
|
|
||||||
|
|
||||||
#include <glibtop/mountlist.h>
|
#include <glibtop/mountlist.h>
|
||||||
#include <glibtop/fsusage.h>
|
#include <glibtop/fsusage.h>
|
||||||
@@ -83,9 +80,6 @@ union _glibtop_union
|
|||||||
glibtop_netload netload;
|
glibtop_netload netload;
|
||||||
glibtop_ppp ppp;
|
glibtop_ppp ppp;
|
||||||
glibtop_proc_open_files proc_open_files;
|
glibtop_proc_open_files proc_open_files;
|
||||||
glibtop_proc_wd proc_wd;
|
|
||||||
glibtop_proc_affinity proc_affinity;
|
|
||||||
glibtop_proc_io proc_io;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_UPTIME_H__
|
#ifndef __GLIBTOP_UPTIME_H__
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_VERSION_H__
|
#ifndef __GLIBTOP_VERSION_H__
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GLIBTOP_WRITE_H__
|
#ifndef __GLIBTOP_WRITE_H__
|
||||||
|
@@ -1,13 +1,13 @@
|
|||||||
|
|
||||||
AM_CPPFLAGS = @AM_CPPFLAGS@
|
INCLUDES = @INCLUDES@
|
||||||
|
|
||||||
lib_LTLIBRARIES = libgtop-2.0.la
|
lib_LTLIBRARIES = libgtop-2.0.la
|
||||||
|
|
||||||
libgtop_2_0_la_SOURCES = init.c open.c close.c command.c read.c \
|
libgtop_2_0_la_SOURCES = init.c open.c close.c command.c read.c \
|
||||||
read_data.c write.c lib.c parameter.c \
|
read_data.c write.c lib.c parameter.c \
|
||||||
sysdeps.c boxed.c
|
sysdeps.c
|
||||||
|
|
||||||
libgtop_2_0_la_LDFLAGS = $(LT_VERSION_INFO) -export-symbols $(srcdir)/libgtop.sym -no-undefined
|
libgtop_2_0_la_LDFLAGS = $(LT_VERSION_INFO) -export-symbols-regex "^[^_].*"
|
||||||
libgtop_2_0_la_LIBADD = $(GLIB_LIBS) $(top_builddir)/sysdeps/common/libgtop_common-2.0.la $(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la $(sysdeps_suid_lib)
|
libgtop_2_0_la_LIBADD = $(GLIB_LIBS) $(top_builddir)/sysdeps/common/libgtop_common-2.0.la $(top_builddir)/sysdeps/@sysdeps_dir@/libgtop_sysdeps-2.0.la $(sysdeps_suid_lib)
|
||||||
|
|
||||||
BUILT_SOURCES = lib.c
|
BUILT_SOURCES = lib.c
|
||||||
@@ -16,40 +16,7 @@ lib.c: lib.pl $(top_builddir)/config.h $(top_srcdir)/features.def
|
|||||||
$(PERL) $(srcdir)/lib.pl < $(top_srcdir)/features.def > lib-t
|
$(PERL) $(srcdir)/lib.pl < $(top_srcdir)/features.def > lib-t
|
||||||
mv lib-t lib.c
|
mv lib-t lib.c
|
||||||
|
|
||||||
EXTRA_DIST = lib.pl libgtop.sym
|
EXTRA_DIST = lib.pl
|
||||||
|
|
||||||
CLEANFILES = lib.c
|
CLEANFILES = lib.c
|
||||||
|
|
||||||
-include $(INTROSPECTION_MAKEFILE)
|
|
||||||
INTROSPECTION_GIRS =
|
|
||||||
INTROSPECTION_SCANNER_ARGS = --accept-unprefixed --warn-all
|
|
||||||
INTROSPECTION_COMPILER_ARGS =
|
|
||||||
|
|
||||||
if HAVE_INTROSPECTION
|
|
||||||
introspection_sources = $(libgtop_2_0_la_SOURCES) lib.c ../glibtop.h ../libgtopconfig.h \
|
|
||||||
../include/glibtop/close.h ../include/glibtop/loadavg.h ../include/glibtop/prockernel.h ../include/glibtop/procstate.h \
|
|
||||||
../include/glibtop/sem_limits.h ../include/glibtop/uptime.h ../include/glibtop/command.h ../include/glibtop/mem.h ../include/glibtop/proclist.h \
|
|
||||||
../include/glibtop/proctime.h ../include/glibtop/shm_limits.h ../include/glibtop/cpu.h ../include/glibtop/msg_limits.h \
|
|
||||||
../include/glibtop/procmem.h ../include/glibtop/procuid.h ../include/glibtop/swap.h \
|
|
||||||
../include/glibtop/procsegment.h ../include/glibtop/sysdeps.h ../include/glibtop/global.h \
|
|
||||||
../include/glibtop/procsignal.h ../include/glibtop/union.h ../include/glibtop/gnuserv.h \
|
|
||||||
../include/glibtop/parameter.h ../include/glibtop/mountlist.h ../include/glibtop/fsusage.h ../include/glibtop/procmap.h ../include/glibtop/signal.h \
|
|
||||||
../include/glibtop/sysinfo.h ../include/glibtop/ppp.h ../include/glibtop/procargs.h ../include/glibtop/netload.h \
|
|
||||||
../include/glibtop/procwd.h ../include/glibtop/procaffinity.h ../include/glibtop/procio.h \
|
|
||||||
../include/glibtop/netlist.h ../include/glibtop/procopenfiles.h ../include/glibtop/open.h
|
|
||||||
|
|
||||||
GTop-2.0.gir: libgtop-2.0.la
|
|
||||||
GTop_2_0_gir_AM_CPPFLAGS = GObject-2.0
|
|
||||||
GTop_2_0_gir_CFLAGS = $(AM_CPPFLAGS)
|
|
||||||
GTop_2_0_gir_LIBS = libgtop-2.0.la
|
|
||||||
GTop_2_0_gir_FILES = $(introspection_sources)
|
|
||||||
INTROSPECTION_GIRS += GTop-2.0.gir
|
|
||||||
|
|
||||||
girdir = $(datadir)/gir-1.0
|
|
||||||
gir_DATA = $(INTROSPECTION_GIRS)
|
|
||||||
|
|
||||||
typelibdir = $(libdir)/girepository-1.0
|
|
||||||
typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
|
|
||||||
|
|
||||||
CLEANFILES += $(gir_DATA) $(typelib_DATA)
|
|
||||||
endif
|
|
||||||
|
47
lib/boxed.c
47
lib/boxed.c
@@ -1,47 +0,0 @@
|
|||||||
/* Copyright (C) 2011 Red Hat
|
|
||||||
This file is part of LibGTop 1.0.
|
|
||||||
|
|
||||||
Contributed by Jasper St. Pierre <jstpierre@mecheye.net>, November 2011
|
|
||||||
|
|
||||||
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 <glibtop.h>
|
|
||||||
#include <glibtop/mountlist.h>
|
|
||||||
#include <glibtop/procmap.h>
|
|
||||||
#include <glibtop/procopenfiles.h>
|
|
||||||
|
|
||||||
#define DEFINE_BOXED(type) \
|
|
||||||
static type * \
|
|
||||||
type##_copy (type *p) \
|
|
||||||
{ \
|
|
||||||
type *n = g_new (type, 1); \
|
|
||||||
memcpy (n, p, sizeof (type)); \
|
|
||||||
return n; \
|
|
||||||
} \
|
|
||||||
\
|
|
||||||
G_DEFINE_BOXED_TYPE (type, \
|
|
||||||
type, \
|
|
||||||
type##_copy, \
|
|
||||||
g_free)
|
|
||||||
|
|
||||||
DEFINE_BOXED (glibtop);
|
|
||||||
DEFINE_BOXED (glibtop_map_entry);
|
|
||||||
DEFINE_BOXED (glibtop_proc_map);
|
|
||||||
DEFINE_BOXED (glibtop_open_files_entry);
|
|
||||||
DEFINE_BOXED (glibtop_proc_open_files);
|
|
||||||
DEFINE_BOXED (glibtop_mountentry);
|
|
||||||
DEFINE_BOXED (glibtop_mountlist);
|
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
@@ -15,12 +15,11 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <glibtop/error.h>
|
|
||||||
#include <glibtop/read.h>
|
#include <glibtop/read.h>
|
||||||
#include <glibtop/write.h>
|
#include <glibtop/write.h>
|
||||||
#include <glibtop/read_data.h>
|
#include <glibtop/read_data.h>
|
||||||
@@ -36,44 +35,6 @@ glibtop_call_l (glibtop *server, unsigned command, size_t send_size,
|
|||||||
|
|
||||||
glibtop_init_r (&server, 0, 0);
|
glibtop_init_r (&server, 0, 0);
|
||||||
|
|
||||||
g_assert(command >= GLIBTOP_CMND_QUIT && command < GLIBTOP_MAX_CMND);
|
|
||||||
|
|
||||||
switch (command) {
|
|
||||||
#define CHECK_CMND(CMND) case (CMND): glibtop_debug("CALL: command %s sending %lu bytes", #CMND, (unsigned long)send_size); break
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_QUIT);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_SYSDEPS);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_CPU);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_MEM);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_SWAP);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_UPTIME);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_LOADAVG);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_SHM_LIMITS);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_MSG_LIMITS);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_SEM_LIMITS);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_PROCLIST);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_PROC_STATE);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_PROC_UID);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_PROC_MEM);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_PROC_TIME);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_PROC_SIGNAL);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_PROC_KERNEL);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_PROC_SEGMENT);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_PROC_ARGS);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_PROC_MAP);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_MOUNTLIST);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_FSUSAGE);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_NETLOAD);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_PPP);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_NETLIST);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_PROC_OPEN_FILES);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_PROC_WD);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_PROC_AFFINITY);
|
|
||||||
CHECK_CMND(GLIBTOP_CMND_PROC_IO);
|
|
||||||
default:
|
|
||||||
glibtop_error_r(server, "CALL: command UNKNOWN(%d) sending %lu bytes", command, (unsigned long)send_size); break;
|
|
||||||
}
|
|
||||||
#undef CHECK_CMND
|
|
||||||
|
|
||||||
cmnd.command = command;
|
cmnd.command = command;
|
||||||
|
|
||||||
/* If send_size is less than _GLIBTOP_PARAM_SIZE (normally 16 Bytes), we
|
/* If send_size is less than _GLIBTOP_PARAM_SIZE (normally 16 Bytes), we
|
||||||
@@ -91,8 +52,10 @@ glibtop_call_l (glibtop *server, unsigned command, size_t send_size,
|
|||||||
|
|
||||||
glibtop_read_l (server, sizeof (glibtop_response), &response);
|
glibtop_read_l (server, sizeof (glibtop_response), &response);
|
||||||
|
|
||||||
glibtop_debug ("RESPONSE: offset=%lu - data_size=%lu",
|
#ifdef DEBUG
|
||||||
|
fprintf (stderr, "RESPONSE: %lu - %d\n",
|
||||||
response.offset, response.data_size);
|
response.offset, response.data_size);
|
||||||
|
#endif
|
||||||
|
|
||||||
if (recv_buf)
|
if (recv_buf)
|
||||||
memcpy (recv_buf, ((char *) &response) + response.offset,
|
memcpy (recv_buf, ((char *) &response) + response.offset,
|
||||||
|
173
lib/error.c
Normal file
173
lib/error.c
Normal file
@@ -0,0 +1,173 @@
|
|||||||
|
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||||
|
|
||||||
|
/* 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 <config.h>
|
||||||
|
|
||||||
|
#include <glibtop/error.h>
|
||||||
|
|
||||||
|
#include <glib/gstrfuncs.h>
|
||||||
|
#include <errno.h>
|
||||||
|
|
||||||
|
#define DEFAULT_NAME "LibGTop-Server"
|
||||||
|
|
||||||
|
/* Prints error message and exits. */
|
||||||
|
|
||||||
|
static void
|
||||||
|
print_server_name (glibtop_server *server)
|
||||||
|
{
|
||||||
|
fprintf (stderr, "%s: ", server ?
|
||||||
|
(server->name ? server->name : DEFAULT_NAME)
|
||||||
|
: DEFAULT_NAME);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
glibtop_error_vr (glibtop_server *server, char *format, va_list args)
|
||||||
|
{
|
||||||
|
print_server_name (server);
|
||||||
|
vfprintf (stderr, format, args);
|
||||||
|
fprintf (stderr, "\n");
|
||||||
|
|
||||||
|
#ifdef LIBGTOP_ENABLE_DEBUG
|
||||||
|
abort ();
|
||||||
|
#else
|
||||||
|
exit (1);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
glibtop_error_io_vr (glibtop_server *server, char *format, int error, va_list args)
|
||||||
|
{
|
||||||
|
print_server_name (server);
|
||||||
|
vfprintf (stderr, format, args);
|
||||||
|
fprintf (stderr, ": %s\n", g_strerror (error));
|
||||||
|
|
||||||
|
#ifdef LIBGTOP_ENABLE_DEBUG
|
||||||
|
abort ();
|
||||||
|
#else
|
||||||
|
exit (1);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
glibtop_warn_vr (glibtop_server *server, char *format, va_list args)
|
||||||
|
{
|
||||||
|
print_server_name (server);
|
||||||
|
vfprintf (stderr, format, args);
|
||||||
|
fprintf (stderr, "\n");
|
||||||
|
|
||||||
|
#ifdef LIBGTOP_FATAL_WARNINGS
|
||||||
|
abort ();
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
glibtop_warn_io_vr (glibtop_server *server, char *format, int error, va_list args)
|
||||||
|
{
|
||||||
|
print_server_name (server);
|
||||||
|
vfprintf (stderr, format, args);
|
||||||
|
fprintf (stderr, ": %s\n", g_strerror (error));
|
||||||
|
|
||||||
|
#ifdef LIBGTOP_FATAL_WARNINGS
|
||||||
|
abort ();
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
glibtop_error_r (glibtop_server *server, char *format, ...)
|
||||||
|
{
|
||||||
|
va_list args;
|
||||||
|
|
||||||
|
va_start (args, format);
|
||||||
|
glibtop_error_vr (server, format, args);
|
||||||
|
va_end (args);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
glibtop_warn_r (glibtop_server *server, char *format, ...)
|
||||||
|
{
|
||||||
|
va_list args;
|
||||||
|
|
||||||
|
va_start (args, format);
|
||||||
|
glibtop_warn_vr (server, format, args);
|
||||||
|
va_end (args);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
glibtop_error_io_r (glibtop_server *server, char *format, ...)
|
||||||
|
{
|
||||||
|
va_list args;
|
||||||
|
|
||||||
|
va_start (args, format);
|
||||||
|
glibtop_error_io_vr (server, format, errno, args);
|
||||||
|
va_end (args);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
glibtop_warn_io_r (glibtop_server *server, char *format, ...)
|
||||||
|
{
|
||||||
|
va_list args;
|
||||||
|
|
||||||
|
va_start (args, format);
|
||||||
|
glibtop_warn_io_vr (server, format, errno, args);
|
||||||
|
va_end (args);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifndef __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__ */
|
@@ -1,4 +1,6 @@
|
|||||||
/* Copyright (C) 2014 Ryan Lortie <desrt@desrt.ca>
|
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||||
|
|
||||||
|
/* Copyright (C) 1998-99 Martin Baulig
|
||||||
This file is part of LibGTop 1.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.
|
||||||
@@ -19,13 +21,16 @@
|
|||||||
Boston, MA 02111-1307, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <config.h>
|
#ifndef __GLIBTOP_SERVER_PRIVATE_H__
|
||||||
#include <glibtop/sysinfo.h>
|
#define __GLIBTOP_SERVER_PRIVATE_H__
|
||||||
|
|
||||||
static glibtop_sysinfo sysinfo = { .flags = 0 };
|
#include <glib.h>
|
||||||
|
|
||||||
const glibtop_sysinfo *
|
typedef struct _glibtop_server_private glibtop_server_private;
|
||||||
glibtop_get_sysinfo_s (glibtop *server)
|
|
||||||
|
struct _glibtop_server_private
|
||||||
{
|
{
|
||||||
return &sysinfo;
|
GSList *backend_list;
|
||||||
}
|
};
|
||||||
|
|
||||||
|
#endif
|
@@ -1,5 +1,7 @@
|
|||||||
|
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||||
|
|
||||||
/* 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 2.0.
|
||||||
|
|
||||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
||||||
|
|
||||||
@@ -15,29 +17,41 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <glibtop.h>
|
#include <glibtop.h>
|
||||||
#include <glibtop/prockernel.h>
|
#include <glibtop-server-private.h>
|
||||||
|
|
||||||
static const unsigned long _glibtop_sysdeps_proc_kernel = 0;
|
glibtop_server *
|
||||||
|
glibtop_server_new (void)
|
||||||
/* Init function. */
|
|
||||||
|
|
||||||
void
|
|
||||||
_glibtop_init_proc_kernel_s (glibtop *server)
|
|
||||||
{
|
{
|
||||||
server->sysdeps.proc_kernel = _glibtop_sysdeps_proc_kernel;
|
glibtop_server *retval;
|
||||||
|
|
||||||
|
retval = g_new0 (glibtop_server, 1);
|
||||||
|
retval->info = g_new0 (glibtop_server_info, 1);
|
||||||
|
retval->_priv = g_new0 (glibtop_server_private, 1);
|
||||||
|
retval->refcount = 1;
|
||||||
|
|
||||||
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Provides detailed information about a process. */
|
void
|
||||||
|
glibtop_server_ref (glibtop_server *server)
|
||||||
|
{
|
||||||
|
server->refcount++;
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
glibtop_get_proc_kernel_s (glibtop *server, glibtop_proc_kernel *buf,
|
glibtop_server_unref (glibtop_server *server)
|
||||||
pid_t pid)
|
|
||||||
{
|
{
|
||||||
memset (buf, 0, sizeof (glibtop_proc_kernel));
|
server->refcount--;
|
||||||
|
|
||||||
|
if (server->refcount <= 0) {
|
||||||
|
g_free (server->_priv);
|
||||||
|
g_free (server->info);
|
||||||
|
g_free (server);
|
||||||
|
}
|
||||||
}
|
}
|
17
lib/init.c
17
lib/init.c
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
@@ -26,14 +26,12 @@
|
|||||||
#include <glibtop/open.h>
|
#include <glibtop/open.h>
|
||||||
#include <glibtop/parameter.h>
|
#include <glibtop/parameter.h>
|
||||||
#include <glibtop/init_hooks.h>
|
#include <glibtop/init_hooks.h>
|
||||||
#include <glibtop/machine.h>
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef DEFAULT_PORT
|
#ifndef DEFAULT_PORT
|
||||||
#define DEFAULT_PORT 42800
|
#define DEFAULT_PORT 42800
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static glibtop _glibtop_global_server;
|
static glibtop _glibtop_global_server = { 0 };
|
||||||
glibtop *glibtop_global_server = &_glibtop_global_server;
|
glibtop *glibtop_global_server = &_glibtop_global_server;
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -143,7 +141,7 @@ _init_server (glibtop *server, const unsigned features)
|
|||||||
|
|
||||||
/* Open pipe to server. */
|
/* Open pipe to server. */
|
||||||
server->method = GLIBTOP_METHOD_PIPE;
|
server->method = GLIBTOP_METHOD_PIPE;
|
||||||
server->server_command = g_strdup(LIBGTOP_SERVER);
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
glibtop_error_r (server, "Unknown server method '%s'",
|
glibtop_error_r (server, "Unknown server method '%s'",
|
||||||
@@ -175,9 +173,6 @@ glibtop_init_r (glibtop **server_ptr, unsigned long features, unsigned flags)
|
|||||||
/* Do the initialization, but only if not already initialized. */
|
/* Do the initialization, but only if not already initialized. */
|
||||||
|
|
||||||
if ((server->flags & _GLIBTOP_INIT_STATE_INIT) == 0) {
|
if ((server->flags & _GLIBTOP_INIT_STATE_INIT) == 0) {
|
||||||
|
|
||||||
glibtop_machine_new (server);
|
|
||||||
|
|
||||||
if (flags & GLIBTOP_FEATURES_EXCEPT)
|
if (flags & GLIBTOP_FEATURES_EXCEPT)
|
||||||
features = ~features & GLIBTOP_SYSDEPS_ALL;
|
features = ~features & GLIBTOP_SYSDEPS_ALL;
|
||||||
|
|
||||||
@@ -214,7 +209,7 @@ glibtop_init_r (glibtop **server_ptr, unsigned long features, unsigned flags)
|
|||||||
/* Open server, but only if not already opened. */
|
/* Open server, but only if not already opened. */
|
||||||
|
|
||||||
if ((server->flags & _GLIBTOP_INIT_STATE_OPEN) == 0)
|
if ((server->flags & _GLIBTOP_INIT_STATE_OPEN) == 0)
|
||||||
glibtop_open_l (server, "glibtop",
|
glibtop_open_l (glibtop_global_server, "glibtop",
|
||||||
features, flags);
|
features, flags);
|
||||||
|
|
||||||
return server;
|
return server;
|
||||||
@@ -226,8 +221,6 @@ glibtop_init_s (glibtop **server_ptr, unsigned long features, unsigned flags)
|
|||||||
glibtop *server;
|
glibtop *server;
|
||||||
const _glibtop_init_func_t *init_fkt;
|
const _glibtop_init_func_t *init_fkt;
|
||||||
|
|
||||||
glibtop_debug("init_s with features=%#0lx and flags=%#0x", features, flags);
|
|
||||||
|
|
||||||
if (server_ptr == NULL)
|
if (server_ptr == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
|
115
lib/inodedb.c
Normal file
115
lib/inodedb.c
Normal file
@@ -0,0 +1,115 @@
|
|||||||
|
/* 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 <config.h>
|
||||||
|
#include <glibtop.h>
|
||||||
|
#include <glibtop/error.h>
|
||||||
|
#include <glibtop/inodedb.h>
|
||||||
|
|
||||||
|
#include <pwd.h>
|
||||||
|
#include <gdbm.h>
|
||||||
|
|
||||||
|
#ifndef SYSTEM_INODEDB
|
||||||
|
#define SYSTEM_INODEDB "/usr/var/libgtop/inodedb.db"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
glibtop_inodedb *
|
||||||
|
glibtop_inodedb_open_s (glibtop *server, unsigned databases,
|
||||||
|
unsigned long cachesize)
|
||||||
|
{
|
||||||
|
glibtop_inodedb *inodedb;
|
||||||
|
char filename [BUFSIZ];
|
||||||
|
struct passwd *pwd;
|
||||||
|
struct stat statb;
|
||||||
|
|
||||||
|
if (!databases)
|
||||||
|
databases = GLIBTOP_INODEDB_ALL;
|
||||||
|
|
||||||
|
inodedb = g_malloc (sizeof (glibtop_inodedb));
|
||||||
|
|
||||||
|
if (stat (SYSTEM_INODEDB, &statb))
|
||||||
|
databases &= ~GLIBTOP_INODEDB_SYSTEM;
|
||||||
|
|
||||||
|
if (databases & GLIBTOP_INODEDB_SYSTEM) {
|
||||||
|
inodedb->system_dbf = gdbm_open
|
||||||
|
(SYSTEM_INODEDB, 0, GDBM_READER, 0, 0);
|
||||||
|
if (!inodedb->system_dbf)
|
||||||
|
glibtop_error_io_r
|
||||||
|
(server, "gdbm_open (%s)", SYSTEM_INODEDB);
|
||||||
|
}
|
||||||
|
|
||||||
|
pwd = getpwuid (getuid ());
|
||||||
|
if (!pwd) glibtop_error_io_r (server, "getpwuid");
|
||||||
|
|
||||||
|
sprintf (filename, "%s/var/libgtop/inodedb.db", pwd->pw_dir);
|
||||||
|
|
||||||
|
if (stat (filename, &statb))
|
||||||
|
databases &= ~GLIBTOP_INODEDB_USER;
|
||||||
|
|
||||||
|
if (databases & GLIBTOP_INODEDB_USER) {
|
||||||
|
inodedb->user_dbf = gdbm_open
|
||||||
|
(filename, 0, GDBM_READER, 0, 0);
|
||||||
|
if (!inodedb->user_dbf)
|
||||||
|
glibtop_error_io_r
|
||||||
|
(server, "gdbm_open (%s)", filename);
|
||||||
|
}
|
||||||
|
|
||||||
|
return inodedb;
|
||||||
|
}
|
||||||
|
|
||||||
|
const char *
|
||||||
|
glibtop_inodedb_lookup_s (glibtop *server,
|
||||||
|
glibtop_inodedb *inodedb,
|
||||||
|
guint64 device, guint64 inode)
|
||||||
|
{
|
||||||
|
glibtop_inodedb_key key;
|
||||||
|
datum d_key, d_content;
|
||||||
|
|
||||||
|
d_key.dptr = (void *) &key;
|
||||||
|
d_key.dsize = sizeof (key);
|
||||||
|
|
||||||
|
key.device = device;
|
||||||
|
key.inode = inode;
|
||||||
|
|
||||||
|
if (inodedb->system_dbf) {
|
||||||
|
d_content = gdbm_fetch (inodedb->system_dbf, d_key);
|
||||||
|
if (d_content.dptr) return d_content.dptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (inodedb->user_dbf) {
|
||||||
|
d_content = gdbm_fetch (inodedb->user_dbf, d_key);
|
||||||
|
if (d_content.dptr) return d_content.dptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
glibtop_inodedb_close_s (glibtop *server, glibtop_inodedb *inodedb)
|
||||||
|
{
|
||||||
|
if (inodedb->system_dbf)
|
||||||
|
gdbm_close (inodedb->system_dbf);
|
||||||
|
|
||||||
|
if (inodedb->user_dbf)
|
||||||
|
gdbm_close (inodedb->user_dbf);
|
||||||
|
|
||||||
|
g_free (inodedb);
|
||||||
|
}
|
39
lib/lib.pl
39
lib/lib.pl
@@ -88,7 +88,7 @@ sub output {
|
|||||||
@line_fields = split(/\|/, $line, 9999);
|
@line_fields = split(/\|/, $line, 9999);
|
||||||
$retval = $line_fields[1];
|
$retval = $line_fields[1];
|
||||||
$feature = $line_fields[2];
|
$feature = $line_fields[2];
|
||||||
$param_def = $line_fields[3];
|
$param_def = $line_fields[4];
|
||||||
|
|
||||||
$orig = $feature;
|
$orig = $feature;
|
||||||
$feature =~ s/^@//;
|
$feature =~ s/^@//;
|
||||||
@@ -106,16 +106,16 @@ sub output {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($param_def eq 'string') {
|
if ($param_def eq 'string') {
|
||||||
$call_param = ', ' . $line_fields[4];
|
$call_param = ', ' . $line_fields[5];
|
||||||
$param_buf = '';
|
$param_buf = '';
|
||||||
$buf_set = '';
|
$buf_set = '';
|
||||||
$param_decl = ",\n " . $space . ' const char *' .
|
$param_decl = ",\n " . $space . ' const char *' .
|
||||||
|
|
||||||
$line_fields[4];
|
$line_fields[5];
|
||||||
$send_ptr = "\n\tconst void *send_ptr = " . $line_fields[4] . ';';
|
$send_ptr = "\n\tconst void *send_ptr = " . $line_fields[5] . ';';
|
||||||
$send_size = "\n\tconst size_t send_size =\n\t\tstrlen (" .
|
$send_size = "\n\tconst size_t send_size =\n\t\tstrlen (" .
|
||||||
|
|
||||||
$line_fields[4] . ') + 1;';
|
$line_fields[5] . ') + 1;';
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$call_param = '';
|
$call_param = '';
|
||||||
@@ -126,7 +126,7 @@ sub output {
|
|||||||
$buf_set = '';
|
$buf_set = '';
|
||||||
$nr_params = (@params = split(/:/, $param_def, 9999));
|
$nr_params = (@params = split(/:/, $param_def, 9999));
|
||||||
if ($nr_params) {
|
if ($nr_params) {
|
||||||
$param_buf = "\t\tstruct {\n";
|
$param_buf = "\n\tstruct {\n";
|
||||||
}
|
}
|
||||||
for ($param = 1; $param <= $nr_params; $param++) {
|
for ($param = 1; $param <= $nr_params; $param++) {
|
||||||
$list = $params[$param];
|
$list = $params[$param];
|
||||||
@@ -138,8 +138,8 @@ sub output {
|
|||||||
|
|
||||||
if ($count > 0) {
|
if ($count > 0) {
|
||||||
for ($field = 1; $field <= $count; $field++) {
|
for ($field = 1; $field <= $count; $field++) {
|
||||||
$param_buf .= "\t\t\t$convert{$type} buf_$fields[$field];\n";
|
$param_buf .= "\t\t$convert{$type} buf_$fields[$field];\n";
|
||||||
$buf_set .= "\t\tparam_buf.buf_$fields[$field] = $fields[$field];\n";
|
$buf_set .= "\tparam_buf.buf_$fields[$field] = $fields[$field];\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -155,19 +155,19 @@ sub output {
|
|||||||
$fields[$field];
|
$fields[$field];
|
||||||
$call_param = $call_param . ', ' . $fields[$field];
|
$call_param = $call_param . ', ' . $fields[$field];
|
||||||
if ($send_ptr eq '') {
|
if ($send_ptr eq '') {
|
||||||
$send_ptr = "\t\tconst void *send_ptr = ¶m_buf;";
|
$send_ptr = "\n\tconst void *send_ptr = ¶m_buf;";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($nr_params) {
|
if ($nr_params) {
|
||||||
$param_buf .= "\t\t} param_buf;\n";
|
$param_buf .= "\t} param_buf;";
|
||||||
$send_size = "\t\tconst size_t send_size = sizeof param_buf;";
|
$send_size = "\n\tconst size_t send_size = sizeof param_buf;";
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$send_size = "\t\tconst size_t send_size = 0;";
|
$send_size = "\n\tconst size_t send_size = 0;";
|
||||||
}
|
}
|
||||||
if ($send_ptr eq '') {
|
if ($send_ptr eq '') {
|
||||||
$send_ptr = "\t\tconst void *send_ptr = NULL;";
|
$send_ptr = "\n\tconst void *send_ptr = NULL;";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -175,11 +175,13 @@ sub output {
|
|||||||
|
|
||||||
$feature . ' *buf' . $param_decl . ')';
|
$feature . ' *buf' . $param_decl . ')';
|
||||||
|
|
||||||
print "{";
|
print "{" . $param_buf;
|
||||||
|
|
||||||
|
print $send_ptr . '' . $send_size;
|
||||||
if ($retval !~ /^void$/) {
|
if ($retval !~ /^void$/) {
|
||||||
print "\t" . $retval . ' retval = (' . $retval . ') 0;';
|
print "\t" . $retval . ' retval = (' . $retval . ') 0;';
|
||||||
}
|
}
|
||||||
|
print $buf_set;
|
||||||
|
|
||||||
print "\tglibtop_init_r (&server, (1 << GLIBTOP_SYSDEPS_" .
|
print "\tglibtop_init_r (&server, (1 << GLIBTOP_SYSDEPS_" .
|
||||||
|
|
||||||
@@ -196,15 +198,6 @@ sub output {
|
|||||||
&toupper($feature) . ')))';
|
&toupper($feature) . ')))';
|
||||||
print "\t{";
|
print "\t{";
|
||||||
|
|
||||||
if ($param_buf) {
|
|
||||||
print $param_buf;
|
|
||||||
print $buf_set;
|
|
||||||
}
|
|
||||||
|
|
||||||
print $send_ptr;
|
|
||||||
print $send_size;
|
|
||||||
print '';
|
|
||||||
|
|
||||||
print "\t\t" . $prefix . 'glibtop_call_l (server, GLIBTOP_CMND_' .
|
print "\t\t" . $prefix . 'glibtop_call_l (server, GLIBTOP_CMND_' .
|
||||||
|
|
||||||
&toupper($feature) . ',';
|
&toupper($feature) . ',';
|
||||||
|
@@ -1,79 +0,0 @@
|
|||||||
glibtop_call_l
|
|
||||||
glibtop_close
|
|
||||||
glibtop_close_r
|
|
||||||
glibtop_get_cpu
|
|
||||||
glibtop_get_cpu_l
|
|
||||||
glibtop_get_fsusage
|
|
||||||
glibtop_get_fsusage_l
|
|
||||||
glibtop_get_loadavg
|
|
||||||
glibtop_get_loadavg_l
|
|
||||||
glibtop_get_mem
|
|
||||||
glibtop_get_mem_l
|
|
||||||
glibtop_get_mountlist
|
|
||||||
glibtop_get_mountlist_l
|
|
||||||
glibtop_get_msg_limits
|
|
||||||
glibtop_get_msg_limits_l
|
|
||||||
glibtop_get_netlist
|
|
||||||
glibtop_get_netlist_l
|
|
||||||
glibtop_get_netload
|
|
||||||
glibtop_get_netload_l
|
|
||||||
glibtop_get_parameter_l
|
|
||||||
glibtop_get_ppp
|
|
||||||
glibtop_get_ppp_l
|
|
||||||
glibtop_get_proc_args
|
|
||||||
glibtop_get_proc_args_l
|
|
||||||
glibtop_get_proc_argv
|
|
||||||
glibtop_get_proc_argv_l
|
|
||||||
glibtop_get_proc_kernel
|
|
||||||
glibtop_get_proc_kernel_l
|
|
||||||
glibtop_get_proclist
|
|
||||||
glibtop_get_proclist_l
|
|
||||||
glibtop_get_proc_map
|
|
||||||
glibtop_get_proc_map_l
|
|
||||||
glibtop_get_proc_mem
|
|
||||||
glibtop_get_proc_mem_l
|
|
||||||
glibtop_get_proc_open_files
|
|
||||||
glibtop_get_proc_open_files_l
|
|
||||||
glibtop_get_proc_segment
|
|
||||||
glibtop_get_proc_segment_l
|
|
||||||
glibtop_get_proc_signal
|
|
||||||
glibtop_get_proc_signal_l
|
|
||||||
glibtop_get_proc_state
|
|
||||||
glibtop_get_proc_state_l
|
|
||||||
glibtop_get_proc_time
|
|
||||||
glibtop_get_proc_time_l
|
|
||||||
glibtop_get_proc_uid
|
|
||||||
glibtop_get_proc_uid_l
|
|
||||||
glibtop_get_proc_wd
|
|
||||||
glibtop_get_proc_wd_l
|
|
||||||
glibtop_get_sem_limits
|
|
||||||
glibtop_get_sem_limits_l
|
|
||||||
glibtop_get_shm_limits
|
|
||||||
glibtop_get_shm_limits_l
|
|
||||||
glibtop_get_proc_affinity
|
|
||||||
glibtop_get_proc_affinity_l
|
|
||||||
glibtop_get_proc_io
|
|
||||||
glibtop_get_proc_io_l
|
|
||||||
glibtop_get_swap
|
|
||||||
glibtop_get_swap_l
|
|
||||||
glibtop_get_sysdeps
|
|
||||||
glibtop_get_sysdeps_r
|
|
||||||
glibtop_get_sysinfo
|
|
||||||
glibtop_get_uptime
|
|
||||||
glibtop_get_uptime_l
|
|
||||||
glibtop_global_server
|
|
||||||
glibtop_init
|
|
||||||
glibtop_init_r
|
|
||||||
glibtop_internet_addr
|
|
||||||
glibtop_make_connection
|
|
||||||
glibtop_open_l
|
|
||||||
glibtop_server_features
|
|
||||||
glibtop_set_parameter_l
|
|
||||||
glibtop_sys_siglist
|
|
||||||
glibtop_mountlist_get_type
|
|
||||||
glibtop_mountentry_get_type
|
|
||||||
glibtop_open_files_entry_get_type
|
|
||||||
glibtop_proc_open_files_get_type
|
|
||||||
glibtop_map_entry_get_type
|
|
||||||
glibtop_proc_map_get_type
|
|
||||||
glibtop_get_type
|
|
44
lib/open.c
44
lib/open.c
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
@@ -47,44 +47,56 @@ glibtop_open_l (glibtop *server, const char *program_name,
|
|||||||
|
|
||||||
server->error_method = GLIBTOP_ERROR_METHOD_DEFAULT;
|
server->error_method = GLIBTOP_ERROR_METHOD_DEFAULT;
|
||||||
|
|
||||||
glibtop_debug ("SIZEOF: %zu - %zu - %zu - %zu - %zu - %zu",
|
#ifdef DEBUG
|
||||||
|
fprintf (stderr, "SIZEOF: %u - %u - %u - %u - %u - %u\n",
|
||||||
sizeof (glibtop_command), sizeof (glibtop_response),
|
sizeof (glibtop_command), sizeof (glibtop_response),
|
||||||
sizeof (glibtop_mountentry), sizeof (glibtop_union),
|
sizeof (glibtop_mountentry), sizeof (glibtop_union),
|
||||||
sizeof (glibtop_sysdeps), sizeof (glibtop_response_union));
|
sizeof (glibtop_sysdeps), sizeof (glibtop_response_union));
|
||||||
|
#endif
|
||||||
|
|
||||||
switch (server->method) {
|
switch (server->method) {
|
||||||
case GLIBTOP_METHOD_DIRECT:
|
case GLIBTOP_METHOD_DIRECT:
|
||||||
server->features = 0;
|
server->features = 0;
|
||||||
break;
|
break;
|
||||||
case GLIBTOP_METHOD_INET:
|
case GLIBTOP_METHOD_INET:
|
||||||
glibtop_debug ("Connecting to '%s' port %ld.",
|
#ifdef DEBUG
|
||||||
|
fprintf (stderr, "Connecting to '%s' port %ld.\n",
|
||||||
server->server_host, server->server_port);
|
server->server_host, server->server_port);
|
||||||
|
#endif
|
||||||
|
|
||||||
connect_type = glibtop_make_connection
|
connect_type = glibtop_make_connection
|
||||||
(server->server_host, server->server_port,
|
(server->server_host, server->server_port,
|
||||||
&server->socket);
|
&server->socket);
|
||||||
|
|
||||||
glibtop_debug ("Connect Type is %d.", connect_type);
|
#ifdef DEBUG
|
||||||
|
fprintf (stderr, "Connect Type is %d.\n", connect_type);
|
||||||
|
#endif
|
||||||
|
|
||||||
server->flags |= _GLIBTOP_INIT_STATE_SERVER;
|
server->flags |= _GLIBTOP_INIT_STATE_SERVER;
|
||||||
|
|
||||||
server->features = -1;
|
server->features = -1;
|
||||||
break;
|
break;
|
||||||
case GLIBTOP_METHOD_UNIX:
|
case GLIBTOP_METHOD_UNIX:
|
||||||
glibtop_debug ("Connecting to Unix Domain Socket.");
|
#ifdef DEBUG
|
||||||
|
fprintf (stderr, "Connecting to Unix Domain Socket.\n");
|
||||||
|
#endif
|
||||||
|
|
||||||
connect_type = glibtop_make_connection
|
connect_type = glibtop_make_connection
|
||||||
("unix", 0, &server->socket);
|
("unix", 0, &server->socket);
|
||||||
|
|
||||||
glibtop_debug ("Connect Type is %d.", connect_type);
|
#ifdef DEBUG
|
||||||
|
fprintf (stderr, "Connect Type is %d.\n", connect_type);
|
||||||
|
#endif
|
||||||
|
|
||||||
server->flags |= _GLIBTOP_INIT_STATE_SERVER;
|
server->flags |= _GLIBTOP_INIT_STATE_SERVER;
|
||||||
|
|
||||||
server->features = -1;
|
server->features = -1;
|
||||||
break;
|
break;
|
||||||
case GLIBTOP_METHOD_PIPE:
|
case GLIBTOP_METHOD_PIPE:
|
||||||
glibtop_debug ("Opening pipe to server (%s).",
|
#ifdef DEBUG
|
||||||
server->server_command);
|
fprintf (stderr, "Opening pipe to server (%s).\n",
|
||||||
|
LIBGTOP_SERVER);
|
||||||
|
#endif
|
||||||
|
|
||||||
if (pipe (server->input) || pipe (server->output))
|
if (pipe (server->input) || pipe (server->output))
|
||||||
glibtop_error_io_r (server, "cannot make a pipe");
|
glibtop_error_io_r (server, "cannot make a pipe");
|
||||||
@@ -98,9 +110,9 @@ glibtop_open_l (glibtop *server, const char *program_name,
|
|||||||
close (server->input [0]); close (server->output [1]);
|
close (server->input [0]); close (server->output [1]);
|
||||||
dup2 (server->input [1], 1);
|
dup2 (server->input [1], 1);
|
||||||
dup2 (server->output [0], 0);
|
dup2 (server->output [0], 0);
|
||||||
execl (server->server_command, "libgtop-server", NULL);
|
execl (LIBGTOP_SERVER, "libgtop-server", NULL);
|
||||||
glibtop_error_io_r (server, "execl (%s)",
|
glibtop_error_io_r (server, "execl (%s)",
|
||||||
server->server_command);
|
LIBGTOP_SERVER);
|
||||||
_exit (2);
|
_exit (2);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -136,7 +148,7 @@ glibtop_open_l (glibtop *server, const char *program_name,
|
|||||||
if (nbytes != size)
|
if (nbytes != size)
|
||||||
glibtop_error_r (server,
|
glibtop_error_r (server,
|
||||||
"Requested %u bytes but got %u.",
|
"Requested %u bytes but got %u.",
|
||||||
(unsigned)size, (unsigned)nbytes);
|
size, nbytes);
|
||||||
|
|
||||||
glibtop_read_l (server, nbytes, buffer);
|
glibtop_read_l (server, nbytes, buffer);
|
||||||
|
|
||||||
@@ -153,14 +165,18 @@ glibtop_open_l (glibtop *server, const char *program_name,
|
|||||||
|
|
||||||
memcpy (&server->sysdeps, &sysdeps, sizeof (glibtop_sysdeps));
|
memcpy (&server->sysdeps, &sysdeps, sizeof (glibtop_sysdeps));
|
||||||
|
|
||||||
glibtop_debug ("Server features are %#0lx.",
|
#ifdef DEBUG
|
||||||
|
fprintf (stderr, "Server features are %lu.\n",
|
||||||
server->features);
|
server->features);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/* In any case, we call the open functions of our own sysdeps
|
/* In any case, we call the open functions of our own sysdeps
|
||||||
* directory. */
|
* directory. */
|
||||||
|
|
||||||
glibtop_debug ("Calling sysdeps open function.");
|
#ifdef DEBUG
|
||||||
|
fprintf (stderr, "Calling sysdeps open function.\n");
|
||||||
|
#endif
|
||||||
|
|
||||||
glibtop_init_s (&server, features, flags);
|
glibtop_init_s (&server, features, flags);
|
||||||
}
|
}
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
@@ -33,7 +33,9 @@ glibtop_read_l (glibtop *server, size_t size, void *buf)
|
|||||||
int fd;
|
int fd;
|
||||||
glibtop_init_r (&server, 0, 0);
|
glibtop_init_r (&server, 0, 0);
|
||||||
|
|
||||||
glibtop_debug("LIBRARY: really reading %d bytes.", (int)size);
|
#ifdef DEBUG
|
||||||
|
fprintf (stderr, "LIBRARY: really reading %d bytes.\n", (int)size);
|
||||||
|
#endif
|
||||||
|
|
||||||
fd = server->socket ? server->socket : server->input[0];
|
fd = server->socket ? server->socket : server->input[0];
|
||||||
|
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
@@ -36,8 +36,10 @@ glibtop_read_data_l (glibtop *server)
|
|||||||
|
|
||||||
glibtop_init_r (&server, 0, 0);
|
glibtop_init_r (&server, 0, 0);
|
||||||
|
|
||||||
glibtop_debug ("LIBRARY: reading %lu data bytes.",
|
#ifdef DEBUG
|
||||||
|
fprintf (stderr, "LIBRARY: reading %lu data bytes.\n",
|
||||||
(unsigned long) sizeof (size_t));
|
(unsigned long) sizeof (size_t));
|
||||||
|
#endif
|
||||||
|
|
||||||
if (server->socket) {
|
if (server->socket) {
|
||||||
ret = recv (server->socket, &size, sizeof (size_t), 0);
|
ret = recv (server->socket, &size, sizeof (size_t), 0);
|
||||||
@@ -48,8 +50,10 @@ glibtop_read_data_l (glibtop *server)
|
|||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
glibtop_error_io_r (server, _("read data size"));
|
glibtop_error_io_r (server, _("read data size"));
|
||||||
|
|
||||||
glibtop_debug ("LIBRARY: really reading %lu data bytes (ret = %d).",
|
#ifdef DEBUG
|
||||||
|
fprintf (stderr, "LIBRARY: really reading %lu data bytes (ret = %d).\n",
|
||||||
(unsigned long) size, ret);
|
(unsigned long) size, ret);
|
||||||
|
#endif
|
||||||
|
|
||||||
if (!size) return NULL;
|
if (!size) return NULL;
|
||||||
|
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
@@ -46,10 +46,7 @@ GLIBTOP_SUID_PROC_ARGS +
|
|||||||
GLIBTOP_SUID_PROC_MAP +
|
GLIBTOP_SUID_PROC_MAP +
|
||||||
GLIBTOP_SUID_NETLOAD +
|
GLIBTOP_SUID_NETLOAD +
|
||||||
GLIBTOP_SUID_NETLIST +
|
GLIBTOP_SUID_NETLIST +
|
||||||
GLIBTOP_SUID_PROC_WD +
|
GLIBTOP_SUID_PPP;
|
||||||
GLIBTOP_SUID_PROC_AFFINITY +
|
|
||||||
GLIBTOP_SUID_PPP +
|
|
||||||
GLIBTOP_SUID_PROC_IO;
|
|
||||||
|
|
||||||
const _glibtop_init_func_t _glibtop_init_hook_s [] = {
|
const _glibtop_init_func_t _glibtop_init_hook_s [] = {
|
||||||
#if !GLIBTOP_SUID_CPU
|
#if !GLIBTOP_SUID_CPU
|
||||||
@@ -112,17 +109,8 @@ const _glibtop_init_func_t _glibtop_init_hook_s [] = {
|
|||||||
#if !GLIBTOP_SUID_NETLIST
|
#if !GLIBTOP_SUID_NETLIST
|
||||||
_glibtop_init_netlist_s,
|
_glibtop_init_netlist_s,
|
||||||
#endif
|
#endif
|
||||||
#if !GLIBTOP_SUID_PROC_WD
|
|
||||||
_glibtop_init_proc_wd_s,
|
|
||||||
#endif
|
|
||||||
#if !GLIBTOP_SUID_PROC_AFFINITY
|
|
||||||
_glibtop_init_proc_affinity_s,
|
|
||||||
#endif
|
|
||||||
#if !GLIBTOP_SUID_PPP
|
#if !GLIBTOP_SUID_PPP
|
||||||
_glibtop_init_ppp_s,
|
_glibtop_init_ppp_s,
|
||||||
#endif
|
|
||||||
#if !GLIBTOP_SUID_PROC_IO
|
|
||||||
_glibtop_init_proc_io_s,
|
|
||||||
#endif
|
#endif
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
@@ -188,17 +176,8 @@ const _glibtop_init_func_t _glibtop_init_hook_p [] = {
|
|||||||
#if GLIBTOP_SUID_NETLIST
|
#if GLIBTOP_SUID_NETLIST
|
||||||
_glibtop_init_netlist_p,
|
_glibtop_init_netlist_p,
|
||||||
#endif
|
#endif
|
||||||
#if GLIBTOP_SUID_PROC_WD
|
|
||||||
_glibtop_init_proc_wd_p,
|
|
||||||
#endif
|
|
||||||
#if GLIBTOP_SUID_PROC_AFFINITY
|
|
||||||
_glibtop_init_proc_affinity_p,
|
|
||||||
#endif
|
|
||||||
#if GLIBTOP_SUID_PPP
|
#if GLIBTOP_SUID_PPP
|
||||||
_glibtop_init_ppp_p,
|
_glibtop_init_ppp_p,
|
||||||
#endif
|
|
||||||
#if GLIBTOP_SUID_PROC_IO
|
|
||||||
_glibtop_init_proc_io_p,
|
|
||||||
#endif
|
#endif
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
@@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with LibGTop; see the file COPYING. If not, write to the
|
along with LibGTop; see the file COPYING. If not, write to the
|
||||||
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02110-1301, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
@@ -37,7 +37,9 @@ glibtop_write_l (glibtop *server, size_t size, void *buf)
|
|||||||
|
|
||||||
if (size == 0) return;
|
if (size == 0) return;
|
||||||
|
|
||||||
glibtop_debug("LIBRARY: really writing %d bytes.", (int)size);
|
#ifdef DEBUG
|
||||||
|
fprintf (stderr, "LIBRARY: really writing %d bytes.\n", (int)size);
|
||||||
|
#endif
|
||||||
|
|
||||||
fd = server->socket ? server->socket : server->output[1];
|
fd = server->socket ? server->socket : server->output[1];
|
||||||
|
|
||||||
|
@@ -4,19 +4,23 @@ dnl
|
|||||||
dnl It defines the following variables:
|
dnl It defines the following variables:
|
||||||
dnl
|
dnl
|
||||||
dnl * 'libgtop_sysdeps_dir' - sysdeps dir for libgtop.
|
dnl * 'libgtop_sysdeps_dir' - sysdeps dir for libgtop.
|
||||||
dnl * 'libgtop_need_server' - is the server really needed? Defines 'LIBGTOP_NEED_SERVER'
|
dnl * 'libgtop_use_machine_h' - some of system dependend parts of libgtop provide
|
||||||
dnl if true; defines conditional 'LIBGTOP_NEED_SERVER'.
|
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([GNOME_LIBGTOP_SYSDEPS],[
|
AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
|
||||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||||
|
|
||||||
AC_SUBST(libgtop_sysdeps_dir)
|
AC_SUBST(libgtop_sysdeps_dir)
|
||||||
|
AC_SUBST(libgtop_use_machine_h)
|
||||||
AC_SUBST(libgtop_need_server)
|
AC_SUBST(libgtop_need_server)
|
||||||
|
|
||||||
AC_ARG_WITH(examples,
|
AC_ARG_WITH(libgtop-examples,
|
||||||
AS_HELP_STRING([--with-examples],
|
AS_HELP_STRING([--with-libgtop-examples],
|
||||||
[Build the libgtop examples @<:@default=yes@:>@]),[
|
[Build the libgtop examples @<:@default=no@:>@]),[
|
||||||
build_examples="$withval"], [build_examples=yes])
|
build_examples="$withval"], [build_examples=no])
|
||||||
|
|
||||||
AM_CONDITIONAL(EXAMPLES, test x"$build_examples" = xyes)
|
AM_CONDITIONAL(EXAMPLES, test x"$build_examples" = xyes)
|
||||||
|
|
||||||
@@ -27,58 +31,67 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
|
|||||||
|
|
||||||
AM_CONDITIONAL(HACKER_MODE, test x"$hacker_mode" = xyes)
|
AM_CONDITIONAL(HACKER_MODE, test x"$hacker_mode" = xyes)
|
||||||
|
|
||||||
|
AC_ARG_WITH(libgtop-smp,
|
||||||
|
AS_HELP_STRING([--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
|
||||||
|
;;
|
||||||
|
aix*)
|
||||||
|
libgtop_smp=yes
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
libgtop_smp=no
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
AC_MSG_RESULT($libgtop_smp)
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test $libgtop_smp = yes ; then
|
||||||
|
AC_DEFINE(HAVE_LIBGTOP_SMP, 1, [Define if libgtop supports SMP])
|
||||||
|
fi
|
||||||
|
|
||||||
|
AM_CONDITIONAL(LIBGTOP_SMP, test $libgtop_smp = yes)
|
||||||
|
|
||||||
AC_MSG_CHECKING(for libgtop sysdeps directory)
|
AC_MSG_CHECKING(for libgtop sysdeps directory)
|
||||||
|
|
||||||
case "$host_os" in
|
case "$host_os" in
|
||||||
linux*)
|
linux*)
|
||||||
libgtop_sysdeps_dir=linux
|
libgtop_sysdeps_dir=linux
|
||||||
|
libgtop_use_machine_h=no
|
||||||
libgtop_have_sysinfo=yes
|
libgtop_have_sysinfo=yes
|
||||||
libgtop_need_server=no
|
libgtop_need_server=no
|
||||||
libgtop_sysdeps_private_mountlist=yes
|
|
||||||
libgtop_sysdeps_private_fsusage=yes
|
|
||||||
;;
|
;;
|
||||||
netbsd*|bsdi*)
|
netbsd*|openbsd*|bsdi*)
|
||||||
libgtop_sysdeps_dir=bsd
|
libgtop_sysdeps_dir=bsd
|
||||||
|
libgtop_use_machine_h=yes
|
||||||
libgtop_need_server=yes
|
libgtop_need_server=yes
|
||||||
libgtop_postinstall='chgrp kmem $(bindir)/libgtop_server2 && chmod 2755 $(bindir)/libgtop_server2'
|
libgtop_postinstall='chgrp kmem $(bindir)/libgtop_server2 && chmod 2755 $(bindir)/libgtop_server2'
|
||||||
;;
|
;;
|
||||||
openbsd*)
|
|
||||||
libgtop_sysdeps_dir=openbsd
|
|
||||||
libgtop_need_server=yes
|
|
||||||
libgtop_sysdeps_private_mountlist=yes
|
|
||||||
libgtop_sysdeps_private_fsusage=yes
|
|
||||||
libgtop_postinstall='chgrp kmem $(bindir)/libgtop_server2 && chmod 2555 $(bindir)/libgtop_server2'
|
|
||||||
;;
|
|
||||||
freebsd*|kfreebsd*)
|
freebsd*|kfreebsd*)
|
||||||
libgtop_sysdeps_dir=freebsd
|
libgtop_sysdeps_dir=freebsd
|
||||||
|
libgtop_use_machine_h=yes
|
||||||
libgtop_need_server=yes
|
libgtop_need_server=yes
|
||||||
libgtop_sysdeps_private_mountlist=yes
|
|
||||||
libgtop_sysdeps_private_fsusage=yes
|
|
||||||
libgtop_postinstall='chgrp kmem $(bindir)/libgtop_server2 && chmod 2755 $(bindir)/libgtop_server2'
|
libgtop_postinstall='chgrp kmem $(bindir)/libgtop_server2 && chmod 2755 $(bindir)/libgtop_server2'
|
||||||
;;
|
;;
|
||||||
solaris*)
|
solaris*)
|
||||||
libgtop_sysdeps_dir=solaris
|
libgtop_sysdeps_dir=solaris
|
||||||
|
libgtop_use_machine_h=yes
|
||||||
libgtop_need_server=yes
|
libgtop_need_server=yes
|
||||||
libgtop_postinstall='chgrp sys $(bindir)/libgtop_server && chmod 2755 $(bindir)/libgtop_server'
|
libgtop_postinstall='chgrp sys $(bindir)/libgtop_server && chmod 2755 $(bindir)/libgtop_server'
|
||||||
;;
|
;;
|
||||||
aix*)
|
aix*)
|
||||||
libgtop_sysdeps_dir=aix
|
libgtop_sysdeps_dir=aix
|
||||||
|
libgtop_use_machine_h=yes
|
||||||
libgtop_need_server=yes
|
libgtop_need_server=yes
|
||||||
libgtop_have_sysinfo=yes
|
libgtop_have_sysinfo=yes
|
||||||
libgtop_postinstall='chgrp system $(bindir)/libgtop_server && chmod g+s $(bindir)/libgtop_server2'
|
libgtop_postinstall='chgrp system $(bindir)/libgtop_server && chmod g+s $(bindir)/libgtop_server2'
|
||||||
;;
|
;;
|
||||||
darwin*)
|
|
||||||
libgtop_sysdeps_dir=darwin
|
|
||||||
libgtop_need_server=yes
|
|
||||||
libgtop_have_sysinfo=yes
|
|
||||||
libgtop_postinstall='chgrp kmem $(bindir)/libgtop_server2 && chmod g+s $(bindir)/libgtop_server2'
|
|
||||||
;;
|
|
||||||
cygwin*)
|
|
||||||
libgtop_sysdeps_dir=cygwin
|
|
||||||
libgtop_need_server=no
|
|
||||||
libgtop_have_sysinfo=yes
|
|
||||||
libgtop_sysdeps_private_mountlist=yes
|
|
||||||
;;
|
|
||||||
*)
|
*)
|
||||||
if test x$hacker_mode = xyes ; then
|
if test x$hacker_mode = xyes ; then
|
||||||
case "$host_os" in
|
case "$host_os" in
|
||||||
@@ -86,19 +99,23 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
|
|||||||
#Please note that this port is obsolete and not working at
|
#Please note that this port is obsolete and not working at
|
||||||
#all. It is only useful for people who want to fix it ... :-)
|
#all. It is only useful for people who want to fix it ... :-)
|
||||||
libgtop_sysdeps_dir=sun4
|
libgtop_sysdeps_dir=sun4
|
||||||
|
libgtop_use_machine_h=yes
|
||||||
libgtop_need_server=yes
|
libgtop_need_server=yes
|
||||||
;;
|
;;
|
||||||
osf*)
|
osf*)
|
||||||
libgtop_sysdeps_dir=osf1
|
libgtop_sysdeps_dir=osf1
|
||||||
|
libgtop_use_machine_h=yes
|
||||||
libgtop_need_server=yes
|
libgtop_need_server=yes
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
libgtop_sysdeps_dir=stub
|
libgtop_sysdeps_dir=stub
|
||||||
|
libgtop_use_machine_h=no
|
||||||
libgtop_need_server=no
|
libgtop_need_server=no
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
else
|
else
|
||||||
libgtop_sysdeps_dir=stub
|
libgtop_sysdeps_dir=stub
|
||||||
|
libgtop_use_machine_h=no
|
||||||
libgtop_need_server=no
|
libgtop_need_server=no
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
@@ -114,13 +131,30 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
|
|||||||
|
|
||||||
case "$host_os" in
|
case "$host_os" in
|
||||||
*bsd*)
|
*bsd*)
|
||||||
AC_CHECK_LIB(kvm, kvm_open, KVM_LIBS=-lkvm, KVM_LIBS=)
|
case "$host_os" in
|
||||||
|
*kfreebsd*)
|
||||||
|
AC_CHECK_LIB(kvm, kvm_open, KVM_LIBS="-lkvm -lfreebsd -lbsd", KVM_LIBS=, -lfreebsd -lbsd);;
|
||||||
|
*)
|
||||||
|
AC_CHECK_LIB(kvm, kvm_open, KVM_LIBS=-lkvm, KVM_LIBS=);;
|
||||||
|
esac
|
||||||
|
|
||||||
AC_SUBST(KVM_LIBS)
|
AC_SUBST(KVM_LIBS)
|
||||||
|
|
||||||
AC_CHECK_HEADERS(net/if_var.h,,, [
|
case "$host_os" in
|
||||||
#include <net/if.h>
|
kfreebsd*)
|
||||||
#include <sys/types.h>
|
EXTRA_SYSDEPS_LIBS="-lgeom -ldevstat"
|
||||||
#include <sys/socket.h>])
|
;;
|
||||||
|
freebsd*)
|
||||||
|
osreldate=`sysctl -n kern.osreldate 2>/dev/null`
|
||||||
|
if test -n "${osreldate}" && test ${osreldate} -ge 600000 ; then
|
||||||
|
EXTRA_SYSDEPS_LIBS="-lgeom -ldevstat"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
AC_SUBST(EXTRA_SYSDEPS_LIBS)
|
||||||
|
|
||||||
|
AC_CHECK_HEADERS(net/if_var.h)
|
||||||
AC_MSG_CHECKING([for I4B])
|
AC_MSG_CHECKING([for I4B])
|
||||||
AC_TRY_COMPILE([
|
AC_TRY_COMPILE([
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
@@ -185,10 +219,10 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
AC_MSG_CHECKING(what we need to define to get struct msginfo)
|
AC_MSG_CHECKING(what we need to define to get struct msginfo)
|
||||||
AC_CACHE_VAL(msginfo_cv_needs,
|
AC_CACHE_VAL(msginfo_needs,
|
||||||
msginfo_cv_needs=
|
msginfo_needs=
|
||||||
for def in nothing KERNEL _KERNEL; do
|
for def in nothing KERNEL _KERNEL; do
|
||||||
AC_COMPILE_IFELSE([AC_LANG_SOURCE([#define $def
|
AC_COMPILE_IFELSE([#define $def
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/ipc.h>
|
#include <sys/ipc.h>
|
||||||
#include <sys/msg.h>
|
#include <sys/msg.h>
|
||||||
@@ -200,23 +234,23 @@ main (void)
|
|||||||
struct msginfo mi;
|
struct msginfo mi;
|
||||||
mi.msgmax = 0;
|
mi.msgmax = 0;
|
||||||
return 0;
|
return 0;
|
||||||
}])],
|
}],
|
||||||
[
|
[
|
||||||
msginfo_cv_needs=$def
|
msginfo_needs=$def
|
||||||
if test ${msginfo_cv_needs} = KERNEL; then
|
if test ${msginfo_needs} = KERNEL; then
|
||||||
AC_DEFINE(STRUCT_MSGINFO_NEEDS_KERNEL, 1,
|
AC_DEFINE(STRUCT_MSGINFO_NEEDS_KERNEL, 1,
|
||||||
[Define to 1 if we need to define KERNEL to get 'struct msginfo'])
|
[Define to 1 if we need to define KERNEL to get 'struct msginfo'])
|
||||||
elif test ${msginfo_cv_needs} = _KERNEL; then
|
elif test ${msginfo_needs} = _KERNEL; then
|
||||||
AC_DEFINE(STRUCT_MSGINFO_NEEDS__KERNEL, 1,
|
AC_DEFINE(STRUCT_MSGINFO_NEEDS__KERNEL, 1,
|
||||||
[Define to 1 if we need to define _KERNEL to get 'struct msginfo'])
|
[Define to 1 if we need to define _KERNEL to get 'struct msginfo'])
|
||||||
fi
|
fi
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
test -n "${msginfo_cv_needs}" && break
|
test -n "${msginfo_needs}" && break
|
||||||
done
|
done
|
||||||
)
|
)
|
||||||
AC_MSG_RESULT($msginfo_cv_needs)
|
AC_MSG_RESULT($msginfo_needs)
|
||||||
if test -z "${msginfo_cv_needs}"; then
|
if test -z "${msginfo_needs}"; then
|
||||||
AC_MSG_ERROR([Could not find the definition of 'struct msginfo'])
|
AC_MSG_ERROR([Could not find the definition of 'struct msginfo'])
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
@@ -261,15 +295,21 @@ main (void)
|
|||||||
;;
|
;;
|
||||||
esac
|
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_CHECKING(whether we need libgtop)
|
||||||
AC_MSG_RESULT($libgtop_need_server)
|
AC_MSG_RESULT($libgtop_need_server)
|
||||||
|
|
||||||
if test x$libgtop_need_server = xyes ; then
|
if test x$libgtop_need_server = xyes ; then
|
||||||
AC_DEFINE(LIBGTOP_NEED_SERVER, 1, [Define if libgtop server is required])
|
AC_DEFINE(NEED_LIBGTOP, 1, [Define if libgtop is required])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AM_CONDITIONAL(LIBGTOP_NEED_SERVER, test x$libgtop_need_server = xyes)
|
if test x$libgtop_use_machine_h = xyes ; then
|
||||||
AM_CONDITIONAL(LIBGTOP_SYSDEPS_PRIVATE_MOUNTLIST, test x$libgtop_sysdeps_private_mountlist = xyes)
|
AC_DEFINE(HAVE_GLIBTOP_MACHINE_H, 1,
|
||||||
AM_CONDITIONAL(LIBGTOP_SYSDEPS_PRIVATE_FSUSAGE, test x$libgtop_sysdeps_private_fsusage = xyes)
|
[Define if machine.h in libgtop sysdeps dir])
|
||||||
|
fi
|
||||||
|
|
||||||
|
AM_CONDITIONAL(NEED_LIBGTOP, test x$libgtop_need_server = xyes)
|
||||||
])
|
])
|
||||||
|
|
||||||
|
31
libgtop.doap
31
libgtop.doap
@@ -1,31 +0,0 @@
|
|||||||
<Project xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
||||||
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
|
|
||||||
xmlns:foaf="http://xmlns.com/foaf/0.1/"
|
|
||||||
xmlns:gnome="http://api.gnome.org/doap-extensions#"
|
|
||||||
xmlns="http://usefulinc.com/ns/doap#">
|
|
||||||
|
|
||||||
<name xml:lang="en">libgtop</name>
|
|
||||||
<shortdesc xml:lang="en">LibGTop2</shortdesc>
|
|
||||||
<download-page rdf:resource="http://download.gnome.org/sources/libgtop/" />
|
|
||||||
<bug-database rdf:resource="http://bugzilla.gnome.org/browse.cgi?product=libgtop" />
|
|
||||||
<category rdf:resource="http://api.gnome.org/doap-extensions#core" />
|
|
||||||
<programming-language>C</programming-language>
|
|
||||||
|
|
||||||
<maintainer>
|
|
||||||
<foaf:Person>
|
|
||||||
<foaf:name>Benoît Dejean</foaf:name>
|
|
||||||
<foaf:mbox rdf:resource="mailto:benoit@placenet.org" />
|
|
||||||
<gnome:userid>bdejean</gnome:userid>
|
|
||||||
</foaf:Person>
|
|
||||||
</maintainer>
|
|
||||||
|
|
||||||
<maintainer>
|
|
||||||
<foaf:Person>
|
|
||||||
<foaf:name>Robert Roth</foaf:name>
|
|
||||||
<foaf:mbox rdf:resource="mailto:robert.roth.off@gmail.com" />
|
|
||||||
<gnome:userid>robertroth</gnome:userid>
|
|
||||||
</foaf:Person>
|
|
||||||
</maintainer>
|
|
||||||
|
|
||||||
</Project>
|
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user