Compare commits
344 Commits
LIBGTOP_2_
...
testing
Author | SHA1 | Date | |
---|---|---|---|
|
4dc31b6c94 | ||
|
69989d716f | ||
|
8204d4d450 | ||
|
44653a62ee | ||
|
2506662196 | ||
|
b6eb0873e7 | ||
|
2c08229f04 | ||
|
753d9abb13 | ||
|
af7e9cd1b6 | ||
|
552ea7ec3a | ||
|
43f19912e3 | ||
|
16bb5c8075 | ||
|
bebcb377af | ||
|
4cffb2f094 | ||
|
5adaa90de3 | ||
|
f9e8ae8dfc | ||
|
efeb24a96c | ||
|
3c4ddb5572 | ||
|
fec9e956e3 | ||
|
2ee4fa70a5 | ||
|
7a4b2d91ad | ||
|
dc7eab4329 | ||
|
a44392d948 | ||
|
b013937b2c | ||
|
4bded8fa91 | ||
|
f88a38aa52 | ||
|
37774dc02d | ||
|
4efe3721e7 | ||
|
31cbc3374d | ||
|
c8a33802c2 | ||
|
a3ff5fb398 | ||
|
8d5b3dd86a | ||
|
fecedf8c72 | ||
|
183b7b0cf1 | ||
|
1523fae41e | ||
|
a6d0d61175 | ||
|
b0f4bee85e | ||
|
1d1d3fb907 | ||
|
bd363a9ca6 | ||
|
46c1169ab1 | ||
|
b11aa1517e | ||
|
aa7572abfd | ||
|
17b03f33ab | ||
|
dd46d6a00e | ||
|
7bd52fc397 | ||
|
ff7cbcbe61 | ||
|
d1d565aa60 | ||
|
169b76a88f | ||
|
0a265d05d4 | ||
|
08ac661b19 | ||
|
1baa3fcc6a | ||
|
eaff15b741 | ||
|
4612e7c7eb | ||
|
f66324f84d | ||
|
138889c4d6 | ||
|
cac71bf6c4 | ||
|
2ea3da9da5 | ||
|
5144c3e127 | ||
|
c4907672cd | ||
|
4c9a161eb5 | ||
|
32833323d9 | ||
|
0de702b142 | ||
|
4e24854dbf | ||
|
08fd95d253 | ||
|
aa1a6766f2 | ||
|
537dc1bff1 | ||
|
93829c8cbb | ||
|
cecf53394b | ||
|
62239cfe50 | ||
|
15ffb2d039 | ||
|
7f14f4409d | ||
|
f8c573b78c | ||
|
49641cc363 | ||
|
46706961ac | ||
|
edda30a4ad | ||
|
c775a536c8 | ||
|
84a697a826 | ||
|
07c04634bc | ||
|
78a4292fb4 | ||
|
7bdc92f325 | ||
|
b40f210d03 | ||
|
50bb0d51b3 | ||
|
3d0dc2b36e | ||
|
33f0825b3c | ||
|
3cc7b3aecb | ||
|
f7e1ab5a0e | ||
|
f6edec8c76 | ||
|
ccf85794e2 | ||
|
9bd7b581cd | ||
|
825c28e04f | ||
|
f787bfa0c7 | ||
|
93ceca1af2 | ||
|
a1bc181e96 | ||
|
3db7ab8ddd | ||
|
5b64ff7b6e | ||
|
f6347e796d | ||
|
26adc05a52 | ||
|
6a2464c4ad | ||
|
178420d1f7 | ||
|
81c1f668d1 | ||
|
2924b470ea | ||
|
c36239c8ea | ||
|
8337a4af31 | ||
|
a2cdb07c27 | ||
|
2fa17f308d | ||
|
b57703888f | ||
|
85a793f117 | ||
|
ed1d6cd9e7 | ||
|
4a17d9fef5 | ||
|
f2d748162e | ||
|
363a6f9088 | ||
|
e2686446bb | ||
|
1c01f08117 | ||
|
6768eddab9 | ||
|
ed440c7d0b | ||
|
643005349a | ||
|
cbb3f7dd5b | ||
|
72537d102d | ||
|
a43d48f67c | ||
|
c50eb6d494 | ||
|
010e3a1c9d | ||
|
3ea6e1caf0 | ||
|
f66c9665bd | ||
|
a80c80ca69 | ||
|
f41ab3beed | ||
|
933683da39 | ||
|
2679fdde9a | ||
|
2458096acf | ||
|
1f44dbb385 | ||
|
d99a29d217 | ||
|
15abcdbbf2 | ||
|
62bafe804e | ||
|
9f051c9569 | ||
|
231f4d2a14 | ||
|
4af6777d76 | ||
|
c05776fa09 | ||
|
f6b31585bb | ||
|
f3c86c8767 | ||
|
c26b6ead21 | ||
|
3d9f260bd4 | ||
|
2ed2120869 | ||
|
5d02f86549 | ||
|
6e3d067edd | ||
|
bc19d07178 | ||
|
8e288b06be | ||
|
ffcbac629f | ||
|
568144dcd7 | ||
|
d75259cbca | ||
|
7e697f047a | ||
|
c1fba7d0fa | ||
|
d541cf22ef | ||
|
35a0ac4f2c | ||
|
391377ccf8 | ||
|
c0d87d96d3 | ||
|
a7f2a1db4a | ||
|
77fff173fc | ||
|
863da1cdfd | ||
|
23798fbd51 | ||
|
8399315a4f | ||
|
ab3f8f58ef | ||
|
e5fdd58fee | ||
|
86f43f408b | ||
|
1aab514cda | ||
|
3a8f2335c9 | ||
|
5b5c9215dc | ||
|
bf13e02061 | ||
|
1e2c9d5517 | ||
|
5dccc423d8 | ||
|
d58409351c | ||
|
1c20ceb694 | ||
|
3d4491494f | ||
|
10a04fc9c7 | ||
|
10e5124770 | ||
|
f269f738d7 | ||
|
bc86ee5421 | ||
|
7ea989c2b8 | ||
|
91b7ae4b11 | ||
|
ce23ce407c | ||
|
7f779e078d | ||
|
229eab1213 | ||
|
791e0dd859 | ||
|
f63973eac5 | ||
|
806a2d2d7e | ||
|
af81e9be75 | ||
|
90fc3ca780 | ||
|
99e9437b37 | ||
|
6c7f40ac64 | ||
|
e75261ada8 | ||
|
dc5da30913 | ||
|
4d78d26932 | ||
|
cd950bbf73 | ||
|
c1b95643a8 | ||
|
be8a371481 | ||
|
fedd75b2b1 | ||
|
a02e213373 | ||
|
e3697c9a9e | ||
|
91e2e5a1b7 | ||
|
158280e297 | ||
|
62c741074c | ||
|
87a80ba430 | ||
|
7bb5abb9a8 | ||
|
40485978ec | ||
|
73c62a7bdb | ||
|
e4d9c10a73 | ||
|
5d3f18e12c | ||
|
d97b0c3419 | ||
|
960d12822d | ||
|
f79f25f5ce | ||
|
3bb78c22c4 | ||
|
4971103dc3 | ||
|
35fab4d9aa | ||
|
2078320e14 | ||
|
46a29ac020 | ||
|
d9c98b57c9 | ||
|
9ce9de7942 | ||
|
1409a8ef80 | ||
|
bff4a84864 | ||
|
77524a1ad2 | ||
|
a171755aa6 | ||
|
1d5f2cb395 | ||
|
86ace13645 | ||
|
57b1547333 | ||
|
efee8728d1 | ||
|
9ae5202a78 | ||
|
07322469b7 | ||
|
b797fcf578 | ||
|
7725fdff77 | ||
|
e5298ca598 | ||
|
92d54e287a | ||
|
2d9656e82a | ||
|
8674e92349 | ||
|
f5bbc36a91 | ||
|
b058565419 | ||
|
2c6b951822 | ||
|
9b072525a6 | ||
|
e2e0e3a555 | ||
|
f37f72781a | ||
|
9618fe795f | ||
|
2e3231b051 | ||
|
7fd14852db | ||
|
73728a78c7 | ||
|
3f55d507dd | ||
|
13cec7830f | ||
|
665d65d164 | ||
|
21adc6b0c5 | ||
|
3529a1b59f | ||
|
8a0a3632ac | ||
|
e6f9e07a9e | ||
|
755695c537 | ||
|
dba423b6e7 | ||
|
83cda8c605 | ||
|
6856c690f3 | ||
|
a9b3964675 | ||
|
44b360a521 | ||
|
699524ea6a | ||
|
2f4826b4d8 | ||
|
83160ef48c | ||
|
76bfbd3006 | ||
|
73c9b1dd20 | ||
|
da878ec588 | ||
|
f3c90e4b3a | ||
|
f3959743b6 | ||
|
70a58a4cd4 | ||
|
600bb6f004 | ||
|
d5ccf3404b | ||
|
b17762a5ae | ||
|
1f2325b441 | ||
|
b1757616d8 | ||
|
871f300a2c | ||
|
650c8f2582 | ||
|
28ae85c10b | ||
|
ce37ceeb15 | ||
|
706c847b17 | ||
|
82be8d7f8d | ||
|
22e55d2e37 | ||
|
31844753e8 | ||
|
0ad36c2f62 | ||
|
79143ecad7 | ||
|
62dba864d7 | ||
|
21a763e55a | ||
|
c81d6306e5 | ||
|
7270bcc9d5 | ||
|
3c39f89281 | ||
|
e34f38d3fc | ||
|
a207cc1580 | ||
|
b219d3181e | ||
|
bc848239ff | ||
|
0285e018f4 | ||
|
01f1e7e955 | ||
|
ef34cfb38a | ||
|
1e0ba1d7aa | ||
|
6b0bafcafb | ||
|
c0856a39bd | ||
|
270820a05c | ||
|
358660837c | ||
|
e387c66aad | ||
|
e774440e77 | ||
|
c7295cd5f0 | ||
|
65fe248d66 | ||
|
5c479c9a45 | ||
|
6509ddff4c | ||
|
ee78aaf29c | ||
|
a5f59cb81a | ||
|
a99011fd5c | ||
|
598374bb1c | ||
|
b1acd4461e | ||
|
0e2fe6158c | ||
|
f8b9e6f7cc | ||
|
8fc7451000 | ||
|
aaab91cc20 | ||
|
cde89c59b1 | ||
|
0ce04dd037 | ||
|
8e4c6df830 | ||
|
da54431af5 | ||
|
ace68aa492 | ||
|
eee0cad2b6 | ||
|
785b30aeb6 | ||
|
3eb958dc6c | ||
|
cd389851b9 | ||
|
7ee8dae9c5 | ||
|
4b9bb4ee71 | ||
|
aa9fafe5c3 | ||
|
e0c1214cdd | ||
|
82612af053 | ||
|
2f6439a239 | ||
|
44ff5b7599 | ||
|
eb6c8b696f | ||
|
177d1aa841 | ||
|
021153bc49 | ||
|
89810a70ec | ||
|
504ff4ec59 | ||
|
04a5531a46 | ||
|
5a15e409cf | ||
|
747438e334 | ||
|
10211bf7da | ||
|
09f8aaec1e | ||
|
9f509067d4 | ||
|
a085c85db6 | ||
|
c6a7459bc9 | ||
|
3d06443c2c | ||
|
3f49e555fc | ||
|
e156172e7c | ||
|
c9385972bd | ||
|
b411ee115f |
48
.cvsignore
48
.cvsignore
@@ -1,48 +0,0 @@
|
||||
Makefile
|
||||
Makefile.in
|
||||
aclocal.m4
|
||||
config.cache
|
||||
config.h
|
||||
config.h.in
|
||||
config.log
|
||||
config.sub
|
||||
config.guess
|
||||
config.status
|
||||
configure
|
||||
gtopConf.sh
|
||||
i386-bsdi
|
||||
i686-pc-linux-gnu
|
||||
intl
|
||||
libgtop-mirror.sh.swp
|
||||
libgtopConf.sh
|
||||
libtool
|
||||
ltconfig
|
||||
ltmain.sh
|
||||
macros
|
||||
stamp-h
|
||||
stamp-h.in
|
||||
sun4
|
||||
sun4sol2
|
||||
support
|
||||
i386-freebsd
|
||||
alpha-dec-osf3.0
|
||||
i686-pc-linux-gnu-linux
|
||||
libgtop-config
|
||||
ABOUT-NLS
|
||||
libgtop.spec
|
||||
libgtop*.tar.gz
|
||||
*-debstamp
|
||||
libgtop*.pc
|
||||
autom4te.cache
|
||||
COPYING
|
||||
INSTALL
|
||||
install-sh
|
||||
missing
|
||||
mkinstalldirs
|
||||
libgtopconfig.h
|
||||
intltool-extract.in
|
||||
intltool-extract
|
||||
intltool-merge.in
|
||||
intltool-merge
|
||||
intltool-update.in
|
||||
intltool-update
|
100
.gitignore
vendored
Normal file
100
.gitignore
vendored
Normal file
@@ -0,0 +1,100 @@
|
||||
sysdeps/Makefile
|
||||
sysdeps/Makefile.in
|
||||
sysdeps/*/Makefile
|
||||
sysdeps/*/Makefile.in
|
||||
sysdeps/*/.deps
|
||||
sysdeps/*/.libs
|
||||
sysdeps/*/*.o
|
||||
sysdeps/*/*.lo
|
||||
sysdeps/*/*.la
|
||||
src/*/Makefile
|
||||
src/*/Makefile.in
|
||||
src/*/.deps
|
||||
src/Makefile
|
||||
src/Makefile.in
|
||||
stamp-h1
|
||||
po/*.gmo
|
||||
po/stamp-it
|
||||
po/POTFILES
|
||||
po/Makefile.in.in
|
||||
po/Makefile.in
|
||||
po/Makefile
|
||||
missing
|
||||
misc/Makefile
|
||||
misc/Makefile.in
|
||||
m4/
|
||||
ltmain.sh
|
||||
libtool
|
||||
libgtopconfig.h
|
||||
libgtop.spec
|
||||
libgtop-2.0.pc
|
||||
lib/Makefile
|
||||
lib/Makefile.in
|
||||
lib/.deps
|
||||
lib/.libs
|
||||
lib/*.o
|
||||
lib/*.lo
|
||||
lib/*.la
|
||||
lib/lib.c
|
||||
lib/GTop-2.0.gir
|
||||
lib/GTop-2.0.typelib
|
||||
INSTALL
|
||||
Makefile
|
||||
Makefile.in
|
||||
aclocal.m4
|
||||
autom4te.cache/
|
||||
config.guess
|
||||
config.h
|
||||
config.h.in
|
||||
config.log
|
||||
config.status
|
||||
config.sub
|
||||
configure
|
||||
depcomp
|
||||
doc/Makefile
|
||||
doc/Makefile.in
|
||||
doc/libgtop2.info
|
||||
doc/mdate-sh
|
||||
doc/reference/Makefile
|
||||
doc/reference/Makefile.in
|
||||
doc/reference/html/
|
||||
doc/reference/libgtop-decl-list.txt
|
||||
doc/reference/libgtop-decl.txt
|
||||
doc/reference/tmpl/
|
||||
doc/reference/version.xml
|
||||
doc/reference/xml/
|
||||
doc/stamp-vti
|
||||
doc/texinfo.tex
|
||||
doc/version.texi
|
||||
examples/.deps/
|
||||
examples/.libs/
|
||||
examples/*.o
|
||||
examples/Makefile
|
||||
examples/Makefile.in
|
||||
examples/affinity
|
||||
examples/df
|
||||
examples/first
|
||||
examples/mem
|
||||
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
|
||||
gtk-doc.make
|
||||
include/Makefile
|
||||
include/Makefile.in
|
||||
include/glibtop/Makefile
|
||||
include/glibtop/Makefile.in
|
||||
install-sh
|
||||
intltool-extract.in
|
||||
intltool-merge.in
|
||||
intltool-update.in
|
||||
|
340
COPYING
Normal file
340
COPYING
Normal file
@@ -0,0 +1,340 @@
|
||||
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.
|
133
ChangeLog
133
ChangeLog
@@ -1,3 +1,136 @@
|
||||
2007-05-19 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:
|
||||
* configure.in:
|
||||
|
||||
Released 2.19.2.
|
||||
|
||||
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>
|
||||
|
||||
* *:
|
||||
|
||||
Renamed all glibtop_init_xxx functions
|
||||
to _glibtop_init_xxx so they get internal visibility.
|
||||
|
||||
* configure.in:
|
||||
|
||||
Bumped version number.
|
||||
|
||||
2007-03-13 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* MAINTAINERS:
|
||||
|
||||
Updated.
|
||||
|
||||
2007-02-25 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* NEWS:
|
||||
|
||||
Released 2.14.8.
|
||||
|
||||
2007-02-20 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* *:
|
||||
|
||||
Removed noisy $Id$.
|
||||
|
||||
2007-02-18 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* configure.in:
|
||||
* libgtop-sysdeps.m4:
|
||||
* sysdeps/Makefile.am:
|
||||
|
||||
Huge (k)FreeBSD update.
|
||||
(k)FreeBSD support is freebsd/
|
||||
Other BSD are in bsd/
|
||||
|
||||
Patch by Joe Marcus Clarke <marcus@freebsd.org>
|
||||
Alexander Nedotsukov <bland@FreeBSD.org>
|
||||
|
||||
Closes #407693.
|
||||
|
||||
2007-02-14 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* lib/read.c: (glibtop_read_l):
|
||||
* lib/write.c: (glibtop_write_l):
|
||||
|
||||
Handle EINTR.
|
||||
|
||||
* configure.in:
|
||||
|
||||
Post release version bump.
|
||||
|
||||
2007-02-10 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* NEWS:
|
||||
* configure.in:
|
||||
|
||||
Released 2.14.7.
|
||||
|
||||
2007-01-14 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* NEWS:
|
||||
|
||||
Released 2.14.6.
|
||||
|
||||
2007-01-11 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* configure.in:
|
||||
|
||||
Bumped version number to 2.14.6.
|
||||
|
||||
* *:
|
||||
|
||||
Got rid of CVS admin files.
|
||||
|
||||
2006-12-03 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* doc/reference/libgtop-docs.xml:
|
||||
|
@@ -1,3 +1,4 @@
|
||||
Email: martin@home-of-linux.org
|
||||
Email: dave@srce.hr
|
||||
Current maintainer : Benoît Dejean (benoit@placenet.org)
|
||||
Benoît Dejean
|
||||
E-mail: benoit@placenet.org
|
||||
Userid: bdejean
|
||||
|
||||
|
@@ -1,3 +1,4 @@
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
|
||||
if EXAMPLES
|
||||
EXAMPLES_DIR = examples
|
||||
@@ -5,7 +6,7 @@ else
|
||||
EXAMPLES_DIR =
|
||||
endif
|
||||
|
||||
SUBDIRS = po misc include sysdeps lib src $(EXAMPLES_DIR) doc
|
||||
SUBDIRS = po misc include sysdeps lib src $(EXAMPLES_DIR) doc tests
|
||||
|
||||
libgtopinclude_HEADERS = glibtop.h libgtopconfig.h
|
||||
libgtopincludedir = $(includedir)/libgtop-2.0
|
||||
@@ -16,7 +17,9 @@ EXTRA_DIST = autogen.sh libgtop.spec.in copyright.txt \
|
||||
libgtop-2.0.pc.in acinclude.m4 \
|
||||
intltool-extract.in \
|
||||
intltool-merge.in \
|
||||
intltool-update.in
|
||||
libgtop.doap \
|
||||
intltool-update.in \
|
||||
m4/introspection.m4
|
||||
|
||||
DISTCLEANFILES = \
|
||||
intltool-extract \
|
||||
@@ -32,4 +35,4 @@ pkgconfig_DATA = libgtop-2.0.pc
|
||||
libgtop-features.def: features.def
|
||||
@LN_S@ $< $@
|
||||
|
||||
DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc
|
||||
DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc --enable-introspection
|
||||
|
197
NEWS
197
NEWS
@@ -1,3 +1,200 @@
|
||||
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.
|
||||
|
||||
25 February 2007: Overview of changes in 2.14.8
|
||||
===============================================
|
||||
* bsd implementations have been splitted by Joe Marcus Clarke
|
||||
and Alexander Nedotsukov. (k)freeBSD now has a separate implementation.
|
||||
|
||||
February 10, 2007: Overview of changes in 2.14.7
|
||||
================================================
|
||||
* bsd:
|
||||
- massive kfreeBSD and FreeBSD updates by Roy Marples and Petr Salinger.
|
||||
* mountlist can now ignore objfs and ctfs filesystems.
|
||||
* fsusage won't return bavail > bfree anymore.
|
||||
|
||||
January 14, 2007: Overview of changes in 2.14.6
|
||||
===============================================
|
||||
* linux:
|
||||
- fixed stack overflow in glibtop_get_proc_map
|
||||
- fixed handling of long filenames in glibtop_get_proc_map and glibtop_get_proc_open_files.
|
||||
- micro-optimization
|
||||
|
||||
December 3, 2006: Overview of changes in 2.14.5
|
||||
===============================================
|
||||
* Added kfreebsd support (Petr Salinger <Petr.Salinger@seznam.cz>).
|
||||
|
@@ -6,7 +6,7 @@ test -z "$srcdir" && srcdir=.
|
||||
|
||||
PKG_NAME="Gnome Top Library"
|
||||
|
||||
(test -f $srcdir/configure.in \
|
||||
(test -f $srcdir/configure.ac \
|
||||
&& test -f $srcdir/copyright.txt \
|
||||
&& test -d $srcdir/sysdeps) || {
|
||||
echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
|
||||
|
@@ -3,12 +3,12 @@ dnl Configure script for the Gnome library
|
||||
dnl
|
||||
|
||||
m4_define([libgtop_major_version], [2])
|
||||
m4_define([libgtop_minor_version], [14])
|
||||
m4_define([libgtop_micro_version], [5])
|
||||
m4_define([libgtop_minor_version], [28])
|
||||
m4_define([libgtop_micro_version], [6])
|
||||
m4_define([libgtop_version], [libgtop_major_version.libgtop_minor_version.libgtop_micro_version])
|
||||
|
||||
dnl increment if the interface has additions, changes, removals.
|
||||
m4_define([libgtop_current], [7])
|
||||
m4_define([libgtop_current], [9])
|
||||
|
||||
dnl increment any time the source changes; set to
|
||||
dnl 0 if you increment CURRENT
|
||||
@@ -17,7 +17,7 @@ m4_define([libgtop_revision], [0])
|
||||
dnl increment if any interfaces have been added; set to 0
|
||||
dnl if any interfaces have been removed. removal has
|
||||
dnl precedence over adding, so set to 0 if both happened.
|
||||
m4_define([libgtop_age], [0])
|
||||
m4_define([libgtop_age], [2])
|
||||
|
||||
# Increase each time you change the client/server protocol.
|
||||
m4_define([libgtop_server_version], [5])
|
||||
@@ -25,15 +25,18 @@ m4_define([libgtop_server_version], [5])
|
||||
# Version code calculation
|
||||
m4_define([libgtop_version_code], [m4_eval(libgtop_major_version * 1000000 + libgtop_minor_version * 1000 + libgtop_micro_version)])
|
||||
|
||||
AC_PREREQ(2.59)
|
||||
AC_PREREQ(2.62)
|
||||
AC_INIT([libgtop], [libgtop_version],
|
||||
[http://bugzilla.gnome.org/enter_bug.cgi?product=libgtop])
|
||||
AC_CONFIG_SRCDIR(copyright.txt)
|
||||
AC_CONFIG_HEADERS(config.h)
|
||||
|
||||
AC_CANONICAL_SYSTEM
|
||||
AC_CANONICAL_HOST
|
||||
|
||||
AM_INIT_AUTOMAKE([-Wno-portability tar-ustar no-dist-gzip dist-xz])
|
||||
AC_CONFIG_MACRO_DIR([m4])
|
||||
GOBJECT_INTROSPECTION_CHECK([0.6.7])
|
||||
|
||||
AM_INIT_AUTOMAKE
|
||||
AC_SUBST(ACLOCAL_AMFLAGS, [\${ACLOCAL_FLAGS}])
|
||||
|
||||
AC_SUBST(LIBGTOP_MAJOR_VERSION, [libgtop_major_version])
|
||||
@@ -86,25 +89,7 @@ AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes)
|
||||
|
||||
GNOME_LIBGTOP_SYSDEPS
|
||||
GNOME_LIBGTOP_TYPES
|
||||
|
||||
AC_ARG_WITH(libgtop-inodedb,
|
||||
AS_HELP_STRING([--with-libgtop-inodedb],
|
||||
[Build the inodedb stuff @<:@default=no@:>@]),
|
||||
[build_inodedb="$withval"],
|
||||
[build_inodedb=no])
|
||||
|
||||
LIBGTOP_EXTRA_LIBS=
|
||||
|
||||
if test x$build_inodedb = xyes ; then
|
||||
AC_CHECK_LIB(gdbm, gdbm_open, LIBGTOP_EXTRA_LIBS='-lgdbm', build_inodedb=no)
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL(INODEDB, test x$build_inodedb = xyes)
|
||||
|
||||
if test x$build_inodedb = xyes ; then
|
||||
AC_DEFINE(GLIBTOP_INODEDB, 1,
|
||||
[Define if the libgtop inodedb should be built])
|
||||
fi
|
||||
GLIB_TESTS
|
||||
|
||||
GLIB_REQUIRED=2.6.0
|
||||
|
||||
@@ -112,14 +97,6 @@ PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_REQUIRED)
|
||||
AC_SUBST(GLIB_CFLAGS)
|
||||
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])
|
||||
if test x$HAVE_IFADDRS_H = xyes ; then
|
||||
AC_DEFINE(HAVE_IFADDRS_H, 1, [defined if you have ifaddrs.h])
|
||||
@@ -300,10 +277,6 @@ 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
|
||||
@@ -410,9 +383,12 @@ sysdeps/linux/Makefile
|
||||
sysdeps/freebsd/Makefile
|
||||
sysdeps/solaris/Makefile
|
||||
sysdeps/aix/Makefile
|
||||
sysdeps/bsd/Makefile
|
||||
sysdeps/darwin/Makefile
|
||||
sysdeps/cygwin/Makefile
|
||||
sysdeps/openbsd/Makefile
|
||||
src/Makefile
|
||||
src/daemon/Makefile
|
||||
src/inodedb/Makefile
|
||||
lib/Makefile
|
||||
examples/Makefile
|
||||
doc/Makefile
|
9
debian/.cvsignore
vendored
9
debian/.cvsignore
vendored
@@ -1,9 +0,0 @@
|
||||
control
|
||||
rules
|
||||
build
|
||||
tmp
|
||||
*.postinst
|
||||
*.debhelper
|
||||
*.files
|
||||
files
|
||||
substvars
|
@@ -1,11 +0,0 @@
|
||||
texinfo.tex
|
||||
*.info
|
||||
Makefile.in
|
||||
Makefile
|
||||
*.log *.toc *.dvi *.aux *.cp *.fn *.vr *.tp *.ky *.pg
|
||||
*.ps
|
||||
auto-macros.texi
|
||||
version.texi
|
||||
stamp-vti
|
||||
*.html *.pdf
|
||||
mdate-sh
|
@@ -1,3 +1,9 @@
|
||||
2007-02-15 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* reference/Makefile.am:
|
||||
|
||||
Fixed distcheck.
|
||||
|
||||
2006-02-21 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* reference.texi: Fixed glibtop_get_proc_state doc.
|
||||
|
@@ -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
|
||||
here.
|
||||
|
||||
@strong{Note for people porting LibGTop to other systems:}
|
||||
@strong{A word for people porting LibGTop to other systems:}
|
||||
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
|
||||
systems.
|
||||
|
@@ -15,25 +15,25 @@ SCAN_OPTIONS=
|
||||
|
||||
# Extra options to supply to gtkdoc-mkdb.
|
||||
# e.g. MKDB_OPTIONS=--sgml-mode --output-format=xml
|
||||
MKDB_OPTIONS=--sgml-mode --output-format=xml --source-dir=../../sysdeps/common
|
||||
MKDB_OPTIONS=--sgml-mode --output-format=xml --source-dir=$(top_srcdir)/sysdeps/common
|
||||
|
||||
# The directory containing the source code. Relative to $(srcdir).
|
||||
# gtk-doc will search all .c & .h files beneath here for inline comments
|
||||
# documenting the functions and macros.
|
||||
# e.g. DOC_SOURCE_DIR=../../../gtk
|
||||
DOC_SOURCE_DIR=../../include/glibtop
|
||||
DOC_SOURCE_DIR=$(top_srcdir)/include/glibtop
|
||||
|
||||
# Used for dependencies. The docs will be rebuilt if any of these change.
|
||||
# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h
|
||||
# e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c
|
||||
HFILE_GLOB=../../include/glibtop/*.h
|
||||
CFILE_GLOB=../../sysdeps/common/*.c
|
||||
HFILE_GLOB=$(top_srcdir)/include/glibtop/*.h
|
||||
CFILE_GLOB=$(top_srcdir)/sysdeps/common/*.c
|
||||
|
||||
# Header files to ignore when scanning.
|
||||
# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h
|
||||
IGNORE_HFILES=error.h global.h gnuserv.h init_hooks.h write.h read.h read_data.h config.h libgtopconfig.h
|
||||
|
||||
EXTRA_HFILES=../../glibtop.h
|
||||
EXTRA_HFILES=$(top_srcdir)/glibtop.h
|
||||
|
||||
# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
|
||||
# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
|
||||
|
@@ -171,7 +171,6 @@ rather than using the server.</para>
|
||||
<xi:include href="xml/close.xml"/>
|
||||
<xi:include href="xml/command.xml"/>
|
||||
<xi:include href="xml/glibtop-server.xml"/>
|
||||
<xi:include href="xml/inodedb.xml"/>
|
||||
<xi:include href="xml/netload.xml"/>
|
||||
<xi:include href="xml/ppp.xml"/>
|
||||
<xi:include href="xml/shm_limits.xml"/>
|
||||
|
@@ -73,24 +73,6 @@ glibtop_server_ref
|
||||
glibtop_server_unref
|
||||
</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>
|
||||
<SECTION>
|
||||
<FILE>netload</FILE>
|
||||
@@ -237,17 +219,8 @@ glibtop_set_parameter_l
|
||||
<INCLUDE>glibtop/procargs.h</INCLUDE>
|
||||
<SECTION>
|
||||
<FILE>procargs</FILE>
|
||||
GLIBTOP_PROC_ARGS_SIZE
|
||||
GLIBTOP_MAX_PROC_ARGS
|
||||
glibtop_proc_args
|
||||
glibtop_get_proc_args_l
|
||||
glibtop_get_proc_args
|
||||
glibtop_get_proc_args_r
|
||||
glibtop_init_proc_args_p
|
||||
glibtop_get_proc_args_p
|
||||
glibtop_init_proc_args_s
|
||||
glibtop_get_proc_args_s
|
||||
glibtop_get_proc_argv_l
|
||||
glibtop_get_proc_argv
|
||||
</SECTION>
|
||||
|
||||
@@ -438,26 +411,8 @@ glibtop_get_proc_uid_s
|
||||
<INCLUDE>glibtop/proctime.h</INCLUDE>
|
||||
<SECTION>
|
||||
<FILE>proctime</FILE>
|
||||
GLIBTOP_PROC_TIME_START_TIME
|
||||
GLIBTOP_PROC_TIME_RTIME
|
||||
GLIBTOP_PROC_TIME_UTIME
|
||||
GLIBTOP_PROC_TIME_STIME
|
||||
GLIBTOP_PROC_TIME_CUTIME
|
||||
GLIBTOP_PROC_TIME_CSTIME
|
||||
GLIBTOP_PROC_TIME_TIMEOUT
|
||||
GLIBTOP_PROC_TIME_IT_REAL_VALUE
|
||||
GLIBTOP_PROC_TIME_FREQUENCY
|
||||
GLIBTOP_PROC_TIME_XCPU_UTIME
|
||||
GLIBTOP_PROC_TIME_XCPU_STIME
|
||||
GLIBTOP_MAX_PROC_TIME
|
||||
glibtop_proc_time
|
||||
glibtop_get_proc_time
|
||||
glibtop_get_proc_time_r
|
||||
glibtop_get_proc_time_l
|
||||
glibtop_init_proc_time_p
|
||||
glibtop_get_proc_time_p
|
||||
glibtop_init_proc_time_s
|
||||
glibtop_get_proc_time_s
|
||||
</SECTION>
|
||||
|
||||
<INCLUDE>glibtop/signal.h</INCLUDE>
|
||||
@@ -533,10 +488,6 @@ glibtop_send_version
|
||||
<INCLUDE>glibtop/proclist.h</INCLUDE>
|
||||
<SECTION>
|
||||
<FILE>proclist</FILE>
|
||||
GLIBTOP_PROCLIST_NUMBER
|
||||
GLIBTOP_PROCLIST_TOTAL
|
||||
GLIBTOP_PROCLIST_SIZE
|
||||
GLIBTOP_MAX_PROCLIST
|
||||
GLIBTOP_KERN_PROC_ALL
|
||||
GLIBTOP_KERN_PROC_PID
|
||||
GLIBTOP_KERN_PROC_PGRP
|
||||
@@ -550,12 +501,6 @@ GLIBTOP_EXCLUDE_SYSTEM
|
||||
GLIBTOP_EXCLUDE_NOTTY
|
||||
glibtop_proclist
|
||||
glibtop_get_proclist
|
||||
glibtop_get_proclist_r
|
||||
glibtop_get_proclist_l
|
||||
glibtop_init_proclist_p
|
||||
glibtop_get_proclist_p
|
||||
glibtop_init_proclist_s
|
||||
glibtop_get_proclist_s
|
||||
</SECTION>
|
||||
|
||||
<INCLUDE>glibtop/sem_limits.h</INCLUDE>
|
||||
|
@@ -1,27 +0,0 @@
|
||||
.deps
|
||||
.libs
|
||||
Makefile
|
||||
Makefile.in
|
||||
first
|
||||
first_linux
|
||||
first_static
|
||||
second
|
||||
third
|
||||
third_linux
|
||||
third_static
|
||||
second_static
|
||||
second_linux
|
||||
smp_static sysdeps_static netload_static procmap_static mountlist_static
|
||||
smp sysdeps netload procmap mountlist
|
||||
timings timings_static
|
||||
pprint
|
||||
pprint_static
|
||||
procargs
|
||||
procargs_static
|
||||
proclist
|
||||
df
|
||||
df_static
|
||||
netlist
|
||||
netlist_static
|
||||
openfiles
|
||||
openfiles_static
|
@@ -1,3 +1,11 @@
|
||||
2007-05-19 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* Makefile.am:
|
||||
* mem.c: (main):
|
||||
* wd.c: (main):
|
||||
|
||||
Fixed wd and new simple mem example.
|
||||
|
||||
2006-02-27 Benoît Dejean <benoit@placenet.org>
|
||||
|
||||
* pprint.c: (pprint_get_proc_mem), (main):
|
||||
|
@@ -1,14 +1,16 @@
|
||||
## Process this file with automake to produce Makefile.in
|
||||
|
||||
LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@
|
||||
LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(AM_LDFLAGS) -o $@
|
||||
|
||||
INCLUDES = @INCLUDES@
|
||||
|
||||
DEFS = @DEFS@
|
||||
|
||||
AM_LDFLAGS = $(LIBGTOP_EXTRA_LIBS)
|
||||
|
||||
noinst_PROGRAMS = first second pprint procargs df netlist \
|
||||
mountlist procmap netload sysdeps timings \
|
||||
openfiles smp proclist
|
||||
openfiles smp proclist mem wd affinity
|
||||
|
||||
first_SOURCES = first.c
|
||||
first_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||
@@ -51,3 +53,12 @@ openfiles_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||
|
||||
proclist_SOURCES = proclist.c
|
||||
proclist_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||
|
||||
wd_SOURCES = wd.c
|
||||
wd_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||
|
||||
mem_SOURCE = mem.c
|
||||
mem_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||
|
||||
affinity_SOURCES = affinity.c
|
||||
affinity_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||
|
34
examples/affinity.c
Normal file
34
examples/affinity.c
Normal file
@@ -0,0 +1,34 @@
|
||||
#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;
|
||||
}
|
||||
|
@@ -15,28 +15,35 @@ static void print_fsusage(const char *mountpoint)
|
||||
|
||||
glibtop_get_fsusage(&buf, mountpoint);
|
||||
|
||||
printf("%-20s %-10llu %-10llu %-10llu %.1f\n",
|
||||
printf("%-30s %10llu %10llu %10llu %5.1f %10llu %10llu\n",
|
||||
mountpoint,
|
||||
buf.blocks * buf.block_size >> 20,
|
||||
(buf.blocks - buf.bavail) * buf.block_size >> 20,
|
||||
buf.bavail * buf.block_size >> 20,
|
||||
(buf.blocks - buf.bavail) * 100.0 / buf.blocks
|
||||
(buf.blocks - buf.bavail) * 100.0 / (buf.blocks ? buf.blocks : 1.0),
|
||||
buf.read,
|
||||
buf.write
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
int main()
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
glibtop_mountlist buf;
|
||||
glibtop_mountentry *entries;
|
||||
size_t i;
|
||||
|
||||
glibtop_init();
|
||||
|
||||
printf("%-20s %-10s %-10s %-10s %-10s\n",
|
||||
"Filesystem", "Size", "Used", "Avail", "Use%");
|
||||
printf("%-30s %10s %10s %10s %5s %10s %10s\n",
|
||||
"Filesystem", "Size", "Used", "Avail", "Use%", "Read", "Write");
|
||||
|
||||
entries = glibtop_get_mountlist(&buf, FALSE);
|
||||
if (argc > 1) {
|
||||
while (*++argv)
|
||||
print_fsusage(*argv);
|
||||
} else {
|
||||
glibtop_mountentry *entries;
|
||||
size_t i;
|
||||
|
||||
entries = glibtop_get_mountlist(&buf, TRUE);
|
||||
|
||||
for(i = 0; i < buf.number; ++i)
|
||||
{
|
||||
@@ -44,6 +51,7 @@ int main()
|
||||
}
|
||||
|
||||
g_free(entries);
|
||||
}
|
||||
|
||||
glibtop_close();
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -49,9 +47,9 @@ main (int argc, char *argv [])
|
||||
{
|
||||
glibtop_union data;
|
||||
glibtop_sysdeps sysdeps;
|
||||
unsigned c, method, count, port, i, *ptr;
|
||||
unsigned c, method, count, port, i;
|
||||
char buffer [BUFSIZ];
|
||||
pid_t pid, ppid;
|
||||
pid_t pid, ppid, *ptr;
|
||||
char *args;
|
||||
|
||||
count = PROFILE_COUNT;
|
||||
|
21
examples/mem.c
Normal file
21
examples/mem.c
Normal file
@@ -0,0 +1,21 @@
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/mem.h>
|
||||
|
||||
#include <glib.h>
|
||||
#include <unistd.h>
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
glibtop_mem buf;
|
||||
|
||||
glibtop_init();
|
||||
|
||||
g_print("%lx\n", glibtop_global_server->features);
|
||||
|
||||
glibtop_get_mem(&buf);
|
||||
|
||||
glibtop_close();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
|
@@ -37,9 +37,16 @@ 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);
|
||||
break;
|
||||
|
||||
case GLIBTOP_FILE_TYPE_INET6SOCKET:
|
||||
printf("socket [%s]:%d\n", files[i].info.sock.dest_host, files[i].info.sock.dest_port);
|
||||
break;
|
||||
|
||||
case GLIBTOP_FILE_TYPE_LOCALSOCKET:
|
||||
printf("localsocket %s\n", files[i].info.localsock.name);
|
||||
break;
|
||||
|
||||
default:
|
||||
printf("unknown type\n");
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -11,7 +11,7 @@
|
||||
|
||||
static void print_pids(guint64 which, guint64 arg)
|
||||
{
|
||||
unsigned *pids;
|
||||
pid_t *pids;
|
||||
unsigned i;
|
||||
glibtop_proclist buf;
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -37,9 +35,6 @@
|
||||
|
||||
#include <glibtop/procmap.h>
|
||||
|
||||
#ifdef GLIBTOP_INODEDB
|
||||
#include <glibtop/inodedb.h>
|
||||
#endif
|
||||
|
||||
#include <sys/resource.h>
|
||||
#include <sys/mman.h>
|
||||
@@ -51,9 +46,6 @@
|
||||
int
|
||||
main (int argc, char *argv [])
|
||||
{
|
||||
#ifdef GLIBTOP_INODEDB
|
||||
glibtop_inodedb *inodedb;
|
||||
#endif
|
||||
glibtop_proc_map procmap;
|
||||
glibtop_map_entry *maps;
|
||||
unsigned method, count, port, i;
|
||||
@@ -89,10 +81,6 @@ main (int argc, char *argv [])
|
||||
if ((argc != 2) || (sscanf (argv [1], "%d", (int *) &pid) != 1))
|
||||
g_error ("Usage: %s pid", argv [0]);
|
||||
|
||||
#ifdef GLIBTOP_INODEDB
|
||||
inodedb = glibtop_inodedb_open (0, 0);
|
||||
#endif
|
||||
|
||||
fprintf (stderr, "Getting memory maps for pid %d.\n\n", (int) pid);
|
||||
|
||||
maps = glibtop_get_proc_map (&procmap, pid);
|
||||
@@ -105,12 +93,6 @@ main (int argc, char *argv [])
|
||||
if (maps [i].flags & (1L << GLIBTOP_MAP_ENTRY_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 [1] = (maps [i].perm & GLIBTOP_MAP_PERM_WRITE) ? 'w' : '-';
|
||||
perm [2] = (maps [i].perm & GLIBTOP_MAP_PERM_EXECUTE) ? 'x' : '-';
|
||||
@@ -126,10 +108,10 @@ main (int argc, char *argv [])
|
||||
|
||||
if (sizeof (void*) == 8)
|
||||
format = "%016lx-%016lx %016lx - "
|
||||
"%02x:%02x %08lu - %4s - %s\n";
|
||||
"%02x:%02x %08lu - %5.5s - %s\n";
|
||||
else
|
||||
format = "%08lx-%08lx %08lx - "
|
||||
"%02x:%02x %08lu - %4s - %s\n";
|
||||
"%02x:%02x %08lu - %5.5s - %s\n";
|
||||
|
||||
fprintf (stderr, format,
|
||||
(unsigned long) maps [i].start,
|
||||
@@ -158,9 +140,9 @@ main (int argc, char *argv [])
|
||||
}
|
||||
|
||||
|
||||
g_print("smaps flags:%#llx size:%llu rss:%llu "
|
||||
"shared_clean:%llu shared_dirty:%llu "
|
||||
"private_clean:%llu private_dirty: %llu\n",
|
||||
g_print("smaps flags:%#llx size:%lluKiB rss:%lluKiB "
|
||||
"shared_clean:%lluKib shared_dirty:%lluKiB "
|
||||
"private_clean:%lluKiB private_dirty: %lluKiB\n",
|
||||
maps[i].flags,
|
||||
maps[i].size >> 10,
|
||||
maps[i].rss >> 10,
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -241,7 +239,8 @@ main (int argc, char *argv [])
|
||||
{
|
||||
glibtop_proclist proclist;
|
||||
glibtop_sysdeps sysdeps;
|
||||
unsigned *ptr, pid, i;
|
||||
unsigned i;
|
||||
pid_t *ptr, pid;
|
||||
|
||||
setlocale (LC_ALL, "");
|
||||
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -46,7 +44,7 @@
|
||||
#endif
|
||||
|
||||
#ifndef PROFILE_COUNT_EXPENSIVE
|
||||
#define PROFILE_COUNT_EXPENSIVE 10000L
|
||||
#define PROFILE_COUNT_EXPENSIVE (PROFILE_COUNT / 10)
|
||||
#endif
|
||||
|
||||
#define ELAPSED_UTIME ((unsigned long) elapsed_utime.tv_sec * 1000000 + (unsigned long) elapsed_utime.tv_usec)
|
||||
@@ -75,13 +73,13 @@ int
|
||||
main (int argc, char *argv [])
|
||||
{
|
||||
glibtop_union data;
|
||||
unsigned c, count, *ptr;
|
||||
unsigned c;
|
||||
struct rusage total_start, total_end;
|
||||
struct rusage rusage_start, rusage_end;
|
||||
struct timeval elapsed_utime, elapsed_stime;
|
||||
pid_t pid;
|
||||
|
||||
count = PROFILE_COUNT;
|
||||
pid = getpid ();
|
||||
|
||||
setlocale (LC_ALL, "");
|
||||
bindtextdomain (GETTEXT_PACKAGE, GTOPLOCALEDIR);
|
||||
@@ -186,12 +184,10 @@ main (int argc, char *argv [])
|
||||
(long double) ELAPSED_UTIME / PROFILE_COUNT,
|
||||
(long double) ELAPSED_STIME / PROFILE_COUNT);
|
||||
|
||||
printf ("\n");
|
||||
|
||||
getrusage (RUSAGE_SELF, &rusage_start);
|
||||
|
||||
for (c = 0; c < PROFILE_COUNT_EXPENSIVE; c++) {
|
||||
ptr = glibtop_get_proclist (&data.proclist, 0, 0);
|
||||
pid_t* ptr = glibtop_get_proclist (&data.proclist, 0, 0);
|
||||
g_free (ptr);
|
||||
}
|
||||
|
||||
@@ -209,9 +205,26 @@ main (int argc, char *argv [])
|
||||
(long double) ELAPSED_UTIME / PROFILE_COUNT_EXPENSIVE,
|
||||
(long double) ELAPSED_STIME / PROFILE_COUNT_EXPENSIVE);
|
||||
|
||||
pid = getpid ();
|
||||
getrusage (RUSAGE_SELF, &rusage_start);
|
||||
|
||||
printf ("\n");
|
||||
for (c = 0; c < PROFILE_COUNT_EXPENSIVE; c++) {
|
||||
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);
|
||||
|
||||
@@ -269,6 +282,27 @@ main (int argc, char *argv [])
|
||||
|
||||
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++)
|
||||
glibtop_get_proc_segment (&data.proc_segment, pid);
|
||||
|
||||
@@ -287,6 +321,27 @@ main (int argc, char *argv [])
|
||||
|
||||
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++)
|
||||
glibtop_get_proc_time (&data.proc_time, pid);
|
||||
|
||||
|
35
examples/wd.c
Normal file
35
examples/wd.c
Normal file
@@ -0,0 +1,35 @@
|
||||
#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;
|
||||
}
|
||||
|
@@ -6,7 +6,7 @@ void|loadavg|double(loadavg[3]):ulong(nr_running,nr_tasks,last_pid)
|
||||
void|shm_limits|ulong(shmmax,shmmin,shmmni,shmseg,shmall)
|
||||
void|msg_limits|ulong(msgpool,msgmap,msgmax,msgmnb,msgmni,msgssz,msgtql)
|
||||
void|sem_limits|ulong(semmap,semmni,semmns,semmnu,semmsl,semopm,semume,semusz,semvmx,semaem)
|
||||
unsigned *|proclist|ulong(number,size,total)|long(which,arg)
|
||||
pid_t*|proclist|ulong(number,size,total)|long(which,arg)
|
||||
void|proc_state|str(cmd):char(state):ulong(uid,gid)|pid_t(pid)
|
||||
void|proc_uid|long(uid,euid,gid,egid,pid,ppid,pgrp,session,tty,tpgid,priority,nice)|pid_t(pid)
|
||||
void|proc_mem|long(size,vsize,resident,share,rss,rss_rlim)|pid_t(pid)
|
||||
@@ -22,4 +22,6 @@ void|@fsusage|ulong(blocks,bfree,bavail,files,ffree)|string|mount_dir
|
||||
void|netload|ulong(if_flags,mtu,subnet,address,packets_in,packets_out,packets_total,bytes_in,bytes_out,bytes_total,errors_in,errors_out,errors_total,collisions)|string|interface
|
||||
void|ppp|ulong(state,bytes_in,bytes_out)|ushort(device)
|
||||
char **|netlist|unsigned(number)
|
||||
char **|proc_wd|ulong(number),str(root),str(exe)|pid_t(pid)
|
||||
guint16*|proc_affinity|ulong(number),int(all)|pid_t(pid)
|
||||
|
||||
|
545
glib-tap.mk
Normal file
545
glib-tap.mk
Normal file
@@ -0,0 +1,545 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
|
||||
<head>
|
||||
<title>glib - Low level core library</title>
|
||||
<meta name='generator' content='cgit v0.9.2'/>
|
||||
<meta name='robots' content='index, nofollow'/>
|
||||
<link rel='stylesheet' type='text/css' href='/browse/cgit-gnome.css'/>
|
||||
<link rel='shortcut icon' href='http://www-old.gnome.org/img/logo/foot-16.png'/>
|
||||
<link rel='alternate' title='Atom feed' href='https://git.gnome.org/browse/glib/atom/glib-tap.mk?h=master' type='application/atom+xml'/>
|
||||
</head>
|
||||
<body>
|
||||
<div id="global_domain_bar">
|
||||
<div class="maxwidth">
|
||||
<div class="tab">
|
||||
<a class="root" href="https://www.gnome.org/">GNOME.org</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="page">
|
||||
<div id="logo_bar" class="container_12">
|
||||
<div id="logo" class="grid_3">
|
||||
<a title="Go to home page" href="https://git.gnome.org/"><img src="https://static.gnome.org/img/gnome-git.png" alt="GNOME: Git Repository" /></a>
|
||||
</div>
|
||||
|
||||
<div id="top_bar" class="grid_9">
|
||||
<div class="left">
|
||||
<div class="menu-globalnav-container">
|
||||
<ul id="menu-globalnav" class="menu">
|
||||
<li id="menu-item-1039" class=
|
||||
"menu-item menu-item-type-post_type menu-item-object-page menu-item-1039">
|
||||
<a href="https://git.gnome.org/">Home</a></li>
|
||||
|
||||
<li id="menu-item-1037" class=
|
||||
"menu-item menu-item-type-post_type menu-item-object-page menu-item-1037">
|
||||
<a href="https://wiki.gnome.org/Git">Git Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id='cgit'><table id='header'>
|
||||
<tr>
|
||||
<td class='main'><a href='/browse/'>index</a> : <a title='glib' href='/browse/glib/'>glib</a></td><td class='form'><form method='get' action=''>
|
||||
<select name='h' onchange='this.form.submit();'>
|
||||
<option value='GLIB_1_1_3_MARTIN'>GLIB_1_1_3_MARTIN</option>
|
||||
<option value='GLIB_1_1_4_THREADS'>GLIB_1_1_4_THREADS</option>
|
||||
<option value='GLIB_1_3_HACKS'>GLIB_1_3_HACKS</option>
|
||||
<option value='GLIB_2_15_0'>GLIB_2_15_0</option>
|
||||
<option value='dispatch-data'>dispatch-data</option>
|
||||
<option value='gdbus-daemon'>gdbus-daemon</option>
|
||||
<option value='gdbus-daemon2'>gdbus-daemon2</option>
|
||||
<option value='glib-1-2'>glib-1-2</option>
|
||||
<option value='glib-2-0'>glib-2-0</option>
|
||||
<option value='glib-2-10'>glib-2-10</option>
|
||||
<option value='glib-2-12'>glib-2-12</option>
|
||||
<option value='glib-2-14'>glib-2-14</option>
|
||||
<option value='glib-2-16'>glib-2-16</option>
|
||||
<option value='glib-2-18'>glib-2-18</option>
|
||||
<option value='glib-2-2'>glib-2-2</option>
|
||||
<option value='glib-2-20'>glib-2-20</option>
|
||||
<option value='glib-2-22'>glib-2-22</option>
|
||||
<option value='glib-2-24'>glib-2-24</option>
|
||||
<option value='glib-2-26'>glib-2-26</option>
|
||||
<option value='glib-2-28'>glib-2-28</option>
|
||||
<option value='glib-2-30'>glib-2-30</option>
|
||||
<option value='glib-2-32'>glib-2-32</option>
|
||||
<option value='glib-2-34'>glib-2-34</option>
|
||||
<option value='glib-2-36'>glib-2-36</option>
|
||||
<option value='glib-2-38'>glib-2-38</option>
|
||||
<option value='glib-2-4'>glib-2-4</option>
|
||||
<option value='glib-2-6'>glib-2-6</option>
|
||||
<option value='glib-2-8'>glib-2-8</option>
|
||||
<option value='glib-main-loop'>glib-main-loop</option>
|
||||
<option value='glib-threads'>glib-threads</option>
|
||||
<option value='master' selected='selected'>master</option>
|
||||
<option value='new-gsettings'>new-gsettings</option>
|
||||
<option value='signal-performance'>signal-performance</option>
|
||||
<option value='test/gobjectnew'>test/gobjectnew</option>
|
||||
<option value='tizen/kdbus-dev'>tizen/kdbus-dev</option>
|
||||
<option value='wip/async-io-perf'>wip/async-io-perf</option>
|
||||
<option value='wip/child-catchall'>wip/child-catchall</option>
|
||||
<option value='wip/coverity-fixes'>wip/coverity-fixes</option>
|
||||
<option value='wip/danw/clicert'>wip/danw/clicert</option>
|
||||
<option value='wip/danw/glib.mk'>wip/danw/glib.mk</option>
|
||||
<option value='wip/dbusable'>wip/dbusable</option>
|
||||
<option value='wip/desktop-actions'>wip/desktop-actions</option>
|
||||
<option value='wip/doc-fixes'>wip/doc-fixes</option>
|
||||
<option value='wip/format-errors'>wip/format-errors</option>
|
||||
<option value='wip/free'>wip/free</option>
|
||||
<option value='wip/g-action-print-detailed-name'>wip/g-action-print-detailed-name</option>
|
||||
<option value='wip/gbytes-takeover'>wip/gbytes-takeover</option>
|
||||
<option value='wip/gcleanup'>wip/gcleanup</option>
|
||||
<option value='wip/gcleanup-desrt'>wip/gcleanup-desrt</option>
|
||||
<option value='wip/gdesktopappinfo'>wip/gdesktopappinfo</option>
|
||||
<option value='wip/gicon'>wip/gicon</option>
|
||||
<option value='wip/gnotification'>wip/gnotification</option>
|
||||
<option value='wip/gobjectnew'>wip/gobjectnew</option>
|
||||
<option value='wip/gproperty'>wip/gproperty</option>
|
||||
<option value='wip/gproperty-2'>wip/gproperty-2</option>
|
||||
<option value='wip/gsettings-list'>wip/gsettings-list</option>
|
||||
<option value='wip/gsettings-work'>wip/gsettings-work</option>
|
||||
<option value='wip/gsubprocess'>wip/gsubprocess</option>
|
||||
<option value='wip/gsubprocess-2.36'>wip/gsubprocess-2.36</option>
|
||||
<option value='wip/gsubprocess-desrt'>wip/gsubprocess-desrt</option>
|
||||
<option value='wip/gsubprocess-ostreams'>wip/gsubprocess-ostreams</option>
|
||||
<option value='wip/gutils-splitup'>wip/gutils-splitup</option>
|
||||
<option value='wip/installed-tests'>wip/installed-tests</option>
|
||||
<option value='wip/latest-gsubprocess'>wip/latest-gsubprocess</option>
|
||||
<option value='wip/le-gsubprocess'>wip/le-gsubprocess</option>
|
||||
<option value='wip/linux'>wip/linux</option>
|
||||
<option value='wip/locale-monitor'>wip/locale-monitor</option>
|
||||
<option value='wip/makefile.glib'>wip/makefile.glib</option>
|
||||
<option value='wip/mapped-bytes'>wip/mapped-bytes</option>
|
||||
<option value='wip/new-parser'>wip/new-parser</option>
|
||||
<option value='wip/pcre-jit'>wip/pcre-jit</option>
|
||||
<option value='wip/pcre-mark'>wip/pcre-mark</option>
|
||||
<option value='wip/private-rework-3'>wip/private-rework-3</option>
|
||||
<option value='wip/resources2'>wip/resources2</option>
|
||||
<option value='wip/serializable'>wip/serializable</option>
|
||||
<option value='wip/settings-backend'>wip/settings-backend</option>
|
||||
<option value='wip/subprocess-2013'>wip/subprocess-2013</option>
|
||||
<option value='wip/symbol-visibility'>wip/symbol-visibility</option>
|
||||
<option value='wip/task'>wip/task</option>
|
||||
<option value='wip/test-cleanup'>wip/test-cleanup</option>
|
||||
<option value='wip/threadsafe-qdata'>wip/threadsafe-qdata</option>
|
||||
<option value='wip/unicode-graphemebreak'>wip/unicode-graphemebreak</option>
|
||||
<option value='wip/version-bounds'>wip/version-bounds</option>
|
||||
<option value='wip/win32-source-api'>wip/win32-source-api</option>
|
||||
</select> <input type='submit' name='' value='switch'/></form></td></tr>
|
||||
<tr><td class='sub'>Low level core library</td><td class='sub right'></td></tr></table>
|
||||
<table class='tabs'><tr><td>
|
||||
<a href='/browse/glib/'>summary</a><a href='/browse/glib/refs/'>refs</a><a href='/browse/glib/log/glib-tap.mk'>log</a><a class='active' href='/browse/glib/tree/glib-tap.mk'>tree</a><a href='/browse/glib/commit/glib-tap.mk'>commit</a><a href='/browse/glib/diff/glib-tap.mk'>diff</a></td><td class='form'><form class='right' method='get' action='/browse/glib/log/glib-tap.mk'>
|
||||
<select name='qt'>
|
||||
<option value='grep'>log msg</option>
|
||||
<option value='author'>author</option>
|
||||
<option value='committer'>committer</option>
|
||||
<option value='range'>range</option>
|
||||
</select>
|
||||
<input class='txt' type='text' size='10' name='q' value=''/>
|
||||
<input type='submit' value='search'/>
|
||||
</form>
|
||||
</td></tr></table>
|
||||
<div class='path'>path: <a href='/browse/glib/tree/'>root</a>/<a href='/browse/glib/tree/glib-tap.mk'>glib-tap.mk</a></div><div class='content'>blob: c97bf3f2813a580862c7f73d7dc62b7260a848a9 (<a href='/browse/glib/plain/glib-tap.mk'>plain</a>)
|
||||
<table summary='blob content' class='blob'>
|
||||
<tr><td class='linenumbers'><pre><a class='no' id='n1' name='n1' href='#n1'>1</a>
|
||||
<a class='no' id='n2' name='n2' href='#n2'>2</a>
|
||||
<a class='no' id='n3' name='n3' href='#n3'>3</a>
|
||||
<a class='no' id='n4' name='n4' href='#n4'>4</a>
|
||||
<a class='no' id='n5' name='n5' href='#n5'>5</a>
|
||||
<a class='no' id='n6' name='n6' href='#n6'>6</a>
|
||||
<a class='no' id='n7' name='n7' href='#n7'>7</a>
|
||||
<a class='no' id='n8' name='n8' href='#n8'>8</a>
|
||||
<a class='no' id='n9' name='n9' href='#n9'>9</a>
|
||||
<a class='no' id='n10' name='n10' href='#n10'>10</a>
|
||||
<a class='no' id='n11' name='n11' href='#n11'>11</a>
|
||||
<a class='no' id='n12' name='n12' href='#n12'>12</a>
|
||||
<a class='no' id='n13' name='n13' href='#n13'>13</a>
|
||||
<a class='no' id='n14' name='n14' href='#n14'>14</a>
|
||||
<a class='no' id='n15' name='n15' href='#n15'>15</a>
|
||||
<a class='no' id='n16' name='n16' href='#n16'>16</a>
|
||||
<a class='no' id='n17' name='n17' href='#n17'>17</a>
|
||||
<a class='no' id='n18' name='n18' href='#n18'>18</a>
|
||||
<a class='no' id='n19' name='n19' href='#n19'>19</a>
|
||||
<a class='no' id='n20' name='n20' href='#n20'>20</a>
|
||||
<a class='no' id='n21' name='n21' href='#n21'>21</a>
|
||||
<a class='no' id='n22' name='n22' href='#n22'>22</a>
|
||||
<a class='no' id='n23' name='n23' href='#n23'>23</a>
|
||||
<a class='no' id='n24' name='n24' href='#n24'>24</a>
|
||||
<a class='no' id='n25' name='n25' href='#n25'>25</a>
|
||||
<a class='no' id='n26' name='n26' href='#n26'>26</a>
|
||||
<a class='no' id='n27' name='n27' href='#n27'>27</a>
|
||||
<a class='no' id='n28' name='n28' href='#n28'>28</a>
|
||||
<a class='no' id='n29' name='n29' href='#n29'>29</a>
|
||||
<a class='no' id='n30' name='n30' href='#n30'>30</a>
|
||||
<a class='no' id='n31' name='n31' href='#n31'>31</a>
|
||||
<a class='no' id='n32' name='n32' href='#n32'>32</a>
|
||||
<a class='no' id='n33' name='n33' href='#n33'>33</a>
|
||||
<a class='no' id='n34' name='n34' href='#n34'>34</a>
|
||||
<a class='no' id='n35' name='n35' href='#n35'>35</a>
|
||||
<a class='no' id='n36' name='n36' href='#n36'>36</a>
|
||||
<a class='no' id='n37' name='n37' href='#n37'>37</a>
|
||||
<a class='no' id='n38' name='n38' href='#n38'>38</a>
|
||||
<a class='no' id='n39' name='n39' href='#n39'>39</a>
|
||||
<a class='no' id='n40' name='n40' href='#n40'>40</a>
|
||||
<a class='no' id='n41' name='n41' href='#n41'>41</a>
|
||||
<a class='no' id='n42' name='n42' href='#n42'>42</a>
|
||||
<a class='no' id='n43' name='n43' href='#n43'>43</a>
|
||||
<a class='no' id='n44' name='n44' href='#n44'>44</a>
|
||||
<a class='no' id='n45' name='n45' href='#n45'>45</a>
|
||||
<a class='no' id='n46' name='n46' href='#n46'>46</a>
|
||||
<a class='no' id='n47' name='n47' href='#n47'>47</a>
|
||||
<a class='no' id='n48' name='n48' href='#n48'>48</a>
|
||||
<a class='no' id='n49' name='n49' href='#n49'>49</a>
|
||||
<a class='no' id='n50' name='n50' href='#n50'>50</a>
|
||||
<a class='no' id='n51' name='n51' href='#n51'>51</a>
|
||||
<a class='no' id='n52' name='n52' href='#n52'>52</a>
|
||||
<a class='no' id='n53' name='n53' href='#n53'>53</a>
|
||||
<a class='no' id='n54' name='n54' href='#n54'>54</a>
|
||||
<a class='no' id='n55' name='n55' href='#n55'>55</a>
|
||||
<a class='no' id='n56' name='n56' href='#n56'>56</a>
|
||||
<a class='no' id='n57' name='n57' href='#n57'>57</a>
|
||||
<a class='no' id='n58' name='n58' href='#n58'>58</a>
|
||||
<a class='no' id='n59' name='n59' href='#n59'>59</a>
|
||||
<a class='no' id='n60' name='n60' href='#n60'>60</a>
|
||||
<a class='no' id='n61' name='n61' href='#n61'>61</a>
|
||||
<a class='no' id='n62' name='n62' href='#n62'>62</a>
|
||||
<a class='no' id='n63' name='n63' href='#n63'>63</a>
|
||||
<a class='no' id='n64' name='n64' href='#n64'>64</a>
|
||||
<a class='no' id='n65' name='n65' href='#n65'>65</a>
|
||||
<a class='no' id='n66' name='n66' href='#n66'>66</a>
|
||||
<a class='no' id='n67' name='n67' href='#n67'>67</a>
|
||||
<a class='no' id='n68' name='n68' href='#n68'>68</a>
|
||||
<a class='no' id='n69' name='n69' href='#n69'>69</a>
|
||||
<a class='no' id='n70' name='n70' href='#n70'>70</a>
|
||||
<a class='no' id='n71' name='n71' href='#n71'>71</a>
|
||||
<a class='no' id='n72' name='n72' href='#n72'>72</a>
|
||||
<a class='no' id='n73' name='n73' href='#n73'>73</a>
|
||||
<a class='no' id='n74' name='n74' href='#n74'>74</a>
|
||||
<a class='no' id='n75' name='n75' href='#n75'>75</a>
|
||||
<a class='no' id='n76' name='n76' href='#n76'>76</a>
|
||||
<a class='no' id='n77' name='n77' href='#n77'>77</a>
|
||||
<a class='no' id='n78' name='n78' href='#n78'>78</a>
|
||||
<a class='no' id='n79' name='n79' href='#n79'>79</a>
|
||||
<a class='no' id='n80' name='n80' href='#n80'>80</a>
|
||||
<a class='no' id='n81' name='n81' href='#n81'>81</a>
|
||||
<a class='no' id='n82' name='n82' href='#n82'>82</a>
|
||||
<a class='no' id='n83' name='n83' href='#n83'>83</a>
|
||||
<a class='no' id='n84' name='n84' href='#n84'>84</a>
|
||||
<a class='no' id='n85' name='n85' href='#n85'>85</a>
|
||||
<a class='no' id='n86' name='n86' href='#n86'>86</a>
|
||||
<a class='no' id='n87' name='n87' href='#n87'>87</a>
|
||||
<a class='no' id='n88' name='n88' href='#n88'>88</a>
|
||||
<a class='no' id='n89' name='n89' href='#n89'>89</a>
|
||||
<a class='no' id='n90' name='n90' href='#n90'>90</a>
|
||||
<a class='no' id='n91' name='n91' href='#n91'>91</a>
|
||||
<a class='no' id='n92' name='n92' href='#n92'>92</a>
|
||||
<a class='no' id='n93' name='n93' href='#n93'>93</a>
|
||||
<a class='no' id='n94' name='n94' href='#n94'>94</a>
|
||||
<a class='no' id='n95' name='n95' href='#n95'>95</a>
|
||||
<a class='no' id='n96' name='n96' href='#n96'>96</a>
|
||||
<a class='no' id='n97' name='n97' href='#n97'>97</a>
|
||||
<a class='no' id='n98' name='n98' href='#n98'>98</a>
|
||||
<a class='no' id='n99' name='n99' href='#n99'>99</a>
|
||||
<a class='no' id='n100' name='n100' href='#n100'>100</a>
|
||||
<a class='no' id='n101' name='n101' href='#n101'>101</a>
|
||||
<a class='no' id='n102' name='n102' href='#n102'>102</a>
|
||||
<a class='no' id='n103' name='n103' href='#n103'>103</a>
|
||||
<a class='no' id='n104' name='n104' href='#n104'>104</a>
|
||||
<a class='no' id='n105' name='n105' href='#n105'>105</a>
|
||||
<a class='no' id='n106' name='n106' href='#n106'>106</a>
|
||||
<a class='no' id='n107' name='n107' href='#n107'>107</a>
|
||||
<a class='no' id='n108' name='n108' href='#n108'>108</a>
|
||||
<a class='no' id='n109' name='n109' href='#n109'>109</a>
|
||||
<a class='no' id='n110' name='n110' href='#n110'>110</a>
|
||||
<a class='no' id='n111' name='n111' href='#n111'>111</a>
|
||||
<a class='no' id='n112' name='n112' href='#n112'>112</a>
|
||||
<a class='no' id='n113' name='n113' href='#n113'>113</a>
|
||||
<a class='no' id='n114' name='n114' href='#n114'>114</a>
|
||||
<a class='no' id='n115' name='n115' href='#n115'>115</a>
|
||||
<a class='no' id='n116' name='n116' href='#n116'>116</a>
|
||||
<a class='no' id='n117' name='n117' href='#n117'>117</a>
|
||||
<a class='no' id='n118' name='n118' href='#n118'>118</a>
|
||||
<a class='no' id='n119' name='n119' href='#n119'>119</a>
|
||||
<a class='no' id='n120' name='n120' href='#n120'>120</a>
|
||||
<a class='no' id='n121' name='n121' href='#n121'>121</a>
|
||||
<a class='no' id='n122' name='n122' href='#n122'>122</a>
|
||||
<a class='no' id='n123' name='n123' href='#n123'>123</a>
|
||||
<a class='no' id='n124' name='n124' href='#n124'>124</a>
|
||||
<a class='no' id='n125' name='n125' href='#n125'>125</a>
|
||||
<a class='no' id='n126' name='n126' href='#n126'>126</a>
|
||||
<a class='no' id='n127' name='n127' href='#n127'>127</a>
|
||||
<a class='no' id='n128' name='n128' href='#n128'>128</a>
|
||||
<a class='no' id='n129' name='n129' href='#n129'>129</a>
|
||||
<a class='no' id='n130' name='n130' href='#n130'>130</a>
|
||||
<a class='no' id='n131' name='n131' href='#n131'>131</a>
|
||||
<a class='no' id='n132' name='n132' href='#n132'>132</a>
|
||||
<a class='no' id='n133' name='n133' href='#n133'>133</a>
|
||||
<a class='no' id='n134' name='n134' href='#n134'>134</a>
|
||||
</pre></td>
|
||||
<td class='lines'><pre><code><span class="hl slc"># GLIB - Library of useful C routines</span>
|
||||
|
||||
TESTS_ENVIRONMENT<span class="hl opt">=</span> \
|
||||
G_TEST_SRCDIR<span class="hl opt">=</span><span class="hl str">"$(abs_srcdir)"</span> \
|
||||
G_TEST_BUILDDIR<span class="hl opt">=</span><span class="hl str">"$(abs_builddir)"</span> \
|
||||
G_DEBUG<span class="hl opt">=</span>gc-friendly \
|
||||
MALLOC_CHECK_<span class="hl opt">=</span><span class="hl num">2</span> \
|
||||
MALLOC_PERTURB_<span class="hl opt">=$$(($${</span>RANDOM<span class="hl opt">:-</span><span class="hl num">256</span><span class="hl opt">} %</span> <span class="hl num">256</span><span class="hl opt">))</span>
|
||||
LOG_DRIVER <span class="hl opt">=</span> env AM_TAP_AWK<span class="hl opt">=</span><span class="hl str">'$(AWK)'</span> <span class="hl opt">$(</span>SHELL<span class="hl opt">) $(</span>top_srcdir<span class="hl opt">)/</span>tap-driver.sh
|
||||
LOG_COMPILER <span class="hl opt">= $(</span>top_srcdir<span class="hl opt">)/</span>tap-test
|
||||
|
||||
NULL <span class="hl opt">=</span>
|
||||
|
||||
<span class="hl slc"># initialize variables for unconditional += appending</span>
|
||||
BUILT_SOURCES <span class="hl opt">=</span>
|
||||
BUILT_EXTRA_DIST <span class="hl opt">=</span>
|
||||
CLEANFILES <span class="hl opt">= *</span>.log <span class="hl opt">*</span>.trs
|
||||
DISTCLEANFILES <span class="hl opt">=</span>
|
||||
MAINTAINERCLEANFILES <span class="hl opt">=</span>
|
||||
EXTRA_DIST <span class="hl opt">=</span>
|
||||
TESTS <span class="hl opt">=</span>
|
||||
|
||||
installed_test_LTLIBRARIES <span class="hl opt">=</span>
|
||||
installed_test_PROGRAMS <span class="hl opt">=</span>
|
||||
installed_test_SCRIPTS <span class="hl opt">=</span>
|
||||
nobase_installed_test_DATA <span class="hl opt">=</span>
|
||||
|
||||
noinst_LTLIBRARIES <span class="hl opt">=</span>
|
||||
noinst_PROGRAMS <span class="hl opt">=</span>
|
||||
noinst_SCRIPTS <span class="hl opt">=</span>
|
||||
noinst_DATA <span class="hl opt">=</span>
|
||||
|
||||
check_LTLIBRARIES <span class="hl opt">=</span>
|
||||
check_PROGRAMS <span class="hl opt">=</span>
|
||||
check_SCRIPTS <span class="hl opt">=</span>
|
||||
check_DATA <span class="hl opt">=</span>
|
||||
|
||||
<span class="hl slc"># We support a fairly large range of possible variables. It is expected that all types of files in a test suite</span>
|
||||
<span class="hl slc"># will belong in exactly one of the following variables.</span>
|
||||
<span class="hl slc">#</span>
|
||||
<span class="hl slc"># First, we support the usual automake suffixes, but in lowercase, with the customary meaning:</span>
|
||||
<span class="hl slc">#</span>
|
||||
<span class="hl slc"># test_programs, test_scripts, test_data, test_ltlibraries</span>
|
||||
<span class="hl slc">#</span>
|
||||
<span class="hl slc"># The above are used to list files that are involved in both uninstalled and installed testing. The</span>
|
||||
<span class="hl slc"># test_programs and test_scripts are taken to be actual testcases and will be run as part of the test suite.</span>
|
||||
<span class="hl slc"># Note that _data is always used with the nobase_ automake variable name to ensure that installed test data is</span>
|
||||
<span class="hl slc"># installed in the same way as it appears in the package layout.</span>
|
||||
<span class="hl slc">#</span>
|
||||
<span class="hl slc"># In order to mark a particular file as being only for one type of testing, use 'installed' or 'uninstalled',</span>
|
||||
<span class="hl slc"># like so:</span>
|
||||
<span class="hl slc">#</span>
|
||||
<span class="hl slc"># installed_test_programs, uninstalled_test_programs</span>
|
||||
<span class="hl slc"># installed_test_scripts, uninstalled_test_scripts</span>
|
||||
<span class="hl slc"># installed_test_data, uninstalled_test_data</span>
|
||||
<span class="hl slc"># installed_test_ltlibraries, uninstalled_test_ltlibraries</span>
|
||||
<span class="hl slc">#</span>
|
||||
<span class="hl slc"># Additionally, we support 'extra' infixes for programs and scripts. This is used for support programs/scripts</span>
|
||||
<span class="hl slc"># that should not themselves be run as testcases (but exist to be used from other testcases):</span>
|
||||
<span class="hl slc">#</span>
|
||||
<span class="hl slc"># test_extra_programs, installed_test_extra_programs, uninstalled_test_extra_programs</span>
|
||||
<span class="hl slc"># test_extra_scripts, installed_test_extra_scripts, uninstalled_test_extra_scripts</span>
|
||||
<span class="hl slc">#</span>
|
||||
<span class="hl slc"># Additionally, for _scripts and _data, we support the customary dist_ prefix so that the named script or data</span>
|
||||
<span class="hl slc"># file automatically end up in the tarball.</span>
|
||||
<span class="hl slc">#</span>
|
||||
<span class="hl slc"># dist_test_scripts, dist_test_data, dist_test_extra_scripts</span>
|
||||
<span class="hl slc"># dist_installed_test_scripts, dist_installed_test_data, dist_installed_test_extra_scripts</span>
|
||||
<span class="hl slc"># dist_uninstalled_test_scripts, dist_uninstalled_test_data, dist_uninstalled_test_extra_scripts</span>
|
||||
<span class="hl slc">#</span>
|
||||
<span class="hl slc"># Note that no file is automatically disted unless it appears in one of the dist_ variables. This follows the</span>
|
||||
<span class="hl slc"># standard automake convention of not disting programs scripts or data by default.</span>
|
||||
<span class="hl slc">#</span>
|
||||
<span class="hl slc"># test_programs, test_scripts, uninstalled_test_programs and uninstalled_test_scripts (as well as their disted</span>
|
||||
<span class="hl slc"># variants) will be run as part of the in-tree 'make check'. These are all assumed to be runnable under</span>
|
||||
<span class="hl slc"># gtester. That's a bit strange for scripts, but it's possible.</span>
|
||||
|
||||
TESTS <span class="hl opt">+= $(</span>test_programs<span class="hl opt">) $(</span>test_scripts<span class="hl opt">) $(</span>uninstalled_test_programs<span class="hl opt">) $(</span>uninstalled_test_scripts<span class="hl opt">)</span> \
|
||||
<span class="hl opt">$(</span>dist_test_scripts<span class="hl opt">) $(</span>dist_uninstalled_test_scripts<span class="hl opt">)</span>
|
||||
|
||||
<span class="hl slc"># Note: build even the installed-only targets during 'make check' to ensure that they still work.</span>
|
||||
<span class="hl slc"># We need to do a bit of trickery here and manage disting via EXTRA_DIST instead of using dist_ prefixes to</span>
|
||||
<span class="hl slc"># prevent automake from mistreating gmake functions like $(wildcard ...) and $(addprefix ...) as if they were</span>
|
||||
<span class="hl slc"># filenames, including removing duplicate instances of the opening part before the space, eg. '$(addprefix'.</span>
|
||||
all_test_programs <span class="hl opt">= $(</span>test_programs<span class="hl opt">) $(</span>uninstalled_test_programs<span class="hl opt">) $(</span>installed_test_programs<span class="hl opt">)</span> \
|
||||
<span class="hl opt">$(</span>test_extra_programs<span class="hl opt">) $(</span>uninstalled_test_extra_programs<span class="hl opt">) $(</span>installed_test_extra_programs<span class="hl opt">)</span>
|
||||
all_test_scripts <span class="hl opt">= $(</span>test_scripts<span class="hl opt">) $(</span>uninstalled_test_scripts<span class="hl opt">) $(</span>installed_test_scripts<span class="hl opt">)</span> \
|
||||
<span class="hl opt">$(</span>test_extra_scripts<span class="hl opt">) $(</span>uninstalled_test_extra_scripts<span class="hl opt">) $(</span>installed_test_extra_scripts<span class="hl opt">)</span>
|
||||
all_dist_test_scripts <span class="hl opt">= $(</span>dist_test_scripts<span class="hl opt">) $(</span>dist_uninstalled_test_scripts<span class="hl opt">) $(</span>dist_installed_test_scripts<span class="hl opt">)</span> \
|
||||
<span class="hl opt">$(</span>dist_test_extra_scripts<span class="hl opt">) $(</span>dist_uninstalled_test_extra_scripts<span class="hl opt">) $(</span>dist_installed_test_extra_scripts<span class="hl opt">)</span>
|
||||
all_test_scripts <span class="hl opt">+= $(</span>all_dist_test_scripts<span class="hl opt">)</span>
|
||||
EXTRA_DIST <span class="hl opt">+= $(</span>all_dist_test_scripts<span class="hl opt">)</span>
|
||||
all_test_data <span class="hl opt">= $(</span>test_data<span class="hl opt">) $(</span>uninstalled_test_data<span class="hl opt">) $(</span>installed_test_data<span class="hl opt">)</span>
|
||||
all_dist_test_data <span class="hl opt">= $(</span>dist_test_data<span class="hl opt">) $(</span>dist_uninstalled_test_data<span class="hl opt">) $(</span>dist_installed_test_data<span class="hl opt">)</span>
|
||||
all_test_data <span class="hl opt">+= $(</span>all_dist_test_data<span class="hl opt">)</span>
|
||||
EXTRA_DIST <span class="hl opt">+= $(</span>all_dist_test_data<span class="hl opt">)</span>
|
||||
all_test_ltlibs <span class="hl opt">= $(</span>test_ltlibraries<span class="hl opt">) $(</span>uninstalled_test_ltlibraries<span class="hl opt">) $(</span>installed_test_ltlibraries<span class="hl opt">)</span>
|
||||
|
||||
if ENABLE_ALWAYS_BUILD_TESTS
|
||||
noinst_LTLIBRARIES <span class="hl opt">+= $(</span>all_test_ltlibs<span class="hl opt">)</span>
|
||||
noinst_PROGRAMS <span class="hl opt">+= $(</span>all_test_programs<span class="hl opt">)</span>
|
||||
noinst_SCRIPTS <span class="hl opt">+= $(</span>all_test_scripts<span class="hl opt">)</span>
|
||||
noinst_DATA <span class="hl opt">+= $(</span>all_test_data<span class="hl opt">)</span>
|
||||
<span class="hl kwb">else</span>
|
||||
check_LTLIBRARIES <span class="hl opt">+= $(</span>all_test_ltlibs<span class="hl opt">)</span>
|
||||
check_PROGRAMS <span class="hl opt">+= $(</span>all_test_programs<span class="hl opt">)</span>
|
||||
check_SCRIPTS <span class="hl opt">+= $(</span>all_test_scripts<span class="hl opt">)</span>
|
||||
check_DATA <span class="hl opt">+= $(</span>all_test_data<span class="hl opt">)</span>
|
||||
<span class="hl kwb">endif</span>
|
||||
|
||||
if ENABLE_INSTALLED_TESTS
|
||||
installed_test_PROGRAMS <span class="hl opt">+= $(</span>test_programs<span class="hl opt">) $(</span>installed_test_programs<span class="hl opt">)</span> \
|
||||
<span class="hl opt">$(</span>test_extra_programs<span class="hl opt">) $(</span>installed_test_extra_programs<span class="hl opt">)</span>
|
||||
installed_test_SCRIPTS <span class="hl opt">+= $(</span>test_scripts<span class="hl opt">) $(</span>installed_test_scripts<span class="hl opt">)</span> \
|
||||
<span class="hl opt">$(</span>test_extra_scripts<span class="hl opt">) $(</span>test_installed_extra_scripts<span class="hl opt">)</span>
|
||||
installed_test_SCRIPTS <span class="hl opt">+= $(</span>dist_test_scripts<span class="hl opt">) $(</span>dist_test_extra_scripts<span class="hl opt">)</span> \
|
||||
<span class="hl opt">$(</span>dist_installed_test_scripts<span class="hl opt">) $(</span>dist_installed_test_extra_scripts<span class="hl opt">)</span>
|
||||
nobase_installed_test_DATA <span class="hl opt">+= $(</span>test_data<span class="hl opt">) $(</span>installed_test_data<span class="hl opt">)</span>
|
||||
nobase_installed_test_DATA <span class="hl opt">+= $(</span>dist_test_data<span class="hl opt">) $(</span>dist_installed_test_data<span class="hl opt">)</span>
|
||||
installed_test_LTLIBRARIES <span class="hl opt">+= $(</span>test_ltlibraries<span class="hl opt">) $(</span>installed_test_ltlibraries<span class="hl opt">)</span>
|
||||
installed_testcases <span class="hl opt">= $(</span>test_programs<span class="hl opt">) $(</span>installed_test_programs<span class="hl opt">)</span> \
|
||||
<span class="hl opt">$(</span>test_scripts<span class="hl opt">) $(</span>installed_test_scripts<span class="hl opt">)</span> \
|
||||
<span class="hl opt">$(</span>dist_test_scripts<span class="hl opt">) $(</span>dist_installed_test_scripts<span class="hl opt">)</span>
|
||||
|
||||
installed_test_meta_DATA <span class="hl opt">= $(</span>installed_testcases<span class="hl opt">:=</span>.<span class="hl kwa">test</span><span class="hl opt">)</span>
|
||||
|
||||
<span class="hl opt">%</span>.<span class="hl kwa">test</span><span class="hl opt">: %$(</span>EXEEXT<span class="hl opt">)</span> Makefile
|
||||
<span class="hl opt">$(</span>AM_V_GEN<span class="hl opt">) (</span>echo <span class="hl str">'[Test]'</span> <span class="hl opt">> $</span>@.tmp<span class="hl opt">;</span> \
|
||||
echo <span class="hl str">'Type=session'</span> <span class="hl opt">>> $</span>@.tmp<span class="hl opt">;</span> \
|
||||
echo <span class="hl str">'Exec=$(installed_testdir)/$<'</span> <span class="hl opt">>> $</span>@.tmp<span class="hl opt">;</span> \
|
||||
mv <span class="hl opt">$</span>@.tmp <span class="hl opt">$</span>@<span class="hl opt">)</span>
|
||||
|
||||
CLEANFILES <span class="hl opt">+= $(</span>installed_test_meta_DATA<span class="hl opt">)</span>
|
||||
<span class="hl kwb">endif</span>
|
||||
</code></pre></td></tr></table>
|
||||
</div> <!-- class=content -->
|
||||
</div>
|
||||
<div id="footer_community"></div>
|
||||
|
||||
<div id="footer_grass"></div>
|
||||
|
||||
<div id="footer">
|
||||
<div class="container_13" id="container_12">
|
||||
<div class="links grid_9">
|
||||
<div class="menu-footer-container">
|
||||
<ul id="menu-footer" class="menu">
|
||||
<li id="menu-item-1048" class=
|
||||
"menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-1048">
|
||||
<a href="/">The GNOME Project</a>
|
||||
|
||||
<ul class="sub-menu">
|
||||
<li id="menu-item-1049" class=
|
||||
"menu-item menu-item-type-post_type menu-item-object-page menu-item-1049">
|
||||
<a href="https://www.gnome.org/about/">About Us</a></li>
|
||||
|
||||
<li id="menu-item-1050" class=
|
||||
"menu-item menu-item-type-post_type menu-item-object-page menu-item-1050">
|
||||
<a href="https://www.gnome.org/get-involved/">Get Involved</a></li>
|
||||
|
||||
<li id="menu-item-1051" class=
|
||||
"menu-item menu-item-type-post_type menu-item-object-page menu-item-1051">
|
||||
<a href="https://www.gnome.org/teams/">Teams</a></li>
|
||||
|
||||
<li id="menu-item-1053" class=
|
||||
"menu-item menu-item-type-post_type menu-item-object-page menu-item-1053">
|
||||
<a href="https://www.gnome.org/support-gnome/">Support GNOME</a></li>
|
||||
|
||||
<li id="menu-item-1054" class=
|
||||
"menu-item menu-item-type-post_type menu-item-object-page menu-item-1054">
|
||||
<a href="https://www.gnome.org/contact/">Contact Us</a></li>
|
||||
|
||||
<li id="menu-item-2246" class=
|
||||
"menu-item menu-item-type-post_type menu-item-object-page menu-item-2246">
|
||||
<a href="https://www.gnome.org/foundation/">The GNOME Foundation</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li id="menu-item-1047" class=
|
||||
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1047">
|
||||
<a href="#">Resources</a>
|
||||
|
||||
<ul class="sub-menu">
|
||||
<li id="menu-item-1055" class=
|
||||
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1055">
|
||||
<a href="https://developer.gnome.org">Developer Center</a></li>
|
||||
|
||||
<li id="menu-item-1056" class=
|
||||
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1056">
|
||||
<a href="https://help.gnome.org">Documentation</a></li>
|
||||
|
||||
<li id="menu-item-1057" class=
|
||||
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1057">
|
||||
<a href="https://wiki.gnome.org">Wiki</a></li>
|
||||
|
||||
<li id="menu-item-1058" class=
|
||||
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1058">
|
||||
<a href="https://mail.gnome.org/mailman/listinfo">Mailing Lists</a></li>
|
||||
|
||||
<li id="menu-item-1059" class=
|
||||
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1059">
|
||||
<a href="https://wiki.gnome.org/GnomeIrcChannels">IRC Channels</a></li>
|
||||
|
||||
<li id="menu-item-1060" class=
|
||||
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1060">
|
||||
<a href="https://bugzilla.gnome.org/">Bug Tracker</a></li>
|
||||
|
||||
<li id="menu-item-1061" class=
|
||||
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1061">
|
||||
<a href="https://git.gnome.org/browse/">Development Code</a></li>
|
||||
|
||||
<li id="menu-item-1062" class=
|
||||
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1062">
|
||||
<a href="https://wiki.gnome.org/Jhbuild">Build Tool</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li id="menu-item-1046" class=
|
||||
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1046">
|
||||
<a href="/news">News</a>
|
||||
|
||||
<ul class="sub-menu">
|
||||
<li id="menu-item-1063" class=
|
||||
"menu-item menu-item-type-post_type menu-item-object-page menu-item-1063">
|
||||
<a href="https://www.gnome.org/press/">Press Releases</a></li>
|
||||
|
||||
<li id="menu-item-1064" class=
|
||||
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1064">
|
||||
<a href="https://www.gnome.org/start/stable">Latest Release</a></li>
|
||||
|
||||
<li id="menu-item-1065" class=
|
||||
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1065">
|
||||
<a href="https://planet.gnome.org">Planet GNOME</a></li>
|
||||
|
||||
<li id="menu-item-1067" class=
|
||||
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1067">
|
||||
<a href="https://news.gnome.org">Development News</a></li>
|
||||
|
||||
<li id="menu-item-1068" class=
|
||||
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1068">
|
||||
<a href="https://identi.ca/gnome">Identi.ca</a></li>
|
||||
|
||||
<li id="menu-item-1069" class=
|
||||
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1069">
|
||||
<a href="https://twitter.com/gnome">Twitter</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="footnotes" class="grid_9">
|
||||
<p>Copyright © 2004-2013, <a href="https://www.gnome.org/">The GNOME Project</a>.</p>
|
||||
<br />
|
||||
<small><p>Hosted by <a href="http://www.redhat.com/">Red Hat</a>.
|
||||
Powered by <a href="http://hjemli.net/git/cgit/">cgit</a>.</p>
|
||||
<p>To follow the commits, subscribe to <a href="http://mail.gnome.org/mailman/listinfo/commits-list">commits-list</a>. (can be limited to specific modules)</p></small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> <!-- id=cgit -->
|
||||
</body>
|
||||
</html>
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -24,7 +22,7 @@
|
||||
#ifndef __GLIBTOP_H__
|
||||
#define __GLIBTOP_H__
|
||||
|
||||
#include <glib/gmacros.h>
|
||||
#include <glib.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
|
155
gtk-doc.make
155
gtk-doc.make
@@ -1,155 +0,0 @@
|
||||
# -*- mode: makefile -*-
|
||||
|
||||
####################################
|
||||
# Everything below here is generic #
|
||||
####################################
|
||||
|
||||
if GTK_DOC_USE_LIBTOOL
|
||||
GTKDOC_CC = $(LIBTOOL) --mode=compile $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS)
|
||||
GTKDOC_LD = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS)
|
||||
else
|
||||
GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS)
|
||||
GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS)
|
||||
endif
|
||||
|
||||
# We set GPATH here; this gives us semantics for GNU make
|
||||
# which are more like other make's VPATH, when it comes to
|
||||
# whether a source that is a target of one rule is then
|
||||
# searched for in VPATH/GPATH.
|
||||
#
|
||||
GPATH = $(srcdir)
|
||||
|
||||
TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
|
||||
|
||||
EXTRA_DIST = \
|
||||
$(content_files) \
|
||||
$(HTML_IMAGES) \
|
||||
$(DOC_MAIN_SGML_FILE) \
|
||||
$(DOC_MODULE)-sections.txt \
|
||||
$(DOC_MODULE)-overrides.txt
|
||||
|
||||
DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \
|
||||
$(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp
|
||||
|
||||
SCANOBJ_FILES = \
|
||||
$(DOC_MODULE).args \
|
||||
$(DOC_MODULE).hierarchy \
|
||||
$(DOC_MODULE).interfaces \
|
||||
$(DOC_MODULE).prerequisites \
|
||||
$(DOC_MODULE).signals
|
||||
|
||||
CLEANFILES = $(SCANOBJ_FILES) $(DOC_MODULE)-unused.txt $(DOC_STAMPS)
|
||||
|
||||
if ENABLE_GTK_DOC
|
||||
all-local: html-build.stamp
|
||||
else
|
||||
all-local:
|
||||
endif
|
||||
|
||||
docs: html-build.stamp
|
||||
|
||||
#### scan ####
|
||||
|
||||
scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB)
|
||||
@echo 'gtk-doc: Scanning header files'
|
||||
@-chmod -R u+w $(srcdir)
|
||||
if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null 2>&1 ; then \
|
||||
CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \
|
||||
else \
|
||||
cd $(srcdir) ; \
|
||||
for i in $(SCANOBJ_FILES) ; do \
|
||||
test -f $$i || touch $$i ; \
|
||||
done \
|
||||
fi
|
||||
cd $(srcdir) && \
|
||||
gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES)
|
||||
touch scan-build.stamp
|
||||
|
||||
$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES): scan-build.stamp
|
||||
@true
|
||||
|
||||
#### templates ####
|
||||
|
||||
tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
|
||||
@echo 'gtk-doc: Rebuilding template files'
|
||||
@-chmod -R u+w $(srcdir)
|
||||
cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE) $(MKTMPL_OPTIONS)
|
||||
touch tmpl-build.stamp
|
||||
|
||||
tmpl.stamp: tmpl-build.stamp
|
||||
@true
|
||||
|
||||
#### xml ####
|
||||
|
||||
sgml-build.stamp: tmpl.stamp $(HFILE_GLOB) $(CFILE_GLOB) $(DOC_MODULE)-sections.txt $(srcdir)/tmpl/*.sgml $(expand_content_files)
|
||||
@echo 'gtk-doc: Building XML'
|
||||
@-chmod -R u+w $(srcdir)
|
||||
cd $(srcdir) && \
|
||||
gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $(MKDB_OPTIONS)
|
||||
touch sgml-build.stamp
|
||||
|
||||
sgml.stamp: sgml-build.stamp
|
||||
@true
|
||||
|
||||
#### html ####
|
||||
|
||||
html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
|
||||
@echo 'gtk-doc: Building HTML'
|
||||
@-chmod -R u+w $(srcdir)
|
||||
rm -rf $(srcdir)/html
|
||||
mkdir $(srcdir)/html
|
||||
cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
|
||||
test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html )
|
||||
@echo 'gtk-doc: Fixing cross-references'
|
||||
cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
|
||||
touch html-build.stamp
|
||||
|
||||
##############
|
||||
|
||||
clean-local:
|
||||
rm -f *~ *.bak
|
||||
rm -rf .libs
|
||||
|
||||
maintainer-clean-local: clean
|
||||
cd $(srcdir) && rm -rf xml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
|
||||
|
||||
install-data-local:
|
||||
installfiles=`echo $(srcdir)/html/*`; \
|
||||
if test "$$installfiles" = '$(srcdir)/html/*'; \
|
||||
then echo '-- Nothing to install' ; \
|
||||
else \
|
||||
$(mkinstalldirs) $(DESTDIR)$(TARGET_DIR); \
|
||||
for i in $$installfiles; do \
|
||||
echo '-- Installing '$$i ; \
|
||||
$(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \
|
||||
done; \
|
||||
echo '-- Installing $(srcdir)/html/index.sgml' ; \
|
||||
$(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR) || :; \
|
||||
fi
|
||||
|
||||
uninstall-local:
|
||||
rm -f $(DESTDIR)$(TARGET_DIR)/*
|
||||
|
||||
#
|
||||
# Require gtk-doc when making dist
|
||||
#
|
||||
if ENABLE_GTK_DOC
|
||||
dist-check-gtkdoc:
|
||||
else
|
||||
dist-check-gtkdoc:
|
||||
@echo "*** gtk-doc must be installed and enabled in order to make dist"
|
||||
@false
|
||||
endif
|
||||
|
||||
dist-hook: dist-check-gtkdoc dist-hook-local
|
||||
mkdir $(distdir)/tmpl
|
||||
mkdir $(distdir)/xml
|
||||
mkdir $(distdir)/html
|
||||
-cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
|
||||
-cp $(srcdir)/xml/*.xml $(distdir)/xml
|
||||
-cp $(srcdir)/html/* $(distdir)/html
|
||||
if test -f $(srcdir)/$(DOC_MODULE).types; then \
|
||||
cp $(srcdir)/$(DOC_MODULE).types $(distdir)/$(DOC_MODULE).types; \
|
||||
fi
|
||||
|
||||
.PHONY : dist-hook-local docs
|
@@ -1,2 +0,0 @@
|
||||
Makefile
|
||||
Makefile.in
|
@@ -1,2 +0,0 @@
|
||||
Makefile
|
||||
Makefile.in
|
@@ -7,7 +7,8 @@ glibtop_HEADERS = close.h loadavg.h prockernel.h procstate.h \
|
||||
procsegment.h sysdeps.h global.h \
|
||||
procsignal.h union.h gnuserv.h \
|
||||
parameter.h mountlist.h fsusage.h procmap.h signal.h \
|
||||
inodedb.h sysinfo.h ppp.h procargs.h netload.h \
|
||||
sysinfo.h ppp.h procargs.h netload.h \
|
||||
procwd.h procaffinity.h \
|
||||
netlist.h procopenfiles.h open.h
|
||||
|
||||
noinst_HEADERS = error.h write.h read_data.h read.h init_hooks.h
|
||||
|
@@ -1,7 +1,5 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
@@AUTOGEN_COMMENT@@
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -59,8 +57,10 @@ G_BEGIN_DECLS
|
||||
#define GLIBTOP_CMND_PPP 23
|
||||
#define GLIBTOP_CMND_NETLIST 24
|
||||
#define GLIBTOP_CMND_PROC_OPEN_FILES 25
|
||||
#define GLIBTOP_CMND_PROC_WD 26
|
||||
#define GLIBTOP_CMND_PROC_AFFINITY 27
|
||||
|
||||
#define GLIBTOP_MAX_CMND 26
|
||||
#define GLIBTOP_MAX_CMND 28
|
||||
|
||||
#define _GLIBTOP_PARAM_SIZE 16
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -94,10 +92,10 @@ void glibtop_get_cpu(glibtop_cpu *buf);
|
||||
void glibtop_get_cpu_l (glibtop *server, glibtop_cpu *buf);
|
||||
|
||||
#if GLIBTOP_SUID_CPU
|
||||
void glibtop_init_cpu_p (glibtop *server);
|
||||
void _glibtop_init_cpu_p (glibtop *server);
|
||||
void glibtop_get_cpu_p (glibtop *server, glibtop_cpu *buf);
|
||||
#else
|
||||
void glibtop_init_cpu_s (glibtop *server);
|
||||
void _glibtop_init_cpu_s (glibtop *server);
|
||||
void glibtop_get_cpu_s (glibtop *server, glibtop_cpu *buf);
|
||||
#endif
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -33,20 +31,20 @@
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
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) G_GNUC_INTERNAL;
|
||||
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) G_GNUC_INTERNAL;
|
||||
void glibtop_error_vr (glibtop *server, const char *format, va_list args) G_GNUC_NORETURN;
|
||||
void glibtop_warn_vr (glibtop *server, const char *format, va_list args);
|
||||
void glibtop_error_io_vr (glibtop *server, const char *format, int, va_list args) G_GNUC_NORETURN;
|
||||
void glibtop_warn_io_vr (glibtop *server, const char *format, int, va_list args);
|
||||
|
||||
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_INTERNAL G_GNUC_PRINTF(2, 3);
|
||||
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_INTERNAL G_GNUC_PRINTF(2, 3);
|
||||
void glibtop_error_r (glibtop *server, const char *format, ...) G_GNUC_PRINTF(2, 3) G_GNUC_NORETURN;
|
||||
void glibtop_warn_r (glibtop *server, const char *format, ...) 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_warn_io_r (glibtop *server, const char *format, ...) G_GNUC_PRINTF(2, 3);
|
||||
|
||||
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_INTERNAL G_GNUC_PRINTF(1, 2);
|
||||
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_INTERNAL G_GNUC_PRINTF(1, 2);
|
||||
void glibtop_error (const char *format, ...) G_GNUC_PRINTF(1, 2) G_GNUC_NORETURN;
|
||||
void glibtop_warn (const char *format, ...) G_GNUC_PRINTF(1, 2);
|
||||
void glibtop_error_io (const char *format, ...) G_GNUC_PRINTF(1, 2) G_GNUC_NORETURN;
|
||||
void glibtop_warn_io (const char *format, ...) G_GNUC_PRINTF(1, 2);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
|
||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
||||
|
@@ -1,70 +0,0 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
/* 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
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
|
@@ -5,10 +5,10 @@
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
typedef void (*glibtop_init_func_t)(glibtop *);
|
||||
typedef void (*_glibtop_init_func_t)(glibtop *);
|
||||
|
||||
extern const glibtop_init_func_t _glibtop_init_hook_s[];
|
||||
extern const glibtop_init_func_t _glibtop_init_hook_p[];
|
||||
extern const _glibtop_init_func_t _glibtop_init_hook_s[];
|
||||
extern const _glibtop_init_func_t _glibtop_init_hook_p[];
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
|
@@ -1,67 +0,0 @@
|
||||
/* 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
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -58,10 +56,10 @@ void glibtop_get_loadavg(glibtop_loadavg *buf);
|
||||
void glibtop_get_loadavg_l (glibtop *server, glibtop_loadavg *buf);
|
||||
|
||||
#if GLIBTOP_SUID_LOADAVG
|
||||
void glibtop_init_loadavg_p (glibtop *server);
|
||||
void _glibtop_init_loadavg_p (glibtop *server);
|
||||
void glibtop_get_loadavg_p (glibtop *server, glibtop_loadavg *buf);
|
||||
#else
|
||||
void glibtop_init_loadavg_s (glibtop *server);
|
||||
void _glibtop_init_loadavg_s (glibtop *server);
|
||||
void glibtop_get_loadavg_s (glibtop *server, glibtop_loadavg *buf);
|
||||
#endif
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -66,10 +64,10 @@ void glibtop_get_mem(glibtop_mem *buf);
|
||||
void glibtop_get_mem_l (glibtop *server, glibtop_mem *buf);
|
||||
|
||||
#if GLIBTOP_SUID_MEM
|
||||
void glibtop_init_mem_p (glibtop *server);
|
||||
void _glibtop_init_mem_p (glibtop *server);
|
||||
void glibtop_get_mem_p (glibtop *server, glibtop_mem *buf);
|
||||
#else
|
||||
void glibtop_init_mem_s (glibtop *server);
|
||||
void _glibtop_init_mem_s (glibtop *server);
|
||||
void glibtop_get_mem_s (glibtop *server, glibtop_mem *buf);
|
||||
#endif
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -64,10 +62,10 @@ void glibtop_get_msg_limits(glibtop_msg_limits *buf);
|
||||
void glibtop_get_msg_limits_l (glibtop *server, glibtop_msg_limits *buf);
|
||||
|
||||
#if GLIBTOP_SUID_MSG_LIMITS
|
||||
void glibtop_init_msg_limits_p (glibtop *server);
|
||||
void _glibtop_init_msg_limits_p (glibtop *server);
|
||||
void glibtop_get_msg_limits_p (glibtop *server, glibtop_msg_limits *buf);
|
||||
#else
|
||||
void glibtop_init_msg_limits_s (glibtop *server);
|
||||
void _glibtop_init_msg_limits_s (glibtop *server);
|
||||
void glibtop_get_msg_limits_s (glibtop *server, glibtop_msg_limits *buf);
|
||||
#endif
|
||||
|
||||
|
@@ -48,10 +48,10 @@ char** glibtop_get_netlist(glibtop_netlist *buf);
|
||||
char** glibtop_get_netlist_l (glibtop *server, glibtop_netlist *buf);
|
||||
|
||||
#if GLIBTOP_SUID_NETLIST
|
||||
void glibtop_init_netlist_p (glibtop *server);
|
||||
void _glibtop_init_netlist_p (glibtop *server);
|
||||
char** glibtop_get_netlist_p (glibtop *server, glibtop_netlist *buf);
|
||||
#else
|
||||
void glibtop_init_netlist_s (glibtop *server);
|
||||
void _glibtop_init_netlist_s (glibtop *server);
|
||||
char** glibtop_get_netlist_s (glibtop *server, glibtop_netlist *buf);
|
||||
#endif
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -119,10 +117,10 @@ void glibtop_get_netload(glibtop_netload *buf, const char *interface);
|
||||
void glibtop_get_netload_l (glibtop *server, glibtop_netload *buf, const char *interface);
|
||||
|
||||
#if GLIBTOP_SUID_NETLOAD
|
||||
void glibtop_init_netload_p (glibtop *server);
|
||||
void _glibtop_init_netload_p (glibtop *server);
|
||||
void glibtop_get_netload_p (glibtop *server, glibtop_netload *buf, const char *interface);
|
||||
#else
|
||||
void glibtop_init_netload_s (glibtop *server);
|
||||
void _glibtop_init_netload_s (glibtop *server);
|
||||
void glibtop_get_netload_s (glibtop *server, glibtop_netload *buf, const char *interface);
|
||||
#endif
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -62,10 +60,10 @@ void glibtop_get_ppp(glibtop_ppp *buf, unsigned short device);
|
||||
void glibtop_get_ppp_l (glibtop *server, glibtop_ppp *buf, unsigned short device);
|
||||
|
||||
#if GLIBTOP_SUID_PPP
|
||||
void glibtop_init_ppp_p (glibtop *server);
|
||||
void _glibtop_init_ppp_p (glibtop *server);
|
||||
void glibtop_get_ppp_p (glibtop *server, glibtop_ppp *buf, unsigned short device);
|
||||
#else
|
||||
void glibtop_init_ppp_s (glibtop *server);
|
||||
void _glibtop_init_ppp_s (glibtop *server);
|
||||
void glibtop_get_ppp_s (glibtop *server, glibtop_ppp *buf, unsigned short device);
|
||||
#endif
|
||||
|
||||
|
61
include/glibtop/procaffinity.h
Normal file
61
include/glibtop/procaffinity.h
Normal file
@@ -0,0 +1,61 @@
|
||||
/* Copyright (C) 2007 Benoît Dejean
|
||||
This file is part of LibGTop 2.
|
||||
|
||||
LibGTop is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with LibGTop; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_PROCAFFINITY_H__
|
||||
#define __GLIBTOP_PROCAFFINITY_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
typedef struct _glibtop_proc_affinity glibtop_proc_affinity;
|
||||
|
||||
#define GLIBTOP_PROC_AFFINITY_NUMBER 0
|
||||
#define GLIBTOP_PROC_AFFINITY_ALL 1
|
||||
|
||||
struct _glibtop_proc_affinity
|
||||
{
|
||||
guint64 flags;
|
||||
guint32 number;
|
||||
gboolean all;
|
||||
};
|
||||
|
||||
|
||||
guint16 * glibtop_get_proc_affinity(glibtop_proc_affinity *buf, pid_t pid);
|
||||
guint16 * glibtop_get_proc_affinity_l(glibtop *server, glibtop_proc_affinity *buf, pid_t pid);
|
||||
|
||||
|
||||
#if GLIBTOP_SUID_PROC_AFFINITY
|
||||
|
||||
#define glibtop_get_proc_affinity_r glibtop_get_proc_affinity_p
|
||||
void _glibtop_init_proc_affinity_p(glibtop *server);
|
||||
guint16 * glibtop_get_proc_affinity_p(glibtop *server, glibtop_proc_affinity *buf, pid_t pid);
|
||||
|
||||
#else
|
||||
|
||||
#define glibtop_get_proc_affinity_r glibtop_get_proc_affinity_s
|
||||
void _glibtop_init_proc_affinity_s(glibtop *server);
|
||||
guint16 * glibtop_get_proc_affinity_s(glibtop *server, glibtop_proc_affinity *buf, pid_t pid);
|
||||
|
||||
#endif
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -53,7 +51,7 @@ glibtop_get_proc_args (glibtop_proc_args *buf, pid_t pid, unsigned max_len);
|
||||
|
||||
# define glibtop_get_proc_args_r glibtop_get_proc_args_p
|
||||
|
||||
void glibtop_init_proc_args_p (glibtop *server);
|
||||
void _glibtop_init_proc_args_p (glibtop *server);
|
||||
|
||||
char *
|
||||
glibtop_get_proc_args_p (glibtop *server, glibtop_proc_args *buf,
|
||||
@@ -64,7 +62,7 @@ glibtop_get_proc_args (glibtop_proc_args *buf, pid_t pid, unsigned max_len);
|
||||
|
||||
# define glibtop_get_proc_args_r glibtop_get_proc_args_s
|
||||
|
||||
void glibtop_init_proc_args_s (glibtop *server);
|
||||
void _glibtop_init_proc_args_s (glibtop *server);
|
||||
|
||||
char *
|
||||
glibtop_get_proc_args_s (glibtop *server, glibtop_proc_args *buf,
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -75,10 +73,10 @@ void glibtop_get_proc_kernel(glibtop_proc_kernel *buf, pid_t pid);
|
||||
void glibtop_get_proc_kernel_l (glibtop *server, glibtop_proc_kernel *buf, pid_t pid);
|
||||
|
||||
#if GLIBTOP_SUID_PROC_KERNEL
|
||||
void glibtop_init_proc_kernel_p (glibtop *server);
|
||||
void _glibtop_init_proc_kernel_p (glibtop *server);
|
||||
void glibtop_get_proc_kernel_p (glibtop *server, glibtop_proc_kernel *buf, pid_t pid);
|
||||
#else
|
||||
void glibtop_init_proc_kernel_s (glibtop *server);
|
||||
void _glibtop_init_proc_kernel_s (glibtop *server);
|
||||
void glibtop_get_proc_kernel_s (glibtop *server, glibtop_proc_kernel *buf, pid_t pid);
|
||||
#endif
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -38,22 +36,89 @@ G_BEGIN_DECLS
|
||||
/* You can use the folowing constants as the `which' member of
|
||||
* 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
|
||||
|
||||
/**
|
||||
* GLIBTOP_KERN_PROC_PGRP:
|
||||
*
|
||||
* Return all processes in the process group passed in @arg.
|
||||
**/
|
||||
#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
|
||||
|
||||
/**
|
||||
* 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
|
||||
|
||||
/**
|
||||
* GLIBTOP_KERN_PROC_UID:
|
||||
*
|
||||
* Return all processes with the effective uid passed in @arg.
|
||||
**/
|
||||
#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_MASK 15
|
||||
|
||||
|
||||
/**
|
||||
* GLIBTOP_EXCLUDE_IDLE:
|
||||
*
|
||||
* Exclude idle processes.
|
||||
**/
|
||||
#define GLIBTOP_EXCLUDE_IDLE 0x1000
|
||||
|
||||
/**
|
||||
* GLIBTOP_EXCLUDE_SYSTEM:
|
||||
*
|
||||
* Exclude system (on most UNIXes root's) processes.
|
||||
**/
|
||||
#define GLIBTOP_EXCLUDE_SYSTEM 0x2000
|
||||
|
||||
/**
|
||||
* GLIBTOP_EXCLUDE_NOTTY:
|
||||
*
|
||||
* Exclude processes without a controlling terminal.
|
||||
**/
|
||||
#define GLIBTOP_EXCLUDE_NOTTY 0x4000
|
||||
|
||||
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
|
||||
{
|
||||
guint64 flags;
|
||||
@@ -62,7 +127,7 @@ struct _glibtop_proclist
|
||||
guint64 size; /* GLIBTOP_PROCLIST_SIZE */
|
||||
};
|
||||
|
||||
unsigned *
|
||||
pid_t*
|
||||
glibtop_get_proclist(glibtop_proclist *buf, gint64 which, gint64 arg);
|
||||
|
||||
#if GLIBTOP_SUID_PROCLIST
|
||||
@@ -71,20 +136,20 @@ glibtop_get_proclist(glibtop_proclist *buf, gint64 which, gint64 arg);
|
||||
#define glibtop_get_proclist_r glibtop_get_proclist_s
|
||||
#endif
|
||||
|
||||
unsigned *
|
||||
pid_t*
|
||||
glibtop_get_proclist_l (glibtop *server, glibtop_proclist *buf,
|
||||
gint64 which, gint64 arg);
|
||||
|
||||
#if GLIBTOP_SUID_PROCLIST
|
||||
void glibtop_init_proclist_p (glibtop *server);
|
||||
void _glibtop_init_proclist_p (glibtop *server);
|
||||
|
||||
unsigned *
|
||||
pid_t*
|
||||
glibtop_get_proclist_p (glibtop *server, glibtop_proclist *buf,
|
||||
gint64 which, gint64 arg);
|
||||
#else
|
||||
void glibtop_init_proclist_s (glibtop *server);
|
||||
void _glibtop_init_proclist_s (glibtop *server);
|
||||
|
||||
unsigned *
|
||||
pid_t*
|
||||
glibtop_get_proclist_s (glibtop *server, glibtop_proclist *buf,
|
||||
gint64 which, gint64 arg);
|
||||
#endif
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -104,12 +102,12 @@ glibtop_map_entry *
|
||||
glibtop_get_proc_map_l (glibtop *server, glibtop_proc_map *buf, pid_t pid);
|
||||
|
||||
#if GLIBTOP_SUID_PROC_MAP
|
||||
void glibtop_init_proc_map_p (glibtop *server);
|
||||
void _glibtop_init_proc_map_p (glibtop *server);
|
||||
|
||||
glibtop_map_entry *
|
||||
glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf, pid_t pid);
|
||||
#else
|
||||
void glibtop_init_proc_map_s (glibtop *server);
|
||||
void _glibtop_init_proc_map_s (glibtop *server);
|
||||
|
||||
glibtop_map_entry *
|
||||
glibtop_get_proc_map_s (glibtop *server, glibtop_proc_map *buf, pid_t pid);
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -66,10 +64,10 @@ void glibtop_get_proc_mem(glibtop_proc_mem *buf, pid_t pid);
|
||||
void glibtop_get_proc_mem_l (glibtop *server, glibtop_proc_mem *buf, pid_t pid);
|
||||
|
||||
#if GLIBTOP_SUID_PROC_MEM
|
||||
void glibtop_init_proc_mem_p (glibtop *server);
|
||||
void _glibtop_init_proc_mem_p (glibtop *server);
|
||||
void glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_mem *buf, pid_t pid);
|
||||
#else
|
||||
void glibtop_init_proc_mem_s (glibtop *server);
|
||||
void _glibtop_init_proc_mem_s (glibtop *server);
|
||||
void glibtop_get_proc_mem_s (glibtop *server, glibtop_proc_mem *buf, pid_t pid);
|
||||
#endif
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
Copyright (C) 2004 Nicolás Lichtmaier
|
||||
This file is part of LibGTop 1.0.
|
||||
@@ -55,7 +53,8 @@ enum glibtop_file_type {
|
||||
GLIBTOP_FILE_TYPE_FILE = 1,
|
||||
GLIBTOP_FILE_TYPE_PIPE = 2,
|
||||
GLIBTOP_FILE_TYPE_INETSOCKET = 4,
|
||||
GLIBTOP_FILE_TYPE_LOCALSOCKET = 8
|
||||
GLIBTOP_FILE_TYPE_LOCALSOCKET = 8,
|
||||
GLIBTOP_FILE_TYPE_INET6SOCKET = 16
|
||||
};
|
||||
|
||||
typedef struct _glibtop_open_files_entry glibtop_open_files_entry;
|
||||
@@ -67,7 +66,8 @@ struct _glibtop_open_files_entry
|
||||
int fd;
|
||||
guint16 type; /* An "enum glibtop_file_type" value. */
|
||||
union {
|
||||
/* When type == GLIBTOP_FILE_TYPE_INETSOCKET */
|
||||
/* When type == GLIBTOP_FILE_TYPE_INETSOCKET or
|
||||
* when type == GLIBTOP_FILE_TYPE_INET6SOCKET */
|
||||
struct {
|
||||
char dest_host[GLIBTOP_OPEN_DEST_HOST_LEN+1];
|
||||
int dest_port;
|
||||
@@ -107,12 +107,12 @@ glibtop_open_files_entry *
|
||||
glibtop_get_proc_open_files_l (glibtop *server, glibtop_proc_open_files *buf, pid_t pid);
|
||||
|
||||
#if GLIBTOP_SUID_PROC_FILE
|
||||
void glibtop_init_proc_open_files_p (glibtop *server);
|
||||
void _glibtop_init_proc_open_files_p (glibtop *server);
|
||||
|
||||
glibtop_open_files_entry *
|
||||
glibtop_get_proc_open_files_p (glibtop *server, glibtop_proc_open_files *buf, pid_t pid);
|
||||
#else
|
||||
void glibtop_init_proc_open_files_s (glibtop *server);
|
||||
void _glibtop_init_proc_open_files_s (glibtop *server);
|
||||
|
||||
glibtop_open_files_entry *
|
||||
glibtop_get_proc_open_files_s (glibtop *server, glibtop_proc_open_files *buf, pid_t pid);
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -69,10 +67,10 @@ void glibtop_get_proc_segment(glibtop_proc_segment *buf, pid_t pid);
|
||||
void glibtop_get_proc_segment_l (glibtop *server, glibtop_proc_segment *buf, pid_t pid);
|
||||
|
||||
#if GLIBTOP_SUID_PROC_SEGMENT
|
||||
void glibtop_init_proc_segment_p (glibtop *server);
|
||||
void _glibtop_init_proc_segment_p (glibtop *server);
|
||||
void glibtop_get_proc_segment_p (glibtop *server, glibtop_proc_segment *buf, pid_t pid);
|
||||
#else
|
||||
void glibtop_init_proc_segment_s (glibtop *server);
|
||||
void _glibtop_init_proc_segment_s (glibtop *server);
|
||||
void glibtop_get_proc_segment_s (glibtop *server, glibtop_proc_segment *buf, pid_t pid);
|
||||
#endif
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -60,10 +58,10 @@ void glibtop_get_proc_signal(glibtop_proc_signal *buf, pid_t pid);
|
||||
void glibtop_get_proc_signal_l (glibtop *server, glibtop_proc_signal *buf, pid_t pid);
|
||||
|
||||
#if GLIBTOP_SUID_PROC_SIGNAL
|
||||
void glibtop_init_proc_signal_p (glibtop *server);
|
||||
void _glibtop_init_proc_signal_p (glibtop *server);
|
||||
void glibtop_get_proc_signal_p (glibtop *server, glibtop_proc_signal *buf, pid_t pid);
|
||||
#else
|
||||
void glibtop_init_proc_signal_s (glibtop *server);
|
||||
void _glibtop_init_proc_signal_s (glibtop *server);
|
||||
void glibtop_get_proc_signal_s (glibtop *server, glibtop_proc_signal *buf, pid_t pid);
|
||||
#endif
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -84,10 +82,10 @@ void glibtop_get_proc_state(glibtop_proc_state *buf, pid_t pid);
|
||||
void glibtop_get_proc_state_l (glibtop *server, glibtop_proc_state *buf, pid_t pid);
|
||||
|
||||
#if GLIBTOP_SUID_PROC_STATE
|
||||
void glibtop_init_proc_state_p (glibtop *server);
|
||||
void _glibtop_init_proc_state_p (glibtop *server);
|
||||
void glibtop_get_proc_state_p (glibtop *server, glibtop_proc_state *buf, pid_t pid);
|
||||
#else
|
||||
void glibtop_init_proc_state_s (glibtop *server);
|
||||
void _glibtop_init_proc_state_s (glibtop *server);
|
||||
void glibtop_get_proc_state_s (glibtop *server, glibtop_proc_state *buf, pid_t pid);
|
||||
#endif
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -48,26 +46,50 @@ typedef struct _glibtop_proc_time glibtop_proc_time;
|
||||
|
||||
/* 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
|
||||
{
|
||||
/*< private >*/
|
||||
guint64 flags;
|
||||
guint64 start_time; /* start time of process --
|
||||
* seconds since 1-1-70 */
|
||||
guint64 rtime; /* real time accumulated by process */
|
||||
guint64 utime; /* user-mode CPU time accumulated by process */
|
||||
guint64 stime; /* kernel-mode CPU time accumulated by process */
|
||||
guint64 cutime; /* cumulative utime of process and
|
||||
* reaped children */
|
||||
guint64 cstime; /* cumulative stime of process and
|
||||
* reaped children */
|
||||
guint64 timeout; /* The time (in jiffies) of the process's
|
||||
* next timeout */
|
||||
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. */
|
||||
/*< public >*/
|
||||
guint64 start_time;
|
||||
guint64 rtime;
|
||||
guint64 utime;
|
||||
guint64 stime;
|
||||
guint64 cutime;
|
||||
guint64 cstime;
|
||||
guint64 timeout;
|
||||
guint64 it_real_value;
|
||||
guint64 frequency;
|
||||
guint64 xcpu_utime [GLIBTOP_NCPU];
|
||||
guint64 xcpu_stime [GLIBTOP_NCPU];
|
||||
};
|
||||
|
||||
|
||||
@@ -82,10 +104,10 @@ void glibtop_get_proc_time(glibtop_proc_time *buf, pid_t pid);
|
||||
void glibtop_get_proc_time_l (glibtop *server, glibtop_proc_time *buf, pid_t pid);
|
||||
|
||||
#if GLIBTOP_SUID_PROC_TIME
|
||||
void glibtop_init_proc_time_p (glibtop *server);
|
||||
void _glibtop_init_proc_time_p (glibtop *server);
|
||||
void glibtop_get_proc_time_p (glibtop *server, glibtop_proc_time *buf, pid_t pid);
|
||||
#else
|
||||
void glibtop_init_proc_time_s (glibtop *server);
|
||||
void _glibtop_init_proc_time_s (glibtop *server);
|
||||
void glibtop_get_proc_time_s (glibtop *server, glibtop_proc_time *buf, pid_t pid);
|
||||
#endif
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -91,10 +89,10 @@ void glibtop_get_proc_uid(glibtop_proc_uid *buf, pid_t pid);
|
||||
void glibtop_get_proc_uid_l (glibtop *server, glibtop_proc_uid *buf, pid_t pid);
|
||||
|
||||
#if GLIBTOP_SUID_PROC_UID
|
||||
void glibtop_init_proc_uid_p (glibtop *server);
|
||||
void _glibtop_init_proc_uid_p (glibtop *server);
|
||||
void glibtop_get_proc_uid_p (glibtop *server, glibtop_proc_uid *buf, pid_t pid);
|
||||
#else
|
||||
void glibtop_init_proc_uid_s (glibtop *server);
|
||||
void _glibtop_init_proc_uid_s (glibtop *server);
|
||||
void glibtop_get_proc_uid_s (glibtop *server, glibtop_proc_uid *buf, pid_t pid);
|
||||
#endif
|
||||
|
||||
|
69
include/glibtop/procwd.h
Normal file
69
include/glibtop/procwd.h
Normal file
@@ -0,0 +1,69 @@
|
||||
/* Copyright (C) 2007 Benoît Dejean
|
||||
This file is part of LibGTop 2.
|
||||
|
||||
LibGTop is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with LibGTop; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GLIBTOP_PROCWD_H__
|
||||
#define __GLIBTOP_PROCWD_H__
|
||||
|
||||
#include <glibtop.h>
|
||||
#include <glibtop/global.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
typedef struct _glibtop_proc_wd glibtop_proc_wd;
|
||||
|
||||
#define GLIBTOP_PROC_WD_NUMBER 0
|
||||
#define GLIBTOP_PROC_WD_ROOT 1
|
||||
#define GLIBTOP_PROC_WD_EXE 2
|
||||
#define GLIBTOP_PROC_WD_MAX 3
|
||||
|
||||
#define GLIBTOP_PROC_WD_ROOT_LEN 215
|
||||
#define GLIBTOP_PROC_WD_EXE_LEN 215
|
||||
|
||||
struct _glibtop_proc_wd
|
||||
{
|
||||
guint64 flags;
|
||||
guint32 number;
|
||||
char root[GLIBTOP_PROC_WD_ROOT_LEN+1];
|
||||
char exe[GLIBTOP_PROC_WD_EXE_LEN+1];
|
||||
};
|
||||
|
||||
|
||||
char ** glibtop_get_proc_wd(glibtop_proc_wd *buf, pid_t pid);
|
||||
char ** glibtop_get_proc_wd_l(glibtop *server, glibtop_proc_wd *buf, pid_t pid);
|
||||
|
||||
|
||||
#if GLIBTOP_SUID_PROC_WD
|
||||
|
||||
#define glibtop_get_proc_wd_r glibtop_get_proc_wd_p
|
||||
void _glibtop_init_proc_wd_p(glibtop *server);
|
||||
char ** glibtop_get_proc_wd_p(glibtop *server, glibtop_proc_wd *buf, pid_t pid);
|
||||
|
||||
#else
|
||||
|
||||
#define glibtop_get_proc_wd_r glibtop_get_proc_wd_s
|
||||
void _glibtop_init_proc_wd_s(glibtop *server);
|
||||
char ** glibtop_get_proc_wd_s(glibtop *server, glibtop_proc_wd *buf, pid_t pid);
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -70,10 +68,10 @@ void glibtop_get_sem_limits(glibtop_sem_limits *buf);
|
||||
void glibtop_get_sem_limits_l (glibtop *server, glibtop_sem_limits *buf);
|
||||
|
||||
#if GLIBTOP_SUID_SEM_LIMITS
|
||||
void glibtop_init_sem_limits_p (glibtop *server);
|
||||
void _glibtop_init_sem_limits_p (glibtop *server);
|
||||
void glibtop_get_sem_limits_p (glibtop *server, glibtop_sem_limits *buf);
|
||||
#else
|
||||
void glibtop_init_sem_limits_s (glibtop *server);
|
||||
void _glibtop_init_sem_limits_s (glibtop *server);
|
||||
void glibtop_get_sem_limits_s (glibtop *server, glibtop_sem_limits *buf);
|
||||
#endif
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -60,10 +58,10 @@ void glibtop_get_shm_limits(glibtop_shm_limits *buf);
|
||||
void glibtop_get_shm_limits_l (glibtop *server, glibtop_shm_limits *buf);
|
||||
|
||||
#if GLIBTOP_SUID_SHM_LIMITS
|
||||
void glibtop_init_shm_limits_p (glibtop *server);
|
||||
void _glibtop_init_shm_limits_p (glibtop *server);
|
||||
void glibtop_get_shm_limits_p (glibtop *, glibtop_shm_limits *buf);
|
||||
#else
|
||||
void glibtop_init_shm_limits_s (glibtop *server);
|
||||
void _glibtop_init_shm_limits_s (glibtop *server);
|
||||
void glibtop_get_shm_limits_s (glibtop *server, glibtop_shm_limits *buf);
|
||||
#endif
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -61,10 +59,10 @@ glibtop_get_swap(glibtop_swap *buf);
|
||||
void glibtop_get_swap_l (glibtop *server, glibtop_swap *buf);
|
||||
|
||||
#if GLIBTOP_SUID_SWAP
|
||||
void glibtop_init_swap_p (glibtop *server);
|
||||
void _glibtop_init_swap_p (glibtop *server);
|
||||
void glibtop_get_swap_p (glibtop *server, glibtop_swap *buf);
|
||||
#else
|
||||
void glibtop_init_swap_s (glibtop *server);
|
||||
void _glibtop_init_swap_s (glibtop *server);
|
||||
void glibtop_get_swap_s (glibtop *server, glibtop_swap *buf);
|
||||
#endif
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -53,8 +51,10 @@ G_BEGIN_DECLS
|
||||
#define GLIBTOP_SYSDEPS_PPP 22
|
||||
#define GLIBTOP_SYSDEPS_NETLIST 23
|
||||
#define GLIBTOP_SYSDEPS_PROC_OPEN_FILES 24
|
||||
#define GLIBTOP_SYSDEPS_PROC_WD 25
|
||||
#define GLIBTOP_SYSDEPS_PROC_AFFINITY 26
|
||||
|
||||
#define GLIBTOP_MAX_SYSDEPS 25
|
||||
#define GLIBTOP_MAX_SYSDEPS 27
|
||||
|
||||
#define GLIBTOP_SYSDEPS_ALL ((1 << GLIBTOP_MAX_SYSDEPS) - 1)
|
||||
|
||||
@@ -88,6 +88,8 @@ struct _glibtop_sysdeps
|
||||
guint64 netlist; /* glibtop_netlist */
|
||||
guint64 netload; /* glibtop_netload */
|
||||
guint64 ppp; /* glibtop_ppp */
|
||||
guint64 proc_wd; /* glibtop_proc_wd */
|
||||
guint64 proc_affinity; /* glibtop_proc_affinity */
|
||||
};
|
||||
|
||||
void glibtop_get_sysdeps (glibtop_sysdeps *buf);
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -44,6 +42,8 @@
|
||||
#include <glibtop/procargs.h>
|
||||
#include <glibtop/procmap.h>
|
||||
#include <glibtop/procopenfiles.h>
|
||||
#include <glibtop/procwd.h>
|
||||
#include <glibtop/procaffinity.h>
|
||||
|
||||
#include <glibtop/mountlist.h>
|
||||
#include <glibtop/fsusage.h>
|
||||
@@ -82,6 +82,8 @@ union _glibtop_union
|
||||
glibtop_netload netload;
|
||||
glibtop_ppp ppp;
|
||||
glibtop_proc_open_files proc_open_files;
|
||||
glibtop_proc_wd proc_wd;
|
||||
glibtop_proc_affinity proc_affinity;
|
||||
};
|
||||
|
||||
G_END_DECLS
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -56,10 +54,10 @@ void glibtop_get_uptime (glibtop_uptime *buf);
|
||||
void glibtop_get_uptime_l (glibtop *server, glibtop_uptime *buf);
|
||||
|
||||
#if GLIBTOP_SUID_UPTIME
|
||||
void glibtop_init_uptime_p (glibtop *server);
|
||||
void _glibtop_init_uptime_p (glibtop *server);
|
||||
void glibtop_get_uptime_p (glibtop *server, glibtop_uptime *buf);
|
||||
#else
|
||||
void glibtop_init_uptime_s (glibtop *server);
|
||||
void _glibtop_init_uptime_s (glibtop *server);
|
||||
void glibtop_get_uptime_s (glibtop *server, glibtop_uptime *buf);
|
||||
#endif
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
|
@@ -1,8 +0,0 @@
|
||||
.deps
|
||||
.libs
|
||||
Makefile
|
||||
Makefile.in
|
||||
libgtop.la
|
||||
*.lo
|
||||
lib.c
|
||||
error.loT
|
@@ -7,7 +7,7 @@ libgtop_2_0_la_SOURCES = init.c open.c close.c command.c read.c \
|
||||
read_data.c write.c lib.c parameter.c \
|
||||
sysdeps.c
|
||||
|
||||
libgtop_2_0_la_LDFLAGS = $(LT_VERSION_INFO) -export-symbols-regex "^[^_].*"
|
||||
libgtop_2_0_la_LDFLAGS = $(LT_VERSION_INFO) -export-symbols $(srcdir)/libgtop.sym -no-undefined
|
||||
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
|
||||
@@ -16,7 +16,40 @@ lib.c: lib.pl $(top_builddir)/config.h $(top_srcdir)/features.def
|
||||
$(PERL) $(srcdir)/lib.pl < $(top_srcdir)/features.def > lib-t
|
||||
mv lib-t lib.c
|
||||
|
||||
EXTRA_DIST = lib.pl
|
||||
EXTRA_DIST = lib.pl libgtop.sym
|
||||
|
||||
CLEANFILES = lib.c
|
||||
|
||||
-include $(INTROSPECTION_MAKEFILE)
|
||||
INTROSPECTION_GIRS =
|
||||
INTROSPECTION_SCANNER_ARGS = --accept-unprefixed
|
||||
INTROSPECTION_COMPILER_ARGS =
|
||||
|
||||
if HAVE_INTROSPECTION
|
||||
introspection_sources = $(libgtop_2_0_la_SOURCES) lib.c ../glibtop.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/version.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/netlist.h ../include/glibtop/procopenfiles.h ../include/glibtop/open.h
|
||||
|
||||
GTop-2.0.gir: libgtop-2.0.la
|
||||
GTop_2_0_gir_INCLUDES = GObject-2.0
|
||||
GTop_2_0_gir_CFLAGS = $(INCLUDES)
|
||||
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
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
|
175
lib/error.c
175
lib/error.c
@@ -1,175 +0,0 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
||||
|
||||
LibGTop is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with LibGTop; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#include <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,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -221,7 +219,7 @@ glibtop *
|
||||
glibtop_init_s (glibtop **server_ptr, unsigned long features, unsigned flags)
|
||||
{
|
||||
glibtop *server;
|
||||
const glibtop_init_func_t *init_fkt;
|
||||
const _glibtop_init_func_t *init_fkt;
|
||||
|
||||
if (server_ptr == NULL)
|
||||
return NULL;
|
||||
|
117
lib/inodedb.c
117
lib/inodedb.c
@@ -1,117 +0,0 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
|
||||
|
||||
LibGTop is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
LibGTop is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with LibGTop; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#include <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);
|
||||
}
|
70
lib/libgtop.sym
Normal file
70
lib/libgtop.sym
Normal file
@@ -0,0 +1,70 @@
|
||||
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_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
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -150,7 +148,7 @@ glibtop_open_l (glibtop *server, const char *program_name,
|
||||
if (nbytes != size)
|
||||
glibtop_error_r (server,
|
||||
"Requested %u bytes but got %u.",
|
||||
size, nbytes);
|
||||
(unsigned)size, (unsigned)nbytes);
|
||||
|
||||
glibtop_read_l (server, nbytes, buffer);
|
||||
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
|
41
lib/read.c
41
lib/read.c
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -22,48 +20,39 @@
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
#include <errno.h>
|
||||
#include <glibtop/read.h>
|
||||
#include <glibtop/error.h>
|
||||
#include <glib/gi18n-lib.h>
|
||||
|
||||
|
||||
/* Reads some data from server. */
|
||||
|
||||
static void
|
||||
do_read (int s, void *ptr, size_t total_size)
|
||||
{
|
||||
ssize_t nread;
|
||||
|
||||
if(!total_size) return;
|
||||
|
||||
while (total_size && (nread = recv (s, ptr, total_size, 0)) > 0) {
|
||||
total_size -= nread;
|
||||
ptr = (char*)ptr + nread;
|
||||
}
|
||||
|
||||
if(nread == 0)
|
||||
close (s);
|
||||
else if (nread < 0)
|
||||
glibtop_error_io ("recv");
|
||||
}
|
||||
|
||||
void
|
||||
glibtop_read_l (glibtop *server, size_t size, void *buf)
|
||||
{
|
||||
int fd;
|
||||
glibtop_init_r (&server, 0, 0);
|
||||
|
||||
#ifdef DEBUG
|
||||
fprintf (stderr, "LIBRARY: really reading %d bytes.\n", (int)size);
|
||||
#endif
|
||||
|
||||
if (server->socket) {
|
||||
do_read (server->socket, buf, size);
|
||||
} else {
|
||||
if(read (server->input [0], buf, size) < 0)
|
||||
glibtop_error_io_r (
|
||||
fd = server->socket ? server->socket : server->input[0];
|
||||
|
||||
while (size) {
|
||||
ssize_t nread = read(fd, buf, size);
|
||||
|
||||
if (nread < 0 && errno == EINTR)
|
||||
continue;
|
||||
|
||||
if (nread <= 0)
|
||||
glibtop_error_io_r(
|
||||
server,
|
||||
ngettext ("read %d byte",
|
||||
"read %d bytes", size),
|
||||
(int)size);
|
||||
|
||||
size -= nread;
|
||||
buf = (char *)buf + nread;
|
||||
}
|
||||
}
|
||||
|
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
|
102
lib/sysdeps.c
102
lib/sysdeps.c
@@ -46,138 +46,152 @@ GLIBTOP_SUID_PROC_ARGS +
|
||||
GLIBTOP_SUID_PROC_MAP +
|
||||
GLIBTOP_SUID_NETLOAD +
|
||||
GLIBTOP_SUID_NETLIST +
|
||||
GLIBTOP_SUID_PROC_WD +
|
||||
GLIBTOP_SUID_PROC_AFFINITY +
|
||||
GLIBTOP_SUID_PPP;
|
||||
|
||||
const glibtop_init_func_t _glibtop_init_hook_s [] = {
|
||||
const _glibtop_init_func_t _glibtop_init_hook_s [] = {
|
||||
#if !GLIBTOP_SUID_CPU
|
||||
glibtop_init_cpu_s,
|
||||
_glibtop_init_cpu_s,
|
||||
#endif
|
||||
#if !GLIBTOP_SUID_MEM
|
||||
glibtop_init_mem_s,
|
||||
_glibtop_init_mem_s,
|
||||
#endif
|
||||
#if !GLIBTOP_SUID_SWAP
|
||||
glibtop_init_swap_s,
|
||||
_glibtop_init_swap_s,
|
||||
#endif
|
||||
#if !GLIBTOP_SUID_UPTIME
|
||||
glibtop_init_uptime_s,
|
||||
_glibtop_init_uptime_s,
|
||||
#endif
|
||||
#if !GLIBTOP_SUID_LOADAVG
|
||||
glibtop_init_loadavg_s,
|
||||
_glibtop_init_loadavg_s,
|
||||
#endif
|
||||
#if !GLIBTOP_SUID_SHM_LIMITS
|
||||
glibtop_init_shm_limits_s,
|
||||
_glibtop_init_shm_limits_s,
|
||||
#endif
|
||||
#if !GLIBTOP_SUID_MSG_LIMITS
|
||||
glibtop_init_msg_limits_s,
|
||||
_glibtop_init_msg_limits_s,
|
||||
#endif
|
||||
#if !GLIBTOP_SUID_SEM_LIMITS
|
||||
glibtop_init_sem_limits_s,
|
||||
_glibtop_init_sem_limits_s,
|
||||
#endif
|
||||
#if !GLIBTOP_SUID_PROCLIST
|
||||
glibtop_init_proclist_s,
|
||||
_glibtop_init_proclist_s,
|
||||
#endif
|
||||
#if !GLIBTOP_SUID_PROC_STATE
|
||||
glibtop_init_proc_state_s,
|
||||
_glibtop_init_proc_state_s,
|
||||
#endif
|
||||
#if !GLIBTOP_SUID_PROC_UID
|
||||
glibtop_init_proc_uid_s,
|
||||
_glibtop_init_proc_uid_s,
|
||||
#endif
|
||||
#if !GLIBTOP_SUID_PROC_MEM
|
||||
glibtop_init_proc_mem_s,
|
||||
_glibtop_init_proc_mem_s,
|
||||
#endif
|
||||
#if !GLIBTOP_SUID_PROC_TIME
|
||||
glibtop_init_proc_time_s,
|
||||
_glibtop_init_proc_time_s,
|
||||
#endif
|
||||
#if !GLIBTOP_SUID_PROC_SIGNAL
|
||||
glibtop_init_proc_signal_s,
|
||||
_glibtop_init_proc_signal_s,
|
||||
#endif
|
||||
#if !GLIBTOP_SUID_PROC_KERNEL
|
||||
glibtop_init_proc_kernel_s,
|
||||
_glibtop_init_proc_kernel_s,
|
||||
#endif
|
||||
#if !GLIBTOP_SUID_PROC_SEGMENT
|
||||
glibtop_init_proc_segment_s,
|
||||
_glibtop_init_proc_segment_s,
|
||||
#endif
|
||||
#if !GLIBTOP_SUID_PROC_ARGS
|
||||
glibtop_init_proc_args_s,
|
||||
_glibtop_init_proc_args_s,
|
||||
#endif
|
||||
#if !GLIBTOP_SUID_PROC_MAP
|
||||
glibtop_init_proc_map_s,
|
||||
_glibtop_init_proc_map_s,
|
||||
#endif
|
||||
#if !GLIBTOP_SUID_NETLOAD
|
||||
glibtop_init_netload_s,
|
||||
_glibtop_init_netload_s,
|
||||
#endif
|
||||
#if !GLIBTOP_SUID_NETLIST
|
||||
glibtop_init_netlist_s,
|
||||
_glibtop_init_netlist_s,
|
||||
#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
|
||||
glibtop_init_ppp_s,
|
||||
_glibtop_init_ppp_s,
|
||||
#endif
|
||||
NULL
|
||||
};
|
||||
|
||||
const glibtop_init_func_t _glibtop_init_hook_p [] = {
|
||||
const _glibtop_init_func_t _glibtop_init_hook_p [] = {
|
||||
#if GLIBTOP_SUID_CPU
|
||||
glibtop_init_cpu_p,
|
||||
_glibtop_init_cpu_p,
|
||||
#endif
|
||||
#if GLIBTOP_SUID_MEM
|
||||
glibtop_init_mem_p,
|
||||
_glibtop_init_mem_p,
|
||||
#endif
|
||||
#if GLIBTOP_SUID_SWAP
|
||||
glibtop_init_swap_p,
|
||||
_glibtop_init_swap_p,
|
||||
#endif
|
||||
#if GLIBTOP_SUID_UPTIME
|
||||
glibtop_init_uptime_p,
|
||||
_glibtop_init_uptime_p,
|
||||
#endif
|
||||
#if GLIBTOP_SUID_LOADAVG
|
||||
glibtop_init_loadavg_p,
|
||||
_glibtop_init_loadavg_p,
|
||||
#endif
|
||||
#if GLIBTOP_SUID_SHM_LIMITS
|
||||
glibtop_init_shm_limits_p,
|
||||
_glibtop_init_shm_limits_p,
|
||||
#endif
|
||||
#if GLIBTOP_SUID_MSG_LIMITS
|
||||
glibtop_init_msg_limits_p,
|
||||
_glibtop_init_msg_limits_p,
|
||||
#endif
|
||||
#if GLIBTOP_SUID_SEM_LIMITS
|
||||
glibtop_init_sem_limits_p,
|
||||
_glibtop_init_sem_limits_p,
|
||||
#endif
|
||||
#if GLIBTOP_SUID_PROCLIST
|
||||
glibtop_init_proclist_p,
|
||||
_glibtop_init_proclist_p,
|
||||
#endif
|
||||
#if GLIBTOP_SUID_PROC_STATE
|
||||
glibtop_init_proc_state_p,
|
||||
_glibtop_init_proc_state_p,
|
||||
#endif
|
||||
#if GLIBTOP_SUID_PROC_UID
|
||||
glibtop_init_proc_uid_p,
|
||||
_glibtop_init_proc_uid_p,
|
||||
#endif
|
||||
#if GLIBTOP_SUID_PROC_MEM
|
||||
glibtop_init_proc_mem_p,
|
||||
_glibtop_init_proc_mem_p,
|
||||
#endif
|
||||
#if GLIBTOP_SUID_PROC_TIME
|
||||
glibtop_init_proc_time_p,
|
||||
_glibtop_init_proc_time_p,
|
||||
#endif
|
||||
#if GLIBTOP_SUID_PROC_SIGNAL
|
||||
glibtop_init_proc_signal_p,
|
||||
_glibtop_init_proc_signal_p,
|
||||
#endif
|
||||
#if GLIBTOP_SUID_PROC_KERNEL
|
||||
glibtop_init_proc_kernel_p,
|
||||
_glibtop_init_proc_kernel_p,
|
||||
#endif
|
||||
#if GLIBTOP_SUID_PROC_SEGMENT
|
||||
glibtop_init_proc_segment_p,
|
||||
_glibtop_init_proc_segment_p,
|
||||
#endif
|
||||
#if GLIBTOP_SUID_PROC_ARGS
|
||||
glibtop_init_proc_args_p,
|
||||
_glibtop_init_proc_args_p,
|
||||
#endif
|
||||
#if GLIBTOP_SUID_PROC_MAP
|
||||
glibtop_init_proc_map_p,
|
||||
_glibtop_init_proc_map_p,
|
||||
#endif
|
||||
#if GLIBTOP_SUID_NETLOAD
|
||||
glibtop_init_netload_p,
|
||||
_glibtop_init_netload_p,
|
||||
#endif
|
||||
#if GLIBTOP_SUID_NETLIST
|
||||
glibtop_init_netlist_p,
|
||||
_glibtop_init_netlist_p,
|
||||
#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
|
||||
glibtop_init_ppp_p,
|
||||
_glibtop_init_ppp_p,
|
||||
#endif
|
||||
NULL
|
||||
};
|
||||
|
14
lib/write.c
14
lib/write.c
@@ -1,5 +1,3 @@
|
||||
/* $Id$ */
|
||||
|
||||
/* Copyright (C) 1998-99 Martin Baulig
|
||||
This file is part of LibGTop 1.0.
|
||||
|
||||
@@ -22,7 +20,7 @@
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include <errno.h>
|
||||
#include <glibtop/write.h>
|
||||
#include <glibtop/error.h>
|
||||
#include <glib/gi18n-lib.h>
|
||||
@@ -33,6 +31,7 @@ void
|
||||
glibtop_write_l (glibtop *server, size_t size, void *buf)
|
||||
{
|
||||
int ret;
|
||||
int fd;
|
||||
|
||||
glibtop_init_r (&server, 0, 0);
|
||||
|
||||
@@ -42,11 +41,10 @@ glibtop_write_l (glibtop *server, size_t size, void *buf)
|
||||
fprintf (stderr, "LIBRARY: really writing %d bytes.\n", (int)size);
|
||||
#endif
|
||||
|
||||
if (server->socket) {
|
||||
ret = send (server->socket, buf, size, 0);
|
||||
} else {
|
||||
ret = write (server->output [1], buf, size);
|
||||
}
|
||||
fd = server->socket ? server->socket : server->output[1];
|
||||
|
||||
while ((ret = write(fd, buf, size)) < 0 && errno == EINTR)
|
||||
;
|
||||
|
||||
if (ret < 0)
|
||||
glibtop_error_io_r (server,
|
||||
|
@@ -18,9 +18,9 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
|
||||
AC_SUBST(libgtop_need_server)
|
||||
|
||||
AC_ARG_WITH(libgtop-examples,
|
||||
AS_HELP_STRING([--with-libgtop-examples],
|
||||
[Build the libgtop examples @<:@default=no@:>@]),[
|
||||
build_examples="$withval"], [build_examples=no])
|
||||
AS_HELP_STRING([--with-examples],
|
||||
[Build the libgtop examples @<:@default=yes@:>@]),[
|
||||
build_examples="$withval"], [build_examples=yes])
|
||||
|
||||
AM_CONDITIONAL(EXAMPLES, test x"$build_examples" = xyes)
|
||||
|
||||
@@ -66,12 +66,28 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
|
||||
libgtop_use_machine_h=no
|
||||
libgtop_have_sysinfo=yes
|
||||
libgtop_need_server=no
|
||||
libgtop_sysdeps_private_mountlist=yes
|
||||
libgtop_sysdeps_private_fsusage=yes
|
||||
;;
|
||||
freebsd*|netbsd*|openbsd*|bsdi*|kfreebsd*)
|
||||
netbsd*|bsdi*)
|
||||
libgtop_sysdeps_dir=bsd
|
||||
libgtop_use_machine_h=yes
|
||||
libgtop_need_server=yes
|
||||
libgtop_postinstall='chgrp kmem $(bindir)/libgtop_server2 && chmod 2755 $(bindir)/libgtop_server2'
|
||||
;;
|
||||
openbsd*)
|
||||
libgtop_sysdeps_dir=openbsd
|
||||
libgtop_use_machine_h=yes
|
||||
libgtop_need_server=yes
|
||||
libgtop_postinstall='chgrp kmem $(bindir)/libgtop_server2 && chmod 2555 $(bindir)/libgtop_server2'
|
||||
;;
|
||||
freebsd*|kfreebsd*)
|
||||
libgtop_sysdeps_dir=freebsd
|
||||
libgtop_use_machine_h=yes
|
||||
libgtop_need_server=yes
|
||||
libgtop_postinstall='chgrp kmem $(bindir)/libgtop_server && chmod 2755 $(bindir)/libgtop_server'
|
||||
libgtop_sysdeps_private_mountlist=yes
|
||||
libgtop_sysdeps_private_fsusage=yes
|
||||
libgtop_postinstall='chgrp kmem $(bindir)/libgtop_server2 && chmod 2755 $(bindir)/libgtop_server2'
|
||||
;;
|
||||
solaris*)
|
||||
libgtop_sysdeps_dir=solaris
|
||||
@@ -86,6 +102,20 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
|
||||
libgtop_have_sysinfo=yes
|
||||
libgtop_postinstall='chgrp system $(bindir)/libgtop_server && chmod g+s $(bindir)/libgtop_server2'
|
||||
;;
|
||||
darwin*)
|
||||
libgtop_sysdeps_dir=darwin
|
||||
libgtop_use_machine_h=yes
|
||||
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_use_machine_h=no
|
||||
libgtop_need_server=no
|
||||
libgtop_have_sysinfo=yes
|
||||
libgtop_sysdeps_private_mountlist=yes
|
||||
;;
|
||||
*)
|
||||
if test x$hacker_mode = xyes ; then
|
||||
case "$host_os" in
|
||||
@@ -125,14 +155,22 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
|
||||
|
||||
case "$host_os" in
|
||||
*bsd*)
|
||||
AC_CHECK_LIB(kvm, kvm_open, KVM_LIBS=-lkvm, KVM_LIBS=)
|
||||
AC_SUBST(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=);;
|
||||
kfreebsd*)
|
||||
EXTRA_SYSDEPS_LIBS="-lgeom -ldevstat"
|
||||
;;
|
||||
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(KVM_LIBS)
|
||||
AC_SUBST(EXTRA_SYSDEPS_LIBS)
|
||||
|
||||
AC_CHECK_HEADERS(net/if_var.h)
|
||||
AC_MSG_CHECKING([for I4B])
|
||||
@@ -199,10 +237,11 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING(what we need to define to get struct msginfo)
|
||||
AC_CACHE_VAL(msginfo_needs,
|
||||
msginfo_needs=
|
||||
AC_CACHE_VAL(msginfo_cv_needs,
|
||||
msginfo_cv_needs=
|
||||
for def in nothing KERNEL _KERNEL; do
|
||||
AC_COMPILE_IFELSE([#define $def
|
||||
AC_COMPILE_IFELSE([AC_LANG_SOURCE([#define $def
|
||||
#include <sys/types.h>
|
||||
#include <sys/ipc.h>
|
||||
#include <sys/msg.h>
|
||||
#include <stdio.h>
|
||||
@@ -213,23 +252,23 @@ main (void)
|
||||
struct msginfo mi;
|
||||
mi.msgmax = 0;
|
||||
return 0;
|
||||
}],
|
||||
}])],
|
||||
[
|
||||
msginfo_needs=$def
|
||||
if test ${msginfo_needs} = KERNEL; then
|
||||
msginfo_cv_needs=$def
|
||||
if test ${msginfo_cv_needs} = KERNEL; then
|
||||
AC_DEFINE(STRUCT_MSGINFO_NEEDS_KERNEL, 1,
|
||||
[Define to 1 if we need to define KERNEL to get 'struct msginfo'])
|
||||
elif test ${msginfo_needs} = _KERNEL; then
|
||||
elif test ${msginfo_cv_needs} = _KERNEL; then
|
||||
AC_DEFINE(STRUCT_MSGINFO_NEEDS__KERNEL, 1,
|
||||
[Define to 1 if we need to define _KERNEL to get 'struct msginfo'])
|
||||
fi
|
||||
]
|
||||
)
|
||||
test -n "${msginfo_needs}" && break
|
||||
test -n "${msginfo_cv_needs}" && break
|
||||
done
|
||||
)
|
||||
AC_MSG_RESULT($msginfo_needs)
|
||||
if test -z "${msginfo_needs}"; then
|
||||
AC_MSG_RESULT($msginfo_cv_needs)
|
||||
if test -z "${msginfo_cv_needs}"; then
|
||||
AC_MSG_ERROR([Could not find the definition of 'struct msginfo'])
|
||||
fi
|
||||
;;
|
||||
@@ -290,5 +329,7 @@ main (void)
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL(NEED_LIBGTOP, test x$libgtop_need_server = xyes)
|
||||
AM_CONDITIONAL(LIBGTOP_SYSDEPS_PRIVATE_MOUNTLIST, test x$libgtop_sysdeps_private_mountlist = xyes)
|
||||
AM_CONDITIONAL(LIBGTOP_SYSDEPS_PRIVATE_FSUSAGE, test x$libgtop_sysdeps_private_fsusage = xyes)
|
||||
])
|
||||
|
||||
|
30
libgtop.doap
Normal file
30
libgtop.doap
Normal file
@@ -0,0 +1,30 @@
|
||||
<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#desktop" />
|
||||
|
||||
<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>
|
||||
|
@@ -59,12 +59,12 @@ Examples for LibGTop.
|
||||
%build
|
||||
# Needed for snapshot releases.
|
||||
if [ ! -f configure ]; then
|
||||
CFLAGS="$RPM_OPT_FLAGS" ./autogen.sh --prefix=%prefix --without-linux-table --with-libgtop-inodedb --with-libgtop-examples --with-libgtop-smp
|
||||
CFLAGS="$RPM_OPT_FLAGS" ./autogen.sh --prefix=%prefix --without-linux-table --with-libgtop-examples --with-libgtop-smp
|
||||
else
|
||||
%ifarch alpha
|
||||
CFLAGS="$RPM_OPT_FLAGS" ./configure --host=alpha-redhat-linux --prefix=%prefix --without-linux-table --with-libgtop-inodedb --with-libgtop-examples --with-libgtop-smp
|
||||
%else
|
||||
CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=%prefix --without-linux-table --with-libgtop-inodedb --with-libgtop-examples --with-libgtop-smp
|
||||
CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=%prefix --without-linux-table --with-libgtop-examples --with-libgtop-smp
|
||||
%endif
|
||||
fi
|
||||
|
||||
|
333
m4/glibtests.m4
Normal file
333
m4/glibtests.m4
Normal file
@@ -0,0 +1,333 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
|
||||
<head>
|
||||
<title>glib - Low level core library</title>
|
||||
<meta name='generator' content='cgit v0.9.2'/>
|
||||
<meta name='robots' content='index, nofollow'/>
|
||||
<link rel='stylesheet' type='text/css' href='/browse/cgit-gnome.css'/>
|
||||
<link rel='shortcut icon' href='http://www-old.gnome.org/img/logo/foot-16.png'/>
|
||||
<link rel='alternate' title='Atom feed' href='https://git.gnome.org/browse/glib/atom/m4macros/glibtests.m4?h=master' type='application/atom+xml'/>
|
||||
</head>
|
||||
<body>
|
||||
<div id="global_domain_bar">
|
||||
<div class="maxwidth">
|
||||
<div class="tab">
|
||||
<a class="root" href="https://www.gnome.org/">GNOME.org</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="page">
|
||||
<div id="logo_bar" class="container_12">
|
||||
<div id="logo" class="grid_3">
|
||||
<a title="Go to home page" href="https://git.gnome.org/"><img src="https://static.gnome.org/img/gnome-git.png" alt="GNOME: Git Repository" /></a>
|
||||
</div>
|
||||
|
||||
<div id="top_bar" class="grid_9">
|
||||
<div class="left">
|
||||
<div class="menu-globalnav-container">
|
||||
<ul id="menu-globalnav" class="menu">
|
||||
<li id="menu-item-1039" class=
|
||||
"menu-item menu-item-type-post_type menu-item-object-page menu-item-1039">
|
||||
<a href="https://git.gnome.org/">Home</a></li>
|
||||
|
||||
<li id="menu-item-1037" class=
|
||||
"menu-item menu-item-type-post_type menu-item-object-page menu-item-1037">
|
||||
<a href="https://wiki.gnome.org/Git">Git Help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id='cgit'><table id='header'>
|
||||
<tr>
|
||||
<td class='main'><a href='/browse/'>index</a> : <a title='glib' href='/browse/glib/'>glib</a></td><td class='form'><form method='get' action=''>
|
||||
<select name='h' onchange='this.form.submit();'>
|
||||
<option value='GLIB_1_1_3_MARTIN'>GLIB_1_1_3_MARTIN</option>
|
||||
<option value='GLIB_1_1_4_THREADS'>GLIB_1_1_4_THREADS</option>
|
||||
<option value='GLIB_1_3_HACKS'>GLIB_1_3_HACKS</option>
|
||||
<option value='GLIB_2_15_0'>GLIB_2_15_0</option>
|
||||
<option value='dispatch-data'>dispatch-data</option>
|
||||
<option value='gdbus-daemon'>gdbus-daemon</option>
|
||||
<option value='gdbus-daemon2'>gdbus-daemon2</option>
|
||||
<option value='glib-1-2'>glib-1-2</option>
|
||||
<option value='glib-2-0'>glib-2-0</option>
|
||||
<option value='glib-2-10'>glib-2-10</option>
|
||||
<option value='glib-2-12'>glib-2-12</option>
|
||||
<option value='glib-2-14'>glib-2-14</option>
|
||||
<option value='glib-2-16'>glib-2-16</option>
|
||||
<option value='glib-2-18'>glib-2-18</option>
|
||||
<option value='glib-2-2'>glib-2-2</option>
|
||||
<option value='glib-2-20'>glib-2-20</option>
|
||||
<option value='glib-2-22'>glib-2-22</option>
|
||||
<option value='glib-2-24'>glib-2-24</option>
|
||||
<option value='glib-2-26'>glib-2-26</option>
|
||||
<option value='glib-2-28'>glib-2-28</option>
|
||||
<option value='glib-2-30'>glib-2-30</option>
|
||||
<option value='glib-2-32'>glib-2-32</option>
|
||||
<option value='glib-2-34'>glib-2-34</option>
|
||||
<option value='glib-2-36'>glib-2-36</option>
|
||||
<option value='glib-2-38'>glib-2-38</option>
|
||||
<option value='glib-2-4'>glib-2-4</option>
|
||||
<option value='glib-2-6'>glib-2-6</option>
|
||||
<option value='glib-2-8'>glib-2-8</option>
|
||||
<option value='glib-main-loop'>glib-main-loop</option>
|
||||
<option value='glib-threads'>glib-threads</option>
|
||||
<option value='master' selected='selected'>master</option>
|
||||
<option value='new-gsettings'>new-gsettings</option>
|
||||
<option value='signal-performance'>signal-performance</option>
|
||||
<option value='test/gobjectnew'>test/gobjectnew</option>
|
||||
<option value='tizen/kdbus-dev'>tizen/kdbus-dev</option>
|
||||
<option value='wip/async-io-perf'>wip/async-io-perf</option>
|
||||
<option value='wip/child-catchall'>wip/child-catchall</option>
|
||||
<option value='wip/coverity-fixes'>wip/coverity-fixes</option>
|
||||
<option value='wip/danw/clicert'>wip/danw/clicert</option>
|
||||
<option value='wip/danw/glib.mk'>wip/danw/glib.mk</option>
|
||||
<option value='wip/dbusable'>wip/dbusable</option>
|
||||
<option value='wip/desktop-actions'>wip/desktop-actions</option>
|
||||
<option value='wip/doc-fixes'>wip/doc-fixes</option>
|
||||
<option value='wip/format-errors'>wip/format-errors</option>
|
||||
<option value='wip/free'>wip/free</option>
|
||||
<option value='wip/g-action-print-detailed-name'>wip/g-action-print-detailed-name</option>
|
||||
<option value='wip/gbytes-takeover'>wip/gbytes-takeover</option>
|
||||
<option value='wip/gcleanup'>wip/gcleanup</option>
|
||||
<option value='wip/gcleanup-desrt'>wip/gcleanup-desrt</option>
|
||||
<option value='wip/gdesktopappinfo'>wip/gdesktopappinfo</option>
|
||||
<option value='wip/gicon'>wip/gicon</option>
|
||||
<option value='wip/gnotification'>wip/gnotification</option>
|
||||
<option value='wip/gobjectnew'>wip/gobjectnew</option>
|
||||
<option value='wip/gproperty'>wip/gproperty</option>
|
||||
<option value='wip/gproperty-2'>wip/gproperty-2</option>
|
||||
<option value='wip/gsettings-list'>wip/gsettings-list</option>
|
||||
<option value='wip/gsettings-work'>wip/gsettings-work</option>
|
||||
<option value='wip/gsubprocess'>wip/gsubprocess</option>
|
||||
<option value='wip/gsubprocess-2.36'>wip/gsubprocess-2.36</option>
|
||||
<option value='wip/gsubprocess-desrt'>wip/gsubprocess-desrt</option>
|
||||
<option value='wip/gsubprocess-ostreams'>wip/gsubprocess-ostreams</option>
|
||||
<option value='wip/gutils-splitup'>wip/gutils-splitup</option>
|
||||
<option value='wip/installed-tests'>wip/installed-tests</option>
|
||||
<option value='wip/latest-gsubprocess'>wip/latest-gsubprocess</option>
|
||||
<option value='wip/le-gsubprocess'>wip/le-gsubprocess</option>
|
||||
<option value='wip/linux'>wip/linux</option>
|
||||
<option value='wip/locale-monitor'>wip/locale-monitor</option>
|
||||
<option value='wip/makefile.glib'>wip/makefile.glib</option>
|
||||
<option value='wip/mapped-bytes'>wip/mapped-bytes</option>
|
||||
<option value='wip/new-parser'>wip/new-parser</option>
|
||||
<option value='wip/pcre-jit'>wip/pcre-jit</option>
|
||||
<option value='wip/pcre-mark'>wip/pcre-mark</option>
|
||||
<option value='wip/private-rework-3'>wip/private-rework-3</option>
|
||||
<option value='wip/resources2'>wip/resources2</option>
|
||||
<option value='wip/serializable'>wip/serializable</option>
|
||||
<option value='wip/settings-backend'>wip/settings-backend</option>
|
||||
<option value='wip/subprocess-2013'>wip/subprocess-2013</option>
|
||||
<option value='wip/symbol-visibility'>wip/symbol-visibility</option>
|
||||
<option value='wip/task'>wip/task</option>
|
||||
<option value='wip/test-cleanup'>wip/test-cleanup</option>
|
||||
<option value='wip/threadsafe-qdata'>wip/threadsafe-qdata</option>
|
||||
<option value='wip/unicode-graphemebreak'>wip/unicode-graphemebreak</option>
|
||||
<option value='wip/version-bounds'>wip/version-bounds</option>
|
||||
<option value='wip/win32-source-api'>wip/win32-source-api</option>
|
||||
</select> <input type='submit' name='' value='switch'/></form></td></tr>
|
||||
<tr><td class='sub'>Low level core library</td><td class='sub right'></td></tr></table>
|
||||
<table class='tabs'><tr><td>
|
||||
<a href='/browse/glib/'>summary</a><a href='/browse/glib/refs/'>refs</a><a href='/browse/glib/log/m4macros/glibtests.m4'>log</a><a class='active' href='/browse/glib/tree/m4macros/glibtests.m4'>tree</a><a href='/browse/glib/commit/m4macros/glibtests.m4'>commit</a><a href='/browse/glib/diff/m4macros/glibtests.m4'>diff</a></td><td class='form'><form class='right' method='get' action='/browse/glib/log/m4macros/glibtests.m4'>
|
||||
<select name='qt'>
|
||||
<option value='grep'>log msg</option>
|
||||
<option value='author'>author</option>
|
||||
<option value='committer'>committer</option>
|
||||
<option value='range'>range</option>
|
||||
</select>
|
||||
<input class='txt' type='text' size='10' name='q' value=''/>
|
||||
<input type='submit' value='search'/>
|
||||
</form>
|
||||
</td></tr></table>
|
||||
<div class='path'>path: <a href='/browse/glib/tree/'>root</a>/<a href='/browse/glib/tree/m4macros'>m4macros</a>/<a href='/browse/glib/tree/m4macros/glibtests.m4'>glibtests.m4</a></div><div class='content'>blob: 7d5920a43c76d68affa5cbc8b8c3a8fbb5cfb017 (<a href='/browse/glib/plain/m4macros/glibtests.m4'>plain</a>)
|
||||
<table summary='blob content' class='blob'>
|
||||
<tr><td class='linenumbers'><pre><a class='no' id='n1' name='n1' href='#n1'>1</a>
|
||||
<a class='no' id='n2' name='n2' href='#n2'>2</a>
|
||||
<a class='no' id='n3' name='n3' href='#n3'>3</a>
|
||||
<a class='no' id='n4' name='n4' href='#n4'>4</a>
|
||||
<a class='no' id='n5' name='n5' href='#n5'>5</a>
|
||||
<a class='no' id='n6' name='n6' href='#n6'>6</a>
|
||||
<a class='no' id='n7' name='n7' href='#n7'>7</a>
|
||||
<a class='no' id='n8' name='n8' href='#n8'>8</a>
|
||||
<a class='no' id='n9' name='n9' href='#n9'>9</a>
|
||||
<a class='no' id='n10' name='n10' href='#n10'>10</a>
|
||||
<a class='no' id='n11' name='n11' href='#n11'>11</a>
|
||||
<a class='no' id='n12' name='n12' href='#n12'>12</a>
|
||||
<a class='no' id='n13' name='n13' href='#n13'>13</a>
|
||||
<a class='no' id='n14' name='n14' href='#n14'>14</a>
|
||||
<a class='no' id='n15' name='n15' href='#n15'>15</a>
|
||||
<a class='no' id='n16' name='n16' href='#n16'>16</a>
|
||||
<a class='no' id='n17' name='n17' href='#n17'>17</a>
|
||||
<a class='no' id='n18' name='n18' href='#n18'>18</a>
|
||||
<a class='no' id='n19' name='n19' href='#n19'>19</a>
|
||||
<a class='no' id='n20' name='n20' href='#n20'>20</a>
|
||||
<a class='no' id='n21' name='n21' href='#n21'>21</a>
|
||||
<a class='no' id='n22' name='n22' href='#n22'>22</a>
|
||||
<a class='no' id='n23' name='n23' href='#n23'>23</a>
|
||||
<a class='no' id='n24' name='n24' href='#n24'>24</a>
|
||||
<a class='no' id='n25' name='n25' href='#n25'>25</a>
|
||||
<a class='no' id='n26' name='n26' href='#n26'>26</a>
|
||||
<a class='no' id='n27' name='n27' href='#n27'>27</a>
|
||||
<a class='no' id='n28' name='n28' href='#n28'>28</a>
|
||||
</pre></td>
|
||||
<td class='lines'><pre><code>dnl GLIB_TESTS
|
||||
dnl
|
||||
|
||||
AC_DEFUN([GLIB_TESTS],
|
||||
[
|
||||
AC_ARG_ENABLE(installed-tests,
|
||||
AS_HELP_STRING([--enable-installed-tests],
|
||||
[Enable installation of some test cases]),
|
||||
[case ${enableval} in
|
||||
yes) ENABLE_INSTALLED_TESTS='1' ;;
|
||||
no) ENABLE_INSTALLED_TESTS='' ;;
|
||||
*) AC_MSG_ERROR([bad value ${enableval} for --enable-installed-tests]) ;;
|
||||
esac])
|
||||
AM_CONDITIONAL([ENABLE_INSTALLED_TESTS], test '$ENABLE_INSTALLED_TESTS' = '1')
|
||||
AC_ARG_ENABLE(always-build-tests,
|
||||
AS_HELP_STRING([--enable-always-build-tests],
|
||||
[Enable always building tests during 'make all']),
|
||||
[case ${enableval} in
|
||||
yes) ENABLE_ALWAYS_BUILD_TESTS='1' ;;
|
||||
no) ENABLE_ALWAYS_BUILD_TESTS='' ;;
|
||||
*) AC_MSG_ERROR([bad value ${enableval} for --enable-always-build-tests]) ;;
|
||||
esac])
|
||||
AM_CONDITIONAL([ENABLE_ALWAYS_BUILD_TESTS], test '$ENABLE_ALWAYS_BUILD_TESTS' = '1')
|
||||
if test '$ENABLE_INSTALLED_TESTS' = '1'; then
|
||||
AC_SUBST(installed_test_metadir, [${datadir}/installed-tests/]AC_PACKAGE_NAME)
|
||||
AC_SUBST(installed_testdir, [${libexecdir}/installed-tests/]AC_PACKAGE_NAME)
|
||||
fi
|
||||
])
|
||||
</code></pre></td></tr></table>
|
||||
</div> <!-- class=content -->
|
||||
</div>
|
||||
<div id="footer_community"></div>
|
||||
|
||||
<div id="footer_grass"></div>
|
||||
|
||||
<div id="footer">
|
||||
<div class="container_13" id="container_12">
|
||||
<div class="links grid_9">
|
||||
<div class="menu-footer-container">
|
||||
<ul id="menu-footer" class="menu">
|
||||
<li id="menu-item-1048" class=
|
||||
"menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-1048">
|
||||
<a href="/">The GNOME Project</a>
|
||||
|
||||
<ul class="sub-menu">
|
||||
<li id="menu-item-1049" class=
|
||||
"menu-item menu-item-type-post_type menu-item-object-page menu-item-1049">
|
||||
<a href="https://www.gnome.org/about/">About Us</a></li>
|
||||
|
||||
<li id="menu-item-1050" class=
|
||||
"menu-item menu-item-type-post_type menu-item-object-page menu-item-1050">
|
||||
<a href="https://www.gnome.org/get-involved/">Get Involved</a></li>
|
||||
|
||||
<li id="menu-item-1051" class=
|
||||
"menu-item menu-item-type-post_type menu-item-object-page menu-item-1051">
|
||||
<a href="https://www.gnome.org/teams/">Teams</a></li>
|
||||
|
||||
<li id="menu-item-1053" class=
|
||||
"menu-item menu-item-type-post_type menu-item-object-page menu-item-1053">
|
||||
<a href="https://www.gnome.org/support-gnome/">Support GNOME</a></li>
|
||||
|
||||
<li id="menu-item-1054" class=
|
||||
"menu-item menu-item-type-post_type menu-item-object-page menu-item-1054">
|
||||
<a href="https://www.gnome.org/contact/">Contact Us</a></li>
|
||||
|
||||
<li id="menu-item-2246" class=
|
||||
"menu-item menu-item-type-post_type menu-item-object-page menu-item-2246">
|
||||
<a href="https://www.gnome.org/foundation/">The GNOME Foundation</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li id="menu-item-1047" class=
|
||||
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1047">
|
||||
<a href="#">Resources</a>
|
||||
|
||||
<ul class="sub-menu">
|
||||
<li id="menu-item-1055" class=
|
||||
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1055">
|
||||
<a href="https://developer.gnome.org">Developer Center</a></li>
|
||||
|
||||
<li id="menu-item-1056" class=
|
||||
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1056">
|
||||
<a href="https://help.gnome.org">Documentation</a></li>
|
||||
|
||||
<li id="menu-item-1057" class=
|
||||
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1057">
|
||||
<a href="https://wiki.gnome.org">Wiki</a></li>
|
||||
|
||||
<li id="menu-item-1058" class=
|
||||
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1058">
|
||||
<a href="https://mail.gnome.org/mailman/listinfo">Mailing Lists</a></li>
|
||||
|
||||
<li id="menu-item-1059" class=
|
||||
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1059">
|
||||
<a href="https://wiki.gnome.org/GnomeIrcChannels">IRC Channels</a></li>
|
||||
|
||||
<li id="menu-item-1060" class=
|
||||
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1060">
|
||||
<a href="https://bugzilla.gnome.org/">Bug Tracker</a></li>
|
||||
|
||||
<li id="menu-item-1061" class=
|
||||
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1061">
|
||||
<a href="https://git.gnome.org/browse/">Development Code</a></li>
|
||||
|
||||
<li id="menu-item-1062" class=
|
||||
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1062">
|
||||
<a href="https://wiki.gnome.org/Jhbuild">Build Tool</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li id="menu-item-1046" class=
|
||||
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1046">
|
||||
<a href="/news">News</a>
|
||||
|
||||
<ul class="sub-menu">
|
||||
<li id="menu-item-1063" class=
|
||||
"menu-item menu-item-type-post_type menu-item-object-page menu-item-1063">
|
||||
<a href="https://www.gnome.org/press/">Press Releases</a></li>
|
||||
|
||||
<li id="menu-item-1064" class=
|
||||
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1064">
|
||||
<a href="https://www.gnome.org/start/stable">Latest Release</a></li>
|
||||
|
||||
<li id="menu-item-1065" class=
|
||||
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1065">
|
||||
<a href="https://planet.gnome.org">Planet GNOME</a></li>
|
||||
|
||||
<li id="menu-item-1067" class=
|
||||
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1067">
|
||||
<a href="https://news.gnome.org">Development News</a></li>
|
||||
|
||||
<li id="menu-item-1068" class=
|
||||
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1068">
|
||||
<a href="https://identi.ca/gnome">Identi.ca</a></li>
|
||||
|
||||
<li id="menu-item-1069" class=
|
||||
"menu-item menu-item-type-custom menu-item-object-custom menu-item-1069">
|
||||
<a href="https://twitter.com/gnome">Twitter</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="footnotes" class="grid_9">
|
||||
<p>Copyright © 2004-2013, <a href="https://www.gnome.org/">The GNOME Project</a>.</p>
|
||||
<br />
|
||||
<small><p>Hosted by <a href="http://www.redhat.com/">Red Hat</a>.
|
||||
Powered by <a href="http://hjemli.net/git/cgit/">cgit</a>.</p>
|
||||
<p>To follow the commits, subscribe to <a href="http://mail.gnome.org/mailman/listinfo/commits-list">commits-list</a>. (can be limited to specific modules)</p></small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> <!-- id=cgit -->
|
||||
</body>
|
||||
</html>
|
96
m4/introspection.m4
Normal file
96
m4/introspection.m4
Normal file
@@ -0,0 +1,96 @@
|
||||
dnl -*- mode: autoconf -*-
|
||||
dnl Copyright 2009 Johan Dahlin
|
||||
dnl
|
||||
dnl This file is free software; the author(s) gives unlimited
|
||||
dnl permission to copy and/or distribute it, with or without
|
||||
dnl modifications, as long as this notice is preserved.
|
||||
dnl
|
||||
|
||||
# serial 1
|
||||
|
||||
m4_define([_GOBJECT_INTROSPECTION_CHECK_INTERNAL],
|
||||
[
|
||||
AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
|
||||
AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
|
||||
AC_BEFORE([LT_INIT],[$0])dnl setup libtool first
|
||||
|
||||
dnl enable/disable introspection
|
||||
m4_if([$2], [require],
|
||||
[dnl
|
||||
enable_introspection=yes
|
||||
],[dnl
|
||||
AC_ARG_ENABLE(introspection,
|
||||
AS_HELP_STRING([--enable-introspection[=@<:@no/auto/yes@:>@]],
|
||||
[Enable introspection for this build]),,
|
||||
[enable_introspection=auto])
|
||||
])dnl
|
||||
|
||||
AC_MSG_CHECKING([for gobject-introspection])
|
||||
|
||||
dnl presence/version checking
|
||||
AS_CASE([$enable_introspection],
|
||||
[no], [dnl
|
||||
found_introspection="no (disabled, use --enable-introspection to enable)"
|
||||
],dnl
|
||||
[yes],[dnl
|
||||
PKG_CHECK_EXISTS([gobject-introspection-1.0],,
|
||||
AC_MSG_ERROR([gobject-introspection-1.0 is not installed]))
|
||||
PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1],
|
||||
found_introspection=yes,
|
||||
AC_MSG_ERROR([You need to have gobject-introspection >= $1 installed to build AC_PACKAGE_NAME]))
|
||||
],dnl
|
||||
[auto],[dnl
|
||||
PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1], found_introspection=yes, found_introspection=no)
|
||||
],dnl
|
||||
[dnl
|
||||
AC_MSG_ERROR([invalid argument passed to --enable-introspection, should be one of @<:@no/auto/yes@:>@])
|
||||
])dnl
|
||||
|
||||
AC_MSG_RESULT([$found_introspection])
|
||||
|
||||
INTROSPECTION_SCANNER=
|
||||
INTROSPECTION_COMPILER=
|
||||
INTROSPECTION_GENERATE=
|
||||
INTROSPECTION_GIRDIR=
|
||||
INTROSPECTION_TYPELIBDIR=
|
||||
if test "x$found_introspection" = "xyes"; then
|
||||
INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0`
|
||||
INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0`
|
||||
INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0`
|
||||
INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0`
|
||||
INTROSPECTION_GIRDIR=`echo ${INTROSPECTION_GIRDIR} | sed -e "s|${datadir}|\\\$(datadir)|"`
|
||||
INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)"
|
||||
INTROSPECTION_TYPELIBDIR=`echo ${INTROSPECTION_TYPELIBDIR} | sed -e "s|${libdir}|\\\$(libdir)|"`
|
||||
INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0`
|
||||
INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0`
|
||||
INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection
|
||||
fi
|
||||
AC_SUBST(INTROSPECTION_SCANNER)
|
||||
AC_SUBST(INTROSPECTION_COMPILER)
|
||||
AC_SUBST(INTROSPECTION_GENERATE)
|
||||
AC_SUBST(INTROSPECTION_GIRDIR)
|
||||
AC_SUBST(INTROSPECTION_TYPELIBDIR)
|
||||
AC_SUBST(INTROSPECTION_CFLAGS)
|
||||
AC_SUBST(INTROSPECTION_LIBS)
|
||||
AC_SUBST(INTROSPECTION_MAKEFILE)
|
||||
|
||||
AM_CONDITIONAL(HAVE_INTROSPECTION, test "x$found_introspection" = "xyes")
|
||||
])
|
||||
|
||||
|
||||
dnl Usage:
|
||||
dnl GOBJECT_INTROSPECTION_CHECK([minimum-g-i-version])
|
||||
|
||||
AC_DEFUN([GOBJECT_INTROSPECTION_CHECK],
|
||||
[
|
||||
_GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1])
|
||||
])
|
||||
|
||||
dnl Usage:
|
||||
dnl GOBJECT_INTROSPECTION_REQUIRE([minimum-g-i-version])
|
||||
|
||||
|
||||
AC_DEFUN([GOBJECT_INTROSPECTION_REQUIRE],
|
||||
[
|
||||
_GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1], [require])
|
||||
])
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user