Linux cpanel.rrshost.in 5.15.0-25-generic #25-Ubuntu SMP Wed Mar 30 15:54:22 UTC 2022 x86_64
Apache
: 109.123.238.221 | : 172.70.127.75
138 Domain
8.2.28
aev999
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
bin /
[ HOME SHELL ]
Name
Size
Permission
Action
X11
[ DIR ]
drwxr-xr-x
2to3-2.7
96
B
-rwxr-xr-x
GET
15.82
KB
-rwxr-xr-x
HEAD
15.82
KB
-rwxr-xr-x
POST
15.82
KB
-rwxr-xr-x
[
50.44
KB
-rwxr-xr-x
aa-enabled
34.52
KB
-rwxr-xr-x
aa-exec
34.52
KB
-rwxr-xr-x
aa-features-abi
30.52
KB
-rwxr-xr-x
ab
58.34
KB
-rwxr-xr-x
aclocal
35.18
KB
-rwxr-xr-x
aclocal-1.16
35.18
KB
-rwxr-xr-x
acpi_listen
18.57
KB
-rwxr-xr-x
addpart
14.38
KB
-rwxr-xr-x
addr2line
26.7
KB
-rwxr-xr-x
animate
14.15
KB
-rwxr-xr-x
annotate
14.15
KB
-rwxr-xr-x
apropos
47.28
KB
-rwxr-xr-x
apt
18.38
KB
-rwxr-xr-x
apt-cache
82.47
KB
-rwxr-xr-x
apt-cdrom
26.47
KB
-rwxr-xr-x
apt-config
26.39
KB
-rwxr-xr-x
apt-extracttemplates
22.47
KB
-rwxr-xr-x
apt-file
30.34
KB
-rwxr-xr-x
apt-ftparchive
230.48
KB
-rwxr-xr-x
apt-get
50.47
KB
-rwxr-xr-x
apt-key
27.51
KB
-rwxr-xr-x
apt-mark
50.47
KB
-rwxr-xr-x
apt-sortpkgs
38.4
KB
-rwxr-xr-x
ar
54.48
KB
-rwxr-xr-x
arch
30.51
KB
-rwxr-xr-x
arpaname
14.3
KB
-rwxr-xr-x
as
456.4
KB
-rwxr-xr-x
aspell
142.48
KB
-rwxr-xr-x
aspell-import
2
KB
-rwxr-xr-x
at
54.32
KB
-rwsr-sr-x
atq
54.32
KB
-rwsr-sr-x
atrm
54.32
KB
-rwsr-sr-x
autoconf
14.85
KB
-rwxr-xr-x
autoheader
8.82
KB
-rwxr-xr-x
autom4te
32.69
KB
-rwxr-xr-x
automake
255.91
KB
-rwxr-xr-x
automake-1.16
255.91
KB
-rwxr-xr-x
autopoint
26.38
KB
-rwxr-xr-x
autoreconf
26.3
KB
-rwxr-xr-x
autoscan
16.77
KB
-rwxr-xr-x
autoupdate
33.22
KB
-rwxr-xr-x
avifdec
30.29
KB
-rwxr-xr-x
avifenc
58.29
KB
-rwxr-xr-x
awk
688.46
KB
-rwxr-xr-x
b2sum
50.52
KB
-rwxr-xr-x
base32
34.51
KB
-rwxr-xr-x
base64
34.51
KB
-rwxr-xr-x
basename
34.51
KB
-rwxr-xr-x
basenc
46.51
KB
-rwxr-xr-x
bash
1.33
MB
-rwxr-xr-x
bashbug
6.66
KB
-rwxr-xr-x
batch
152
B
-rwxr-xr-x
bdftogd
3.9
KB
-rwxr-xr-x
bootctl
70.49
KB
-rwxr-xr-x
brotli
750.23
KB
-rwxr-xr-x
bunzip2
38.38
KB
-rwxr-xr-x
busctl
90.49
KB
-rwxr-xr-x
busybox
2.09
MB
-rwxr-xr-x
bzcat
38.38
KB
-rwxr-xr-x
bzcmp
2.17
KB
-rwxr-xr-x
bzdiff
2.17
KB
-rwxr-xr-x
bzegrep
3.69
KB
-rwxr-xr-x
bzexe
4.78
KB
-rwxr-xr-x
bzfgrep
3.69
KB
-rwxr-xr-x
bzgrep
3.69
KB
-rwxr-xr-x
bzip2
38.38
KB
-rwxr-xr-x
bzip2recover
14.3
KB
-rwxr-xr-x
bzless
1.27
KB
-rwxr-xr-x
bzmore
1.27
KB
-rwxr-xr-x
c++
910.82
KB
-rwxr-xr-x
c++filt
22.27
KB
-rwxr-xr-x
c89
428
B
-rwxr-xr-x
c89-gcc
428
B
-rwxr-xr-x
c99
454
B
-rwxr-xr-x
c99-gcc
454
B
-rwxr-xr-x
c_rehash
6.8
KB
-rwxr-xr-x
cal
36.95
KB
-rwxr-xr-x
captoinfo
86.41
KB
-rwxr-xr-x
cat
34.46
KB
-rwxr-xr-x
catman
34.76
KB
-rwxr-xr-x
cautious-launcher
853
B
-rwxr-xr-x
cc
906.82
KB
-rwxr-xr-x
chacl
22.3
KB
-rwxr-xr-x
chage
70.49
KB
-rwxr-xr-x
chardet
965
B
-rwxr-xr-x
chardetect
965
B
-rwxr-xr-x
chattr
14.31
KB
-rwxr-xr-x
chcon
58.51
KB
-rwxr-xr-x
check-enhancements
3.71
KB
-rwxr-xr-x
check-language-support
2.71
KB
-rwxr-xr-x
chfn
71.01
KB
-rwxr-xr-x
chgrp
54.51
KB
-rwxr-xr-x
chmod
54.51
KB
-rwxr-xr-x
choom
22.38
KB
-rwxr-xr-x
chown
58.51
KB
-rwxr-xr-x
chrt
26.38
KB
-rwxr-xr-x
chsh
43.76
KB
-rwx--x--x
chvt
14.23
KB
-rwxr-xr-x
cifsiostat
22.45
KB
-rwxr-xr-x
ckbcomp
146.31
KB
-rwxr-xr-x
cksum
34.41
KB
-rwxr-xr-x
clear
14.31
KB
-rwxr-xr-x
clear_console
14.23
KB
-rwxr-xr-x
cmp
42.39
KB
-rwxr-xr-x
codepage
14.15
KB
-rwxr-xr-x
col
22.38
KB
-rwxr-xr-x
colcrt
14.38
KB
-rwxr-xr-x
colrm
14.38
KB
-rwxr-xr-x
column
34.38
KB
-rwxr-xr-x
comm
34.52
KB
-rwxr-xr-x
compose
18.06
KB
-rwxr-xr-x
composite
14.15
KB
-rwxr-xr-x
config_data
6.97
KB
-rwxr-xr-x
conjure
14.15
KB
-rwxr-xr-x
convert
14.15
KB
-rwxr-xr-x
corelist
15.01
KB
-rwxr-xr-x
cp
138.51
KB
-rwxr-xr-x
cpan
8.16
KB
-rwxr-xr-x
cpan5.34-x86_64-linux-gnu
8.18
KB
-rwxr-xr-x
cpansign
1.98
KB
-rwxr-xr-x
cpapi1
3.16
MB
-rwxr-xr-x
cpapi2
3.16
MB
-rwxr-xr-x
cpapi3
3.16
MB
-rwxr-xr-x
cpio
141.64
KB
-rwxr-xr-x
cpio-filter
1.22
KB
-rwxr-xr-x
cpp
906.82
KB
-rwxr-xr-x
cpp-11
906.82
KB
-rwxr-xr-x
cpp-9
766.74
KB
-rwxr-xr-x
crc32
1.04
KB
-rwxr-xr-x
crontab
38.64
KB
-rwsr-xr-x
csplit
106.51
KB
-rwxr-xr-x
ctstat
22.66
KB
-rwxr-xr-x
curl
254.23
KB
-rwxr-xr-x
cut
38.51
KB
-rwxr-xr-x
cvtsudoers
296.4
KB
-rwxr-xr-x
dash
122.74
KB
-rwxr-xr-x
date
102.51
KB
-rwxr-xr-x
dbus-cleanup-sockets
14.29
KB
-rwxr-xr-x
dbus-daemon
227.32
KB
-rwxr-xr-x
dbus-monitor
26.29
KB
-rwxr-xr-x
dbus-run-session
14.29
KB
-rwxr-xr-x
dbus-send
26.29
KB
-rwxr-xr-x
dbus-update-activation-environ...
14.29
KB
-rwxr-xr-x
dbus-uuidgen
14.29
KB
-rwxr-xr-x
dd
66.52
KB
-rwxr-xr-x
deallocvt
14.23
KB
-rwxr-xr-x
deb-systemd-helper
20.89
KB
-rwxr-xr-x
deb-systemd-invoke
6.01
KB
-rwxr-xr-x
debconf
2.79
KB
-rwxr-xr-x
debconf-apt-progress
11.27
KB
-rwxr-xr-x
debconf-communicate
608
B
-rwxr-xr-x
debconf-copydb
1.68
KB
-rwxr-xr-x
debconf-escape
647
B
-rwxr-xr-x
debconf-get-selections
1.65
KB
-rwxr-xr-x
debconf-getlang
6.94
KB
-rwxr-xr-x
debconf-gettextize
15.97
KB
-rwxr-xr-x
debconf-loadtemplate
933
B
-rwxr-xr-x
debconf-mergetemplate
5.09
KB
-rwxr-xr-x
debconf-set-selections
2.92
KB
-rwxr-xr-x
debconf-show
1.78
KB
-rwxr-xr-x
debconf-updatepo
4.46
KB
-rwxr-xr-x
debget
1.57
KB
-rwxr-xr-x
debian-distro-info
22.95
KB
-rwxr-xr-x
debman
2.87
KB
-rwxr-xr-x
debmany
14.91
KB
-rwxr-xr-x
debugedit
64.47
KB
-rwxr-xr-x
degrep
2.03
KB
-rwxr-xr-x
delpart
14.38
KB
-rwxr-xr-x
delv
44.82
KB
-rwxr-xr-x
derb
26.88
KB
-rwxr-xr-x
df
83.08
KB
-rwxr-xr-x
dfgrep
2.03
KB
-rwxr-xr-x
dglob
2.99
KB
-rwxr-xr-x
dgrep
2.03
KB
-rwxr-xr-x
dh
26.21
KB
-rwxr-xr-x
dh_assistant
13.42
KB
-rwxr-xr-x
dh_auto_build
1.37
KB
-rwxr-xr-x
dh_auto_clean
1.51
KB
-rwxr-xr-x
dh_auto_configure
1.63
KB
-rwxr-xr-x
dh_auto_install
3.22
KB
-rwxr-xr-x
dh_auto_test
1.65
KB
-rwxr-xr-x
dh_autoreconf
6.46
KB
-rwxr-xr-x
dh_autoreconf_clean
2.1
KB
-rwxr-xr-x
dh_autotools-dev_restoreconfig
1.79
KB
-rwxr-xr-x
dh_autotools-dev_updateconfig
1.81
KB
-rwxr-xr-x
dh_bash-completion
4.31
KB
-rwxr-xr-x
dh_bugfiles
3.58
KB
-rwxr-xr-x
dh_builddeb
4.96
KB
-rwxr-xr-x
dh_clean
5.03
KB
-rwxr-xr-x
dh_compress
7.67
KB
-rwxr-xr-x
dh_dwz
4.97
KB
-rwxr-xr-x
dh_fixperms
5.29
KB
-rwxr-xr-x
dh_gencontrol
5.88
KB
-rwxr-xr-x
dh_icons
2.04
KB
-rwxr-xr-x
dh_install
12.16
KB
-rwxr-xr-x
dh_installalternatives
6.09
KB
-rwxr-xr-x
dh_installcatalogs
3.33
KB
-rwxr-xr-x
dh_installchangelogs
7.48
KB
-rwxr-xr-x
dh_installcron
1.65
KB
-rwxr-xr-x
dh_installdeb
13.31
KB
-rwxr-xr-x
dh_installdebconf
3.21
KB
-rwxr-xr-x
dh_installdirs
3.09
KB
-rwxr-xr-x
dh_installdocs
14.65
KB
-rwxr-xr-x
dh_installemacsen
3.74
KB
-rwxr-xr-x
dh_installexamples
5.42
KB
-rwxr-xr-x
dh_installgsettings
2.24
KB
-rwxr-xr-x
dh_installifupdown
1.47
KB
-rwxr-xr-x
dh_installinfo
3.38
KB
-rwxr-xr-x
dh_installinit
13.93
KB
-rwxr-xr-x
dh_installinitramfs
2.5
KB
-rwxr-xr-x
dh_installlogcheck
1.94
KB
-rwxr-xr-x
dh_installlogrotate
1.14
KB
-rwxr-xr-x
dh_installman
13.2
KB
-rwxr-xr-x
dh_installmanpages
4.89
KB
-rwxr-xr-x
dh_installmenu
2.15
KB
-rwxr-xr-x
dh_installmime
1.3
KB
-rwxr-xr-x
dh_installmodules
2.66
KB
-rwxr-xr-x
dh_installpam
1.13
KB
-rwxr-xr-x
dh_installppp
1.38
KB
-rwxr-xr-x
dh_installsystemd
14.06
KB
-rwxr-xr-x
dh_installsystemduser
8.36
KB
-rwxr-xr-x
dh_installsysusers
2.73
KB
-rwxr-xr-x
dh_installtmpfiles
3.24
KB
-rwxr-xr-x
dh_installudev
2.1
KB
-rwxr-xr-x
dh_installwm
3.33
KB
-rwxr-xr-x
dh_installxfonts
2.8
KB
-rwxr-xr-x
dh_link
4.32
KB
-rwxr-xr-x
dh_lintian
1.29
KB
-rwxr-xr-x
dh_listpackages
825
B
-rwxr-xr-x
dh_makeshlibs
15.12
KB
-rwxr-xr-x
dh_md5sums
3.44
KB
-rwxr-xr-x
dh_missing
8.75
KB
-rwxr-xr-x
dh_movefiles
4.69
KB
-rwxr-xr-x
dh_perl
4.61
KB
-rwxr-xr-x
dh_perl_openssl
1.5
KB
-rwxr-xr-x
dh_prep
1.87
KB
-rwxr-xr-x
dh_shlibdeps
6.24
KB
-rwxr-xr-x
dh_strip
16.93
KB
-rwxr-xr-x
dh_strip_nondeterminism
3.12
KB
-rwxr-xr-x
dh_systemd_enable
9.04
KB
-rwxr-xr-x
dh_systemd_start
8.57
KB
-rwxr-xr-x
dh_testdir
1.31
KB
-rwxr-xr-x
dh_testroot
2.91
KB
-rwxr-xr-x
dh_ucf
2.38
KB
-rwxr-xr-x
dh_update_autotools_config
1.84
KB
-rwxr-xr-x
dh_usrlocal
4.2
KB
-rwxr-xr-x
dhomepage
2.03
KB
-rwxr-xr-x
diff
130.55
KB
-rwxr-xr-x
diff3
54.52
KB
-rwxr-xr-x
dig
146.83
KB
-rwxr-xr-x
dir
134.98
KB
-rwxr-xr-x
dircolors
38.52
KB
-rwxr-xr-x
dirmngr
433.02
KB
-rwxr-xr-x
dirmngr-client
54.92
KB
-rwxr-xr-x
dirname
30.38
KB
-rwxr-xr-x
display
14.15
KB
-rwxr-xr-x
distro-info
22.89
KB
-rwxr-xr-x
dman
3.71
KB
-rwxr-xr-x
dmesg
70.61
KB
-rwxr-xr-x
dnsdomainname
22.23
KB
-rwxr-xr-x
dnssec-cds
51.39
KB
-rwxr-xr-x
dnssec-dsfromkey
38.38
KB
-rwxr-xr-x
dnssec-importkey
38.38
KB
-rwxr-xr-x
dnssec-keyfromlabel
42.38
KB
-rwxr-xr-x
dnssec-keygen
46.38
KB
-rwxr-xr-x
dnssec-revoke
30.38
KB
-rwxr-xr-x
dnssec-settime
46.38
KB
-rwxr-xr-x
dnssec-signzone
94.41
KB
-rwxr-xr-x
dnssec-verify
30.39
KB
-rwxr-xr-x
do-release-upgrade
10.42
KB
-rwxr-xr-x
domainname
22.23
KB
-rwxr-xr-x
doveadm
697.76
KB
-rwxr-xr-x
doveconf
185.77
KB
-rwxr-xr-x
dovecot-sysreport
5.81
KB
-rwxr-xr-x
download-mibs
2.56
KB
-rwxr-xr-x
dpigs
3.54
KB
-rwxr-xr-x
dpkg
310.69
KB
-rwxr-xr-x
dpkg-architecture
13.51
KB
-rwxr-xr-x
dpkg-buildflags
7.39
KB
-rwxr-xr-x
dpkg-buildpackage
31.67
KB
-rwxr-xr-x
dpkg-checkbuilddeps
7.45
KB
-rwxr-xr-x
dpkg-deb
134.49
KB
-rwxr-xr-x
dpkg-distaddfile
2.72
KB
-rwxr-xr-x
dpkg-divert
118.49
KB
-rwxr-xr-x
dpkg-genbuildinfo
16.71
KB
-rwxr-xr-x
dpkg-genchanges
17.27
KB
-rwxr-xr-x
dpkg-gencontrol
14.24
KB
-rwxr-xr-x
dpkg-gensymbols
10.65
KB
-rwxr-xr-x
dpkg-maintscript-helper
20.71
KB
-rwxr-xr-x
dpkg-mergechangelogs
8.69
KB
-rwxr-xr-x
dpkg-name
6.63
KB
-rwxr-xr-x
dpkg-parsechangelog
4.83
KB
-rwxr-xr-x
dpkg-query
138.52
KB
-rwxr-xr-x
dpkg-realpath
4.09
KB
-rwxr-xr-x
dpkg-scanpackages
8.5
KB
-rwxr-xr-x
dpkg-scansources
8.96
KB
-rwxr-xr-x
dpkg-shlibdeps
30.96
KB
-rwxr-xr-x
dpkg-source
22.56
KB
-rwxr-xr-x
dpkg-split
98.51
KB
-rwxr-xr-x
dpkg-statoverride
46.26
KB
-rwxr-xr-x
dpkg-trigger
42.41
KB
-rwxr-xr-x
dpkg-vendor
3.19
KB
-rwxr-xr-x
dsync
697.76
KB
-rwxr-xr-x
du
146.51
KB
-rwxr-xr-x
dumpkeys
158.71
KB
-rwxr-xr-x
dvipdf
1007
B
-rwxr-xr-x
dwp
1.82
MB
-rwxr-xr-x
dwz
212.76
KB
-rwxr-xr-x
dzegrep
2.03
KB
-rwxr-xr-x
dzfgrep
2.03
KB
-rwxr-xr-x
dzgrep
2.03
KB
-rwxr-xr-x
ea-php82
5.84
MB
-rwxr-xr-x
ea-php82-pear
383
B
-rwxr-xr-x
ea-php82-pecl
299
B
-rwxr-xr-x
echo
34.3
KB
-rwxr-xr-x
ed
54.49
KB
-rwxr-xr-x
edit
18.06
KB
-rwxr-xr-x
editor
276.52
KB
-rwxr-xr-x
egrep
28
B
-rwxr-xr-x
eject
42.23
KB
-rwxr-xr-x
elfedit
34.72
KB
-rwxr-xr-x
elinks
1.69
MB
-rwxr-xr-x
enc2xs
40.84
KB
-rwxr-xr-x
encguess
3.01
KB
-rwxr-xr-x
enchant-2
26.29
KB
-rwxr-xr-x
enchant-lsmod-2
18.29
KB
-rwxr-xr-x
env
42.95
KB
-rwxr-xr-x
envsubst
34.38
KB
-rwxr-xr-x
eps2eps
639
B
-rwxr-xr-x
eqn
188.45
KB
-rwxr-xr-x
equivs-build
10.07
KB
-rwxr-xr-x
equivs-control
338
B
-rwxr-xr-x
eu-addr2line
30.38
KB
-rwxr-xr-x
eu-ar
42.45
KB
-rwxr-xr-x
eu-elfclassify
32.32
KB
-rwxr-xr-x
eu-elfcmp
334.95
KB
-rwxr-xr-x
eu-elfcompress
34.77
KB
-rwxr-xr-x
eu-elflint
430.95
KB
-rwxr-xr-x
eu-findtextrel
22.45
KB
-rwxr-xr-x
eu-make-debug-archive
2.84
KB
-rwxr-xr-x
eu-nm
351.13
KB
-rwxr-xr-x
eu-objdump
335.08
KB
-rwxr-xr-x
eu-ranlib
22.38
KB
-rwxr-xr-x
eu-readelf
594.98
KB
-rwxr-xr-x
eu-size
22.45
KB
-rwxr-xr-x
eu-stack
31.29
KB
-rwxr-xr-x
eu-strings
22.45
KB
-rwxr-xr-x
eu-strip
358.95
KB
-rwxr-xr-x
eu-unstrip
54.38
KB
-rwxr-xr-x
ex
3.61
MB
-rwxr-xr-x
expand
34.53
KB
-rwxr-xr-x
expiry
22.59
KB
-rwxr-xr-x
expr
102.41
KB
-rwxr-xr-x
factor
70.51
KB
-rwxr-xr-x
faillog
22.59
KB
-rwxr-xr-x
faked-sysv
30.39
KB
-rwxr-xr-x
faked-tcp
30.38
KB
-rwxr-xr-x
fakeroot
3.9
KB
-rwxr-xr-x
fakeroot-sysv
3.9
KB
-rwxr-xr-x
fakeroot-tcp
3.9
KB
-rwxr-xr-x
fallocate
22.38
KB
-rwxr-xr-x
false
26.3
KB
-rwxr-xr-x
fc-cache
22.23
KB
-rwxr-xr-x
fc-cat
18.23
KB
-rwxr-xr-x
fc-conflist
14.23
KB
-rwxr-xr-x
fc-list
14.23
KB
-rwxr-xr-x
fc-match
14.23
KB
-rwxr-xr-x
fc-pattern
14.23
KB
-rwxr-xr-x
fc-query
14.23
KB
-rwxr-xr-x
fc-scan
14.23
KB
-rwxr-xr-x
fc-validate
14.23
KB
-rwxr-xr-x
fgconsole
14.23
KB
-rwxr-xr-x
fgrep
28
B
-rwxr-xr-x
filan
46.48
KB
-rwxr-xr-x
file
26.56
KB
-rwxr-xr-x
fincore
22.42
KB
-rwxr-xr-x
find
275.48
KB
-rwxr-xr-x
find-dbgsym-packages
14.79
KB
-rwxr-xr-x
find-debuginfo
21.28
KB
-rwxr-xr-x
findmnt
63.61
KB
-rwxr-xr-x
flock
22.48
KB
-rwxr-xr-x
fmt
38.51
KB
-rwxr-xr-x
fold
34.51
KB
-rwxr-xr-x
free
26.23
KB
-rwxr-xr-x
ftp
178.9
KB
-rwxr-xr-x
funzip
22.3
KB
-rwxr-xr-x
fuser
39.31
KB
-rwxr-xr-x
fusermount
34.38
KB
-rwxr-xr-x
fusermount3
34.38
KB
-rwxr-xr-x
g++
910.82
KB
-rwxr-xr-x
g++-11
910.82
KB
-rwxr-xr-x
g++-9
770.74
KB
-rwxr-xr-x
gapplication
22.38
KB
-rwxr-xr-x
gawk
688.46
KB
-rwxr-xr-x
gcc
906.82
KB
-rwxr-xr-x
gcc-11
906.82
KB
-rwxr-xr-x
gcc-9
766.74
KB
-rwxr-xr-x
gcc-ar
26.54
KB
-rwxr-xr-x
gcc-ar-11
26.54
KB
-rwxr-xr-x
gcc-ar-9
26.54
KB
-rwxr-xr-x
gcc-nm
26.54
KB
-rwxr-xr-x
gcc-nm-11
26.54
KB
-rwxr-xr-x
gcc-nm-9
22.53
KB
-rwxr-xr-x
gcc-ranlib
26.54
KB
-rwxr-xr-x
gcc-ranlib-11
26.54
KB
-rwxr-xr-x
gcc-ranlib-9
26.54
KB
-rwxr-xr-x
gcov
400.01
KB
-rwxr-xr-x
gcov-11
400.01
KB
-rwxr-xr-x
gcov-9
383.92
KB
-rwxr-xr-x
gcov-dump
251.84
KB
-rwxr-xr-x
gcov-dump-11
251.84
KB
-rwxr-xr-x
gcov-dump-9
235.79
KB
-rwxr-xr-x
gcov-tool
275.93
KB
-rwxr-xr-x
gcov-tool-11
275.93
KB
-rwxr-xr-x
gcov-tool-9
267.89
KB
-rwxr-xr-x
gd2copypal
14.15
KB
-rwxr-xr-x
gd2togif
14.15
KB
-rwxr-xr-x
gd2topng
14.15
KB
-rwxr-xr-x
gdbm_dump
30.88
KB
-rwxr-xr-x
gdbm_dump-nolfs
51.02
KB
-rwxr-xr-x
gdbm_load
35.12
KB
-rwxr-xr-x
gdbm_load-nolfs
75.29
KB
-rwxr-xr-x
gdbmtool
146.07
KB
-rwxr-xr-x
gdbmtool-nolfs
190.16
KB
-rwxr-xr-x
gdbus
50.38
KB
-rwxr-xr-x
gdbus-codegen
1.99
KB
-rwxr-xr-x
gdcmpgif
14.15
KB
-rwxr-xr-x
gdparttopng
14.15
KB
-rwxr-xr-x
gdtopng
14.15
KB
-rwxr-xr-x
genbrk
14.78
KB
-rwxr-xr-x
gencat
26.37
KB
-rwxr-xr-x
gencfu
14.73
KB
-rwxr-xr-x
gencnval
26.61
KB
-rwxr-xr-x
gendict
26.78
KB
-rwxr-xr-x
gendiff
503
B
-rwxr-xr-x
genrb
147.91
KB
-rwxr-xr-x
geqn
188.45
KB
-rwxr-xr-x
getconf
34.29
KB
-rwxr-xr-x
getent
38.65
KB
-rwxr-xr-x
getfacl
30.81
KB
-rwxr-xr-x
getkeycodes
14.23
KB
-rwxr-xr-x
getopt
22.38
KB
-rwxr-xr-x
gettext
34.38
KB
-rwxr-xr-x
gettext.sh
5.07
KB
-rwxr-xr-x
gettextize
41.28
KB
-rwxr-xr-x
ghostscript
14.15
KB
-rwxr-xr-x
giftogd2
14.15
KB
-rwxr-xr-x
ginstall-info
103.23
KB
-rwxr-xr-x
gio
90.4
KB
-rwxr-xr-x
gio-querymodules
14.3
KB
-rwxr-xr-x
git
4.05
MB
-rwxr-xr-x
git-receive-pack
4.05
MB
-rwxr-xr-x
git-shell
767.99
KB
-rwxr-xr-x
git-upload-archive
4.05
MB
-rwxr-xr-x
git-upload-pack
4.05
MB
-rwxr-xr-x
glib-compile-resources
46.31
KB
-rwxr-xr-x
glib-compile-schemas
50.3
KB
-rwxr-xr-x
glib-genmarshal
40.14
KB
-rwxr-xr-x
glib-gettextize
5.26
KB
-rwxr-xr-x
glib-mkenums
30.08
KB
-rwxr-xr-x
gm
14.15
KB
-rwxr-xr-x
gmake
249.7
KB
-rwxr-xr-x
gobject-query
14.32
KB
-rwxr-xr-x
gold
3.04
MB
-rwxr-xr-x
gpasswd
70.38
KB
-rwsr-xr-x
gpg
1
MB
-rwxr-xr-x
gpg-agent
312.96
KB
-rwxr-xr-x
gpg-connect-agent
82.99
KB
-rwxr-xr-x
gpg-wks-server
115.05
KB
-rwxr-xr-x
gpg-zip
3.43
KB
-rwxr-xr-x
gpg2
1
MB
-rwxr-xr-x
gpgcompose
496.48
KB
-rwxr-xr-x
gpgconf
126.73
KB
-rwxr-xr-x
gpgparsemail
34.38
KB
-rwxr-xr-x
gpgsm
418.9
KB
-rwxr-xr-x
gpgsplit
26.55
KB
-rwxr-xr-x
gpgtar
63.39
KB
-rwxr-xr-x
gpgv
271.04
KB
-rwxr-xr-x
gpic
200.04
KB
-rwxr-xr-x
gprof
111.79
KB
-rwxr-xr-x
grep
178.45
KB
-rwxr-xr-x
grep-aptavail
48.08
KB
-rwxr-xr-x
grep-available
48.08
KB
-rwxr-xr-x
grep-dctrl
48.08
KB
-rwxr-xr-x
grep-debtags
48.08
KB
-rwxr-xr-x
grep-status
48.08
KB
-rwxr-xr-x
gresource
22.3
KB
-rwxr-xr-x
groff
94.5
KB
-rwxr-xr-x
grog
2.71
KB
-rwxr-xr-x
grops
162.55
KB
-rwxr-xr-x
grotty
118.52
KB
-rwxr-xr-x
groups
34.51
KB
-rwxr-xr-x
grub-editenv
376.95
KB
-rwxr-xr-x
grub-file
816.45
KB
-rwxr-xr-x
grub-fstest
937.92
KB
-rwxr-xr-x
grub-glue-efi
247.86
KB
-rwxr-xr-x
grub-kbdcomp
1.64
KB
-rwxr-xr-x
grub-menulst2cfg
228.13
KB
-rwxr-xr-x
grub-mkfont
272.42
KB
-rwxr-xr-x
grub-mkimage
361.05
KB
-rwxr-xr-x
grub-mklayout
252.17
KB
-rwxr-xr-x
grub-mknetdir
417.66
KB
-rwxr-xr-x
grub-mkpasswd-pbkdf2
256.2
KB
-rwxr-xr-x
grub-mkrelpath
247.58
KB
-rwxr-xr-x
grub-mkrescue
998.47
KB
-rwxr-xr-x
grub-mkstandalone
493.95
KB
-rwxr-xr-x
grub-mount
760.84
KB
-rwxr-xr-x
grub-ntldr-img
38.24
KB
-rwxr-xr-x
grub-render-label
828.83
KB
-rwxr-xr-x
grub-script-check
275.7
KB
-rwxr-xr-x
grub-syslinux2cfg
781.34
KB
-rwxr-xr-x
gs
14.15
KB
-rwxr-xr-x
gsbj
350
B
-rwxr-xr-x
gsdj
352
B
-rwxr-xr-x
gsdj500
352
B
-rwxr-xr-x
gsettings
30.3
KB
-rwxr-xr-x
gslj
353
B
-rwxr-xr-x
gslp
350
B
-rwxr-xr-x
gsnd
277
B
-rwxr-xr-x
gtbl
126.48
KB
-rwxr-xr-x
gtester
30.33
KB
-rwxr-xr-x
gtester-report
18.64
KB
-rwxr-xr-x
gunzip
2.29
KB
-rwxr-xr-x
gzexe
6.3
KB
-rwxr-xr-x
gzip
91.23
KB
-rwxr-xr-x
h2ph
28.54
KB
-rwxr-xr-x
h2xs
59.51
KB
-rwxr-xr-x
hardlink
34.43
KB
-rwxr-xr-x
hd
50.39
KB
-rwxr-xr-x
head
42.51
KB
-rwxr-xr-x
helpztags
2.46
KB
-rwxr-xr-x
hexdump
50.39
KB
-rwxr-xr-x
host
118.82
KB
-rwxr-xr-x
hostid
30.51
KB
-rwxr-xr-x
hostname
22.23
KB
-rwxr-xr-x
hostnamectl
30.38
KB
-rwxr-xr-x
htdbm
26.15
KB
-rwxr-xr-x
htdigest
14.15
KB
-rwxr-xr-x
html2markdown
404
B
-rwxr-xr-x
html2markdown.py3
404
B
-rwxr-xr-x
htpasswd
26.15
KB
-rwxr-xr-x
httxt2dbm
14.15
KB
-rwxr-xr-x
hwe-support-status
10.58
KB
-rwxr-xr-x
i386
26.65
KB
-rwxr-xr-x
i686-linux-gnu-pkg-config
2.18
KB
-rwxr-xr-x
ibd2sdi
294.74
KB
-rwxr-xr-x
iconv
66.41
KB
-rwxr-xr-x
icuexportdata
30.98
KB
-rwxr-xr-x
icuinfo
14.62
KB
-rwxr-xr-x
id
38.51
KB
-rwxr-xr-x
identify
14.15
KB
-rwxr-xr-x
ifnames
4.08
KB
-rwxr-xr-x
import
14.15
KB
-rwxr-xr-x
imunify-antivirus
1
KB
-rwxr-xr-x
imunify-service
1020
B
-rwxr-xr-x
imunify360-agent
1
KB
-rwxr-xr-x
imunify360-command-wrapper
8.4
KB
-rwxr-xr-x
info
301.74
KB
-rwxr-xr-x
infobrowser
301.74
KB
-rwxr-xr-x
infocmp
62.38
KB
-rwxr-xr-x
infotocap
86.41
KB
-rwxr-xr-x
innochecksum
199.39
KB
-rwxr-xr-x
install
142.52
KB
-rwxr-xr-x
install-info
103.23
KB
-rwxr-xr-x
instmodsh
4.27
KB
-rwxr-xr-x
ionice
18.38
KB
-rwxr-xr-x
iostat
54.44
KB
-rwxr-xr-x
ip
702.05
KB
-rwxr-xr-x
ipcmk
22.45
KB
-rwxr-xr-x
ipcrm
18.38
KB
-rwxr-xr-x
ipcs
38.38
KB
-rwxr-xr-x
iptables-xml
96.95
KB
-rwxr-xr-x
ischroot
14.2
KB
-rwxr-xr-x
ispell-wrapper
7.05
KB
-rwxr-xr-x
join
46.55
KB
-rwxr-xr-x
join-dctrl
34.83
KB
-rwxr-xr-x
journalctl
78.39
KB
-rwxr-xr-x
json_pp
4.88
KB
-rwxr-xr-x
json_reformat
18.25
KB
-rwxr-xr-x
json_verify
14.15
KB
-rwxr-xr-x
json_xs
6.85
KB
-rwxr-xr-x
kbd_mode
14.52
KB
-rwxr-xr-x
kbdinfo
18.23
KB
-rwxr-xr-x
kbxutil
62.83
KB
-rwxr-xr-x
kernel-install
4.79
KB
-rwxr-xr-x
keyctl
46.38
KB
-rwxr-xr-x
kill
30.23
KB
-rwxr-xr-x
killall
31.34
KB
-rwxr-xr-x
kmod
166.36
KB
-rwxr-xr-x
laptop-detect
3.73
KB
-rwxr-xr-x
last
34.38
KB
-rwxr-xr-x
lastb
34.38
KB
-rwxr-xr-x
lastlog
27.63
KB
-rwxr-xr-x
lcf
7.6
KB
-rwxr-xr-x
lchfn
22.3
KB
-rwxr-xr-x
lchsh
22.3
KB
-rwxr-xr-x
ld
1.66
MB
-rwxr-xr-x
ld.bfd
1.66
MB
-rwxr-xr-x
ld.gold
3.04
MB
-rwxr-xr-x
ldd
5.32
KB
-rwxr-xr-x
less
194.38
KB
-rwxr-xr-x
lessecho
14.31
KB
-rwxr-xr-x
lessfile
8.83
KB
-rwxr-xr-x
lesskey
23.7
KB
-rwxr-xr-x
lesspipe
8.83
KB
-rwxr-xr-x
lexgrog
99.75
KB
-rwxr-xr-x
libnetcfg
15.41
KB
-rwxr-xr-x
libpng-config
2.41
KB
-rwxr-xr-x
libpng16-config
2.41
KB
-rwxr-xr-x
libtool
366.5
KB
-rwxr-xr-x
libtoolize
128.26
KB
-rwxr-xr-x
link
30.51
KB
-rwxr-xr-x
links
2.22
MB
-rwxr-xr-x
linux-boot-prober
1.54
KB
-rwxr-xr-x
linux-check-removal
3.99
KB
-rwxr-xr-x
linux-update-symlinks
6.17
KB
-rwxr-xr-x
linux-version
2.63
KB
-rwxr-xr-x
linux32
26.65
KB
-rwxr-xr-x
linux64
26.65
KB
-rwxr-xr-x
ln
58.51
KB
-rwxr-xr-x
lnstat
22.66
KB
-rwxr-xr-x
loadkeys
198.76
KB
-rwxr-xr-x
loadunimap
30.32
KB
-rwxr-xr-x
locale
57.56
KB
-rwxr-xr-x
locale-check
14.15
KB
-rwxr-xr-x
localectl
26.37
KB
-rwxr-xr-x
localedef
326.96
KB
-rwxr-xr-x
logger
34.97
KB
-rwxr-xr-x
login
51.73
KB
-rwxr-xr-x
loginctl
58.48
KB
-rwxr-xr-x
logname
30.51
KB
-rwxr-xr-x
logresolve
14.16
KB
-rwxr-xr-x
look
18.38
KB
-rwxr-xr-x
lowntfs-3g
114.98
KB
-rwxr-xr-x
ls
134.98
KB
-rwxr-xr-x
lsattr
14.31
KB
-rwxr-xr-x
lsb_release
3.55
KB
-rwxr-xr-x
lsblk
122.38
KB
-rwxr-xr-x
lscpu
98.38
KB
-rwxr-xr-x
lshw
901.2
KB
-rwxr-xr-x
lsinitramfs
706
B
-rwxr-xr-x
lsipc
50.38
KB
-rwxr-xr-x
lslocks
30.7
KB
-rwxr-xr-x
lslogins
50.38
KB
-rwxr-xr-x
lsmem
34.38
KB
-rwxr-xr-x
lsmod
166.36
KB
-rwxr-xr-x
lsns
38.38
KB
-rwxr-xr-x
lsof
163.62
KB
-rwxr-xr-x
lspci
92.08
KB
-rwxr-xr-x
lspgpot
1.06
KB
-rwxr-xr-x
lsphp
937
B
-rwxr-xr-x
lsusb
246.52
KB
-rwxr-xr-x
lto-dump-11
23.73
MB
-rwxr-xr-x
ltrace
269.2
KB
-rwxr-xr-x
lua
190.3
KB
-rwxr-xr-x
lua5.1
190.3
KB
-rwxr-xr-x
luac
118.26
KB
-rwxr-xr-x
luac5.1
118.26
KB
-rwxr-xr-x
lwp-download
10.05
KB
-rwxr-xr-x
lwp-dump
2.65
KB
-rwxr-xr-x
lwp-mirror
2.36
KB
-rwxr-xr-x
lwp-request
15.82
KB
-rwxr-xr-x
lz4_decompress
71.15
KB
-rwxr-xr-x
lzcat
82.52
KB
-rwxr-xr-x
lzcmp
6.86
KB
-rwxr-xr-x
lzdiff
6.86
KB
-rwxr-xr-x
lzegrep
5.87
KB
-rwxr-xr-x
lzfgrep
5.87
KB
-rwxr-xr-x
lzgrep
5.87
KB
-rwxr-xr-x
lzless
1.76
KB
-rwxr-xr-x
lzma
82.52
KB
-rwxr-xr-x
lzmainfo
14.23
KB
-rwxr-xr-x
lzmore
2.11
KB
-rwxr-xr-x
m4
154.37
KB
-rwxr-xr-x
make
249.7
KB
-rwxr-xr-x
make-first-existing-target
4.79
KB
-rwxr-xr-x
makeconv
50.89
KB
-rwxr-xr-x
man
117.68
KB
-rwxr-xr-x
man-recode
35.68
KB
-rwxr-xr-x
mandb
139.94
KB
-rwxr-xr-x
manpath
30.78
KB
-rwxr-xr-x
mapscrn
30.32
KB
-rwxr-xr-x
mawk
154.79
KB
-rwxr-xr-x
mcookie
26.45
KB
-rwxr-xr-x
md5sum
42.41
KB
-rwxr-xr-x
md5sum.textutils
42.41
KB
-rwxr-xr-x
mdig
50.4
KB
-rwxr-xr-x
memusage
7.32
KB
-rwxr-xr-x
memusagestat
22.37
KB
-rwxr-xr-x
mesg
14.38
KB
-rwxr-xr-x
migrate-pubring-from-classic-g...
2.99
KB
-rwxr-xr-x
mk_modmap
15.78
KB
-rwxr-xr-x
mkdir
66.51
KB
-rwxr-xr-x
mkfifo
38.51
KB
-rwxr-xr-x
mknod
42.51
KB
-rwxr-xr-x
mktemp
38.51
KB
-rwxr-xr-x
mlock
14.15
KB
-rwxr-sr-x
mogrify
14.15
KB
-rwxr-xr-x
montage
14.15
KB
-rwxr-xr-x
more
42.38
KB
-rwxr-xr-x
mount
46.38
KB
-rwxr-xr-x
mountpoint
18.38
KB
-rwxr-xr-x
mpstat
50.45
KB
-rwxr-xr-x
msgattrib
26.38
KB
-rwxr-xr-x
msgcat
26.38
KB
-rwxr-xr-x
msgcmp
26.38
KB
-rwxr-xr-x
msgcomm
26.38
KB
-rwxr-xr-x
msgconv
22.38
KB
-rwxr-xr-x
msgen
22.38
KB
-rwxr-xr-x
msgexec
22.38
KB
-rwxr-xr-x
msgfilter
34.38
KB
-rwxr-xr-x
msgfmt
82.59
KB
-rwxr-xr-x
msggrep
114.46
KB
-rwxr-xr-x
msginit
66.39
KB
-rwxr-xr-x
msgmerge
74.41
KB
-rwxr-xr-x
msgunfmt
34.39
KB
-rwxr-xr-x
msguniq
22.38
KB
-rwxr-xr-x
mt
66.73
KB
-rwxr-xr-x
mt-gnu
66.73
KB
-rwxr-xr-x
mtr
72.25
KB
-rwxr-xr-x
mtr-packet
38.3
KB
-rwxr-xr-x
mtrace
6.43
KB
-rwxr-xr-x
mv
134.52
KB
-rwxr-xr-x
my_print_defaults
171.24
KB
-rwxr-xr-x
myisam_ftdump
6.35
MB
-rwxr-xr-x
myisamchk
6.55
MB
-rwxr-xr-x
myisamlog
6.38
MB
-rwxr-xr-x
myisampack
6.41
MB
-rwxr-xr-x
mysql
7.29
MB
-rwxr-xr-x
mysql-secret-store-login-path
7.81
MB
-rwxr-xr-x
mysql_config
4.96
KB
-rwxr-xr-x
mysql_config_editor
153.03
KB
-rwxr-xr-x
mysql_migrate_keyring
7.03
MB
-rwxr-xr-x
mysql_secure_installation
6.96
MB
-rwxr-xr-x
mysql_ssl_rsa_setup
194.9
KB
-rwxr-xr-x
mysql_tzinfo_to_sql
74.91
KB
-rwxr-xr-x
mysql_upgrade
7.04
MB
-rwxr-xr-x
mysqladmin
6.98
MB
-rwxr-xr-x
mysqlbinlog
7.3
MB
-rwxr-xr-x
mysqlcheck
6.98
MB
-rwxr-xr-x
mysqld_multi
26.76
KB
-rwxr-xr-x
mysqld_safe
28.45
KB
-rwxr-xr-x
mysqldump
7.06
MB
-rwxr-xr-x
mysqldumpslow
7.54
KB
-rwxr-xr-x
mysqlimport
6.97
MB
-rwxr-xr-x
mysqlpump
7.4
MB
-rwxr-xr-x
mysqlsh
29
MB
-rwxr-xr-x
mysqlshow
6.97
MB
-rwxr-xr-x
mysqlslap
6.99
MB
-rwxr-xr-x
named-checkconf
38.4
KB
-rwxr-xr-x
named-checkzone
30.4
KB
-rwxr-xr-x
named-compilezone
30.4
KB
-rwxr-xr-x
named-journalprint
14.3
KB
-rwxr-xr-x
named-nzd2nzf
14.3
KB
-rwxr-xr-x
named-rrchecker
22.3
KB
-rwxr-xr-x
namei
22.38
KB
-rwxr-xr-x
nano
276.52
KB
-rwxr-xr-x
nawk
688.46
KB
-rwxr-xr-x
nc
38.63
KB
-rwxr-xr-x
nc.openbsd
38.63
KB
-rwxr-xr-x
ncal
36.95
KB
-rwxr-xr-x
ncurses5-config
8.21
KB
-rwxr-xr-x
ncurses6-config
8.21
KB
-rwxr-xr-x
ncursesw5-config
8.21
KB
-rwxr-xr-x
ncursesw6-config
8.21
KB
-rwxr-xr-x
neqn
913
B
-rwxr-xr-x
netcat
38.63
KB
-rwxr-xr-x
netstat
154.59
KB
-rwxr-xr-x
networkctl
102.38
KB
-rwxr-xr-x
networkd-dispatcher
19.71
KB
-rwxr-xr-x
newgrp
39.55
KB
-rwxr-xr-x
ngettext
34.38
KB
-rwxr-xr-x
nice
34.51
KB
-rwxr-xr-x
nisdomainname
22.23
KB
-rwxr-xr-x
nl
98.57
KB
-rwxr-xr-x
nm
43.63
KB
-rwxr-xr-x
nohup
34.41
KB
-rwxr-xr-x
nproc
34.51
KB
-rwxr-xr-x
nroff
3.22
KB
-rwxr-xr-x
nsec3hash
14.3
KB
-rwxr-xr-x
nsenter
26.6
KB
-rwxr-xr-x
nslookup
122.82
KB
-rwxr-xr-x
nstat
30.38
KB
-rwxr-xr-x
nsupdate
74.55
KB
-rwxr-xr-x
ntfs-3g
159.01
KB
-rwxr-xr-x
ntfs-3g.probe
14.38
KB
-rwxr-xr-x
ntfscat
26.38
KB
-rwxr-xr-x
ntfscluster
38.38
KB
-rwxr-xr-x
ntfscmp
30.38
KB
-rwxr-xr-x
ntfsdecrypt
42.38
KB
-rwxr-xr-x
ntfsfallocate
26.38
KB
-rwxr-xr-x
ntfsfix
34.38
KB
-rwxr-xr-x
ntfsinfo
54.38
KB
-rwxr-xr-x
ntfsls
27.45
KB
-rwxr-xr-x
ntfsmove
30.38
KB
-rwxr-xr-x
ntfsrecover
106.38
KB
-rwxr-xr-x
ntfssecaudit
78.86
KB
-rwxr-xr-x
ntfstruncate
26.3
KB
-rwxr-xr-x
ntfsusermap
18.3
KB
-rwxr-xr-x
ntfswipe
42.91
KB
-rwxr-xr-x
numfmt
54.54
KB
-rwxr-xr-x
objcopy
162.54
KB
-rwxr-xr-x
objdump
369.13
KB
-rwxr-xr-x
od
66.51
KB
-rwxr-xr-x
on_ac_power
2.18
KB
-rwxr-xr-x
open
18.06
KB
-rwxr-xr-x
openssl
977.8
KB
-rwxr-xr-x
openvt
22.59
KB
-rwxr-xr-x
os-prober
4.44
KB
-rwxr-xr-x
pager
194.38
KB
-rwxr-xr-x
paperconf
14.15
KB
-rwxr-xr-x
partx
58.38
KB
-rwxr-xr-x
passwd
58.57
KB
-rwsr-xr-x
paste
34.41
KB
-rwxr-xr-x
patch
186.52
KB
-rwxr-xr-x
pathchk
34.51
KB
-rwxr-xr-x
pcre-config
2.29
KB
-rwxr-xr-x
pcre2-config
1.93
KB
-rwxr-xr-x
pcre2grep
52.34
KB
-rwxr-xr-x
pcre2test
161.33
KB
-rwxr-xr-x
pdb2
45.02
KB
-rwxr-xr-x
pdb2.7
45.02
KB
-rwxr-xr-x
pdb3
61.74
KB
-rwxr-xr-x
pdb3.10
61.74
KB
-rwxr-xr-x
pdf2dsc
698
B
-rwxr-xr-x
pdf2ps
909
B
-rwxr-xr-x
pdns_control
3.71
MB
-rwxr-xr-x
pdnsutil
53.13
MB
-rwxr-xr-x
peekfd
14.3
KB
-rwxr-xr-x
perl
3.63
MB
-rwxr-xr-x
perl5.34-x86_64-linux-gnu
14.3
KB
-rwxr-xr-x
perl5.34.0
3.63
MB
-rwxr-xr-x
perlbug
44.12
KB
-rwxr-xr-x
perldoc
125
B
-rwxr-xr-x
perlivp
10.61
KB
-rwxr-xr-x
perlml
14.02
KB
-rwxr-xr-x
perlthanks
44.12
KB
-rwxr-xr-x
perror
1.46
MB
-rwxr-xr-x
pf2afm
498
B
-rwxr-xr-x
pfbtopfa
516
B
-rwxr-xr-x
pgrep
30.24
KB
-rwxr-xr-x
php
937
B
-rwxr-xr-x
pic
200.04
KB
-rwxr-xr-x
pico
276.52
KB
-rwxr-xr-x
piconv
8.16
KB
-rwxr-xr-x
pidof
30.38
KB
-rwxr-xr-x
pidstat
50.45
KB
-rwxr-xr-x
pidwait
30.24
KB
-rwxr-xr-x
pigz
134.36
KB
-rwxr-xr-x
pinentry
58.65
KB
-rwxr-xr-x
pinentry-curses
58.65
KB
-rwxr-xr-x
ping
74.88
KB
-rwxr-xr-x
ping4
74.88
KB
-rwxr-xr-x
ping6
74.88
KB
-rwxr-xr-x
pinky
34.41
KB
-rwxr-xr-x
pip
221
B
-rwxr-xr-x
pip3
221
B
-rwxr-xr-x
pip3.10
221
B
-rwxr-xr-x
pkg-config
50.28
KB
-rwxr-xr-x
pkgdata
43.53
KB
-rwxr-xr-x
pkill
30.24
KB
-rwxr-xr-x
pl2pm
4.43
KB
-rwxr-xr-x
pldd
22.37
KB
-rwxr-xr-x
plymouth
46.3
KB
-rwxr-xr-x
pmap
34.24
KB
-rwxr-xr-x
png-fix-itxt
14.3
KB
-rwxr-xr-x
pngfix
58.38
KB
-rwxr-xr-x
pngtogd
14.15
KB
-rwxr-xr-x
pngtogd2
14.15
KB
-rwxr-xr-x
po2debconf
8.47
KB
-rwxr-xr-x
pod2html
4.04
KB
-rwxr-xr-x
pod2man
14.68
KB
-rwxr-xr-x
pod2markdown
3.56
KB
-rwxr-xr-x
pod2readme
4.57
KB
-rwxr-xr-x
pod2text
10.55
KB
-rwxr-xr-x
pod2usage
4.01
KB
-rwxr-xr-x
podchecker
3.57
KB
-rwxr-xr-x
podebconf-display-po
12.67
KB
-rwxr-xr-x
podebconf-report-po
31.76
KB
-rwxr-xr-x
popbugs
4.77
KB
-rwxr-xr-x
pphs
404
B
-rwxr-xr-x
pr
66.58
KB
-rwxr-xr-x
precat
5.52
KB
-rwxr-xr-x
preconv
54.48
KB
-rwxr-xr-x
preunzip
5.52
KB
-rwxr-xr-x
prezip
5.52
KB
-rwxr-xr-x
prezip-bin
14.3
KB
-rwxr-xr-x
print
18.06
KB
-rwxr-xr-x
printafm
395
B
-rwxr-xr-x
printenv
30.38
KB
-rwxr-xr-x
printf
50.44
KB
-rwxr-xr-x
prlimit
26.89
KB
-rwxr-xr-x
procan
30.4
KB
-rwxr-xr-x
prove
13.34
KB
-rwxr-xr-x
prtstat
22.38
KB
-rwxr-xr-x
ps
138.45
KB
-rwxr-xr-x
ps2ascii
631
B
-rwxr-xr-x
ps2epsi
1.23
KB
-rwxr-xr-x
ps2pdf
272
B
-rwxr-xr-x
ps2pdf12
215
B
-rwxr-xr-x
ps2pdf13
215
B
-rwxr-xr-x
ps2pdf14
215
B
-rwxr-xr-x
ps2pdfwr
1.05
KB
-rwxr-xr-x
ps2ps
647
B
-rwxr-xr-x
ps2ps2
669
B
-rwxr-xr-x
ps2txt
631
B
-rwxr-xr-x
psfaddtable
26.23
KB
-rwxr-xr-x
psfgettable
26.23
KB
-rwxr-xr-x
psfstriptable
26.23
KB
-rwxr-xr-x
psfxtable
26.23
KB
-rwxr-xr-x
pslog
14.3
KB
-rwxr-xr-x
pstree
35.32
KB
-rwxr-xr-x
pstree.x11
35.32
KB
-rwxr-xr-x
ptar
3.48
KB
-rwxr-xr-x
ptardiff
2.58
KB
-rwxr-xr-x
ptargrep
4.29
KB
-rwxr-xr-x
ptx
126.55
KB
-rwxr-xr-x
pwd
34.51
KB
-rwxr-xr-x
pwdx
14.23
KB
-rwxr-xr-x
py3clean
7.63
KB
-rwxr-xr-x
py3compile
12.88
KB
-rwxr-xr-x
py3versions
11.63
KB
-rwxr-xr-x
pyclean
4.03
KB
-rwxr-xr-x
pycompile
11.59
KB
-rwxr-xr-x
pydoc2
79
B
-rwxr-xr-x
pydoc2.7
79
B
-rwxr-xr-x
pydoc3
79
B
-rwxr-xr-x
pydoc3.10
79
B
-rwxr-xr-x
pygettext2
21.56
KB
-rwxr-xr-x
pygettext2.7
21.56
KB
-rwxr-xr-x
pygettext3
23.67
KB
-rwxr-xr-x
pygettext3.10
23.67
KB
-rwxr-xr-x
python2
3.43
MB
-rwxr-xr-x
python2.7
3.43
MB
-rwxr-xr-x
python2.7-config
2.94
KB
-rwxr-xr-x
python3
5.66
MB
-rwxr-xr-x
python3-config
3.05
KB
-rwxr-xr-x
python3.10
5.66
MB
-rwxr-xr-x
python3.10-config
3.05
KB
-rwxr-xr-x
pyversions
14.76
KB
-rwxr-xr-x
pzstd
702.47
KB
-rwxr-xr-x
quota
79.59
KB
-rwsr-xr-x
quotasync
62.88
KB
-rwxr-xr-x
ranlib
54.48
KB
-rwxr-xr-x
rbash
1.33
MB
-rwxr-xr-x
rcp
130.59
KB
-rwxr-xr-x
rdma
98.52
KB
-rwxr-xr-x
readelf
758.44
KB
-rwxr-xr-x
readlink
38.41
KB
-rwxr-xr-x
realpath
38.41
KB
-rwxr-xr-x
recode-sr-latin
14.38
KB
-rwxr-xr-x
red
89
B
-rwxr-xr-x
regexp-assemble
4.92
KB
-rwxr-xr-x
renice
14.38
KB
-rwxr-xr-x
reset
26.31
KB
-rwxr-xr-x
resizecons
26.32
KB
-rwxr-xr-x
resizepart
22.38
KB
-rwxr-xr-x
resolvectl
130.52
KB
-rwxr-xr-x
rev
14.38
KB
-rwxr-xr-x
rgrep
30
B
-rwxr-xr-x
rlogin
827.04
KB
-rwxr-xr-x
rm
58.51
KB
-rwxr-xr-x
rmdir
42.41
KB
-rwxr-xr-x
rnano
276.52
KB
-rwxr-xr-x
routef
208
B
-rwxr-xr-x
routel
1.62
KB
-rwxr-xr-x
rpcgen
94.59
KB
-rwxr-xr-x
rpcinfo
34.48
KB
-rwxr-xr-x
rpm
22.78
KB
-rwxr-xr-x
rpm2archive
22.45
KB
-rwxr-xr-x
rpm2cpio
14.3
KB
-rwxr-xr-x
rpmbuild
32.68
KB
-rwxr-xr-x
rpmdb
18.89
KB
-rwxr-xr-x
rpmgraph
18.59
KB
-rwxr-xr-x
rpmkeys
14.73
KB
-rwxr-xr-x
rpmquery
22.78
KB
-rwxr-xr-x
rpmsign
19.08
KB
-rwxr-xr-x
rpmspec
18.92
KB
-rwxr-xr-x
rpmverify
22.78
KB
-rwxr-xr-x
rrsync
12.34
KB
-rwxr-xr-x
rsh
827.04
KB
-rwxr-xr-x
rsync
506.13
KB
-rwxr-xr-x
rsync-ssl
5.02
KB
-rwxr-xr-x
rtstat
22.66
KB
-rwxr-xr-x
run-mailcap
18.06
KB
-rwxr-xr-x
run-parts
26.54
KB
-rwxr-xr-x
run-with-aspell
57
B
-rwxr-xr-x
runcon
34.51
KB
-rwxr-xr-x
rview
3.61
MB
-rwxr-xr-x
rvim
3.61
MB
-rwxr-xr-x
sadf
390.24
KB
-rwxr-xr-x
sar
133.45
KB
-rwxr-xr-x
sar.sysstat
133.45
KB
-rwxr-xr-x
savelog
10.24
KB
-rwxr-xr-x
scandeps
6.45
KB
-rwxr-xr-x
scp
130.59
KB
-rwxr-xr-x
screendump
14.15
KB
-rwxr-xr-x
script
50.38
KB
-rwxr-xr-x
scriptlive
42.38
KB
-rwxr-xr-x
scriptreplay
34.38
KB
-rwxr-xr-x
sdiff
46.39
KB
-rwxr-xr-x
sed
110.57
KB
-rwxr-xr-x
see
18.06
KB
-rwxr-xr-x
select-default-iwrap
474
B
-rwxr-xr-x
select-editor
2.39
KB
-rwxr-xr-x
sensible-browser
1.26
KB
-rwxr-xr-x
sensible-editor
1.24
KB
-rwxr-xr-x
sensible-pager
565
B
-rwxr-xr-x
sepdebugcrcfix
18.59
KB
-rwxr-xr-x
seq
46.51
KB
-rwxr-xr-x
setarch
26.65
KB
-rwxr-xr-x
setfacl
42.91
KB
-rwxr-xr-x
setfont
50.32
KB
-rwxr-xr-x
setkeycodes
14.23
KB
-rwxr-xr-x
setleds
18.21
KB
-rwxr-xr-x
setlogcons
14.23
KB
-rwxr-xr-x
setmetamode
14.26
KB
-rwxr-xr-x
setpci
30.38
KB
-rwxr-xr-x
setpriv
38.38
KB
-rwxr-xr-x
setsid
14.38
KB
-rwxr-xr-x
setterm
34.38
KB
-rwxr-xr-x
setupcon
38.31
KB
-rwxr-xr-x
sftp
142.66
KB
-rwxr-xr-x
sg
39.55
KB
-rwxr-xr-x
sh
122.74
KB
-rwxr-xr-x
sha1sum
42.41
KB
-rwxr-xr-x
sha224sum
50.41
KB
-rwxr-xr-x
sha256sum
50.41
KB
-rwxr-xr-x
sha384sum
58.41
KB
-rwxr-xr-x
sha512sum
58.41
KB
-rwxr-xr-x
shasum
9.75
KB
-rwxr-xr-x
showconsolefont
18.23
KB
-rwxr-xr-x
showkey
18.23
KB
-rwxr-xr-x
shred
50.51
KB
-rwxr-xr-x
shuf
46.51
KB
-rwxr-xr-x
size
30.45
KB
-rwxr-xr-x
skill
30.23
KB
-rwxr-xr-x
slabtop
22.23
KB
-rwxr-xr-x
sleep
34.51
KB
-rwxr-xr-x
slogin
827.04
KB
-rwxr-xr-x
smistrip
5.03
KB
-rwxr-xr-x
snice
30.23
KB
-rwxr-xr-x
snmpkey
4.62
KB
-rwxr-xr-x
socat
383.62
KB
-rwxr-xr-x
soelim
30.48
KB
-rwxr-xr-x
sort
98.8
KB
-rwxr-xr-x
sort-dctrl
34.64
KB
-rwxr-xr-x
sotruss
4.21
KB
-rwxr-xr-x
splain
18.96
KB
-rwxr-xr-x
split
50.97
KB
-rwxr-xr-x
splitfont
14.15
KB
-rwxr-xr-x
sprof
34.37
KB
-rwxr-xr-x
sqlite3
1.56
MB
-rwxr-xr-x
ss
125.07
KB
-rwxr-xr-x
ssh
827.04
KB
-rwxr-xr-x
ssh-add
166.42
KB
-rwxr-xr-x
ssh-agent
286.43
KB
-rwxr-sr-x
ssh-argv0
1.42
KB
-rwxr-xr-x
ssh-copy-id
12.38
KB
-rwxr-xr-x
ssh-import-id
985
B
-rwxr-xr-x
ssh-import-id-gh
785
B
-rwxr-xr-x
ssh-import-id-lp
785
B
-rwxr-xr-x
ssh-keygen
446.44
KB
-rwxr-xr-x
ssh-keyscan
190.44
KB
-rwxr-xr-x
stat
78.52
KB
-rwxr-xr-x
static-sh
2.09
MB
-rwxr-xr-x
stdbuf
42.51
KB
-rwxr-xr-x
strace
1.88
MB
-rwxr-xr-x
strace-log-merge
1.78
KB
-rwxr-xr-x
streamzip
7.75
KB
-rwxr-xr-x
strings
30.61
KB
-rwxr-xr-x
strip
162.57
KB
-rwxr-xr-x
stty
74.51
KB
-rwxr-xr-x
su
54.38
KB
-rwsr-x---
sudo
226.97
KB
-rwsr-xr-x
sudoedit
226.97
KB
-rwsr-xr-x
sudoreplay
87.64
KB
-rwxr-xr-x
sum
34.41
KB
-rwxr-xr-x
sw-engine
18.39
MB
-rwxr-xr-x
sync
34.41
KB
-rwxr-xr-x
systemctl
1.06
MB
-rwxr-xr-x
systemd
1.76
MB
-rwxr-xr-x
systemd-analyze
1.73
MB
-rwxr-xr-x
systemd-ask-password
18.48
KB
-rwxr-xr-x
systemd-cat
18.38
KB
-rwxr-xr-x
systemd-cgls
22.48
KB
-rwxr-xr-x
systemd-cgtop
38.39
KB
-rwxr-xr-x
systemd-cryptenroll
50.53
KB
-rwxr-xr-x
systemd-delta
26.37
KB
-rwxr-xr-x
systemd-detect-virt
18.37
KB
-rwxr-xr-x
systemd-escape
22.37
KB
-rwxr-xr-x
systemd-hwdb
118.66
KB
-rwxr-xr-x
systemd-id128
26.37
KB
-rwxr-xr-x
systemd-inhibit
22.39
KB
-rwxr-xr-x
systemd-machine-id-setup
18.48
KB
-rwxr-xr-x
systemd-mount
50.59
KB
-rwxr-xr-x
systemd-notify
22.38
KB
-rwxr-xr-x
systemd-path
18.37
KB
-rwxr-xr-x
systemd-run
62.57
KB
-rwxr-xr-x
systemd-socket-activate
26.37
KB
-rwxr-xr-x
systemd-stdio-bridge
22.38
KB
-rwxr-xr-x
systemd-sysext
46.49
KB
-rwxr-xr-x
systemd-sysusers
62.68
KB
-rwxr-xr-x
systemd-tmpfiles
98.57
KB
-rwxr-xr-x
systemd-tty-ask-password-agent
34.37
KB
-rwxr-xr-x
systemd-umount
50.59
KB
-rwxr-xr-x
tabs
18.3
KB
-rwxr-xr-x
tac
98.41
KB
-rwxr-xr-x
tail
66.52
KB
-rwxr-xr-x
tapestat
26.44
KB
-rwxr-xr-x
tar
505.81
KB
-rwxr-xr-x
tasksel
26.82
KB
-rwxr-xr-x
taskset
22.38
KB
-rwxr-xr-x
tbl
126.48
KB
-rwxr-xr-x
tbl-dctrl
38.73
KB
-rwxr-xr-x
tcpdump
1.27
MB
-rwxr-xr-x
tee
34.51
KB
-rwxr-xr-x
telnet
107.56
KB
-rwxr-xr-x
telnet.netkit
107.56
KB
-rwxr-xr-x
tempfile
14.02
KB
-rwxr-xr-x
test
42.44
KB
-rwxr-xr-x
tic
86.41
KB
-rwxr-xr-x
tidy_changelog
2.06
KB
-rwxr-xr-x
time
26.52
KB
-rwxr-xr-x
timedatectl
46.37
KB
-rwxr-xr-x
timeout
38.95
KB
-rwxr-xr-x
tload
18.24
KB
-rwxr-xr-x
tnftp
178.9
KB
-rwxr-xr-x
toe
22.3
KB
-rwxr-xr-x
top
130.06
KB
-rwxr-xr-x
touch
90.51
KB
-rwxr-xr-x
tput
26.34
KB
-rwxr-xr-x
tr
46.51
KB
-rwxr-xr-x
tracepath
22.14
KB
-rwxr-xr-x
troff
718.61
KB
-rwxr-xr-x
true
26.3
KB
-rwxr-xr-x
truncate
34.51
KB
-rwxr-xr-x
tset
26.31
KB
-rwxr-xr-x
tsort
46.51
KB
-rwxr-xr-x
tty
30.51
KB
-rwxr-xr-x
tzselect
15.02
KB
-rwxr-xr-x
ua
1018
B
-rwxr-xr-x
uapi
3.16
MB
-rwxr-xr-x
ubuntu-advantage
1018
B
-rwxr-xr-x
ubuntu-distro-info
22.89
KB
-rwxr-xr-x
ubuntu-security-status
23.2
KB
-rwxr-xr-x
ucf
40.9
KB
-rwxr-xr-x
ucfq
18.91
KB
-rwxr-xr-x
ucfr
10.47
KB
-rwxr-xr-x
uclampset
26.38
KB
-rwxr-xr-x
uconv
54.83
KB
-rwxr-xr-x
udevadm
1.08
MB
-rwxr-xr-x
ul
22.38
KB
-rwxr-xr-x
umount
34.38
KB
-rwxr-xr-x
uname
34.51
KB
-rwxr-xr-x
uncompress
2.29
KB
-rwxr-xr-x
unexpand
34.53
KB
-rwxr-xr-x
unicode_start
2.7
KB
-rwxr-xr-x
unicode_stop
530
B
-rwxr-xr-x
uniq
42.51
KB
-rwxr-xr-x
unlink
30.51
KB
-rwxr-xr-x
unlzma
82.52
KB
-rwxr-xr-x
unmkinitramfs
3.69
KB
-rwxr-xr-x
unpigz
134.36
KB
-rwxr-xr-x
unshare
30.6
KB
-rwxr-xr-x
unxz
82.52
KB
-rwxr-xr-x
unzip
170.42
KB
-rwxr-xr-x
unzipsfx
78.42
KB
-rwxr-xr-x
unzstd
854.59
KB
-rwxr-xr-x
update-alternatives
58.24
KB
-rwxr-xr-x
update-mime-database
58.23
KB
-rwxr-xr-x
uptime
14.23
KB
-rwxr-xr-x
usb-devices
4.33
KB
-rwxr-xr-x
usbhid-dump
30.38
KB
-rwxr-xr-x
usbreset
14.3
KB
-rwxr-xr-x
users
34.51
KB
-rwxr-xr-x
utmpdump
22.38
KB
-rwxr-xr-x
uuidgen
18.38
KB
-rwxr-xr-x
uuidparse
22.38
KB
-rwxr-xr-x
vdir
134.98
KB
-rwxr-xr-x
vi
3.61
MB
-rwxr-xr-x
view
3.61
MB
-rwxr-xr-x
vim
3.61
MB
-rwxr-xr-x
vim.basic
3.61
MB
-rwxr-xr-x
vim.tiny
1.45
MB
-rwxr-xr-x
vimdiff
3.61
MB
-rwxr-xr-x
vimtutor
2.1
KB
-rwxr-xr-x
vmstat
38.24
KB
-rwxr-xr-x
w
22.23
KB
-rwxr-xr-x
wall
22.38
KB
-rwxr-xr-x
watch
26.6
KB
-rwxr-xr-x
watchgnupg
18.3
KB
-rwxr-xr-x
wc
42.42
KB
-rwxr-xr-x
wdctl
30.4
KB
-rwxr-xr-x
webpng
14.15
KB
-rwxr-xr-x
wget
459.02
KB
-rwxr-xr-x
whatis
47.28
KB
-rwxr-xr-x
whereis
30.84
KB
-rwxr-xr-x
which
946
B
-rwxr-xr-x
which-pkg-broke
2.83
KB
-rwxr-xr-x
which-pkg-broke-build
1000
B
-rwxr-xr-x
which.debianutils
946
B
-rwxr-xr-x
whiptail
30.16
KB
-rwxr-xr-x
who
50.52
KB
-rwxr-xr-x
whoami
30.51
KB
-rwxr-xr-x
word-list-compress
14.3
KB
-rwxr-xr-x
write
22.38
KB
-rwxr-xr-x
write.ul
22.38
KB
-rwxr-xr-x
www-browser
2.22
MB
-rwxr-xr-x
x86_64
26.65
KB
-rwxr-xr-x
x86_64-linux-gnu-addr2line
26.7
KB
-rwxr-xr-x
x86_64-linux-gnu-ar
54.48
KB
-rwxr-xr-x
x86_64-linux-gnu-as
456.4
KB
-rwxr-xr-x
x86_64-linux-gnu-c++filt
22.27
KB
-rwxr-xr-x
x86_64-linux-gnu-cpp
906.82
KB
-rwxr-xr-x
x86_64-linux-gnu-cpp-11
906.82
KB
-rwxr-xr-x
x86_64-linux-gnu-cpp-9
766.74
KB
-rwxr-xr-x
x86_64-linux-gnu-dwp
1.82
MB
-rwxr-xr-x
x86_64-linux-gnu-elfedit
34.72
KB
-rwxr-xr-x
x86_64-linux-gnu-g++
910.82
KB
-rwxr-xr-x
x86_64-linux-gnu-g++-11
910.82
KB
-rwxr-xr-x
x86_64-linux-gnu-g++-9
770.74
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc
906.82
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-11
906.82
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-9
766.74
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-ar
26.54
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-ar-11
26.54
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-ar-9
26.54
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-nm
26.54
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-nm-11
26.54
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-nm-9
22.53
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-ranlib
26.54
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-ranlib-11
26.54
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-ranlib-9
26.54
KB
-rwxr-xr-x
x86_64-linux-gnu-gcov
400.01
KB
-rwxr-xr-x
x86_64-linux-gnu-gcov-11
400.01
KB
-rwxr-xr-x
x86_64-linux-gnu-gcov-9
383.92
KB
-rwxr-xr-x
x86_64-linux-gnu-gcov-dump
251.84
KB
-rwxr-xr-x
x86_64-linux-gnu-gcov-dump-11
251.84
KB
-rwxr-xr-x
x86_64-linux-gnu-gcov-dump-9
235.79
KB
-rwxr-xr-x
x86_64-linux-gnu-gcov-tool
275.93
KB
-rwxr-xr-x
x86_64-linux-gnu-gcov-tool-11
275.93
KB
-rwxr-xr-x
x86_64-linux-gnu-gcov-tool-9
267.89
KB
-rwxr-xr-x
x86_64-linux-gnu-gold
3.04
MB
-rwxr-xr-x
x86_64-linux-gnu-gprof
111.79
KB
-rwxr-xr-x
x86_64-linux-gnu-ld
1.66
MB
-rwxr-xr-x
x86_64-linux-gnu-ld.bfd
1.66
MB
-rwxr-xr-x
x86_64-linux-gnu-ld.gold
3.04
MB
-rwxr-xr-x
x86_64-linux-gnu-lto-dump-11
23.73
MB
-rwxr-xr-x
x86_64-linux-gnu-nm
43.63
KB
-rwxr-xr-x
x86_64-linux-gnu-objcopy
162.54
KB
-rwxr-xr-x
x86_64-linux-gnu-objdump
369.13
KB
-rwxr-xr-x
x86_64-linux-gnu-pkg-config
2.18
KB
-rwxr-xr-x
x86_64-linux-gnu-python2.7-con...
2.94
KB
-rwxr-xr-x
x86_64-linux-gnu-python3-confi...
3.05
KB
-rwxr-xr-x
x86_64-linux-gnu-python3.10-co...
3.05
KB
-rwxr-xr-x
x86_64-linux-gnu-ranlib
54.48
KB
-rwxr-xr-x
x86_64-linux-gnu-readelf
758.44
KB
-rwxr-xr-x
x86_64-linux-gnu-size
30.45
KB
-rwxr-xr-x
x86_64-linux-gnu-strings
30.61
KB
-rwxr-xr-x
x86_64-linux-gnu-strip
162.57
KB
-rwxr-xr-x
x86_64-pc-linux-gnu-pkg-config
50.28
KB
-rwxr-xr-x
xargs
62.41
KB
-rwxr-xr-x
xauth
54.96
KB
-rwxr-xr-x
xdg-user-dir
234
B
-rwxr-xr-x
xdg-user-dirs-update
26.23
KB
-rwxr-xr-x
xgettext
297.01
KB
-rwxr-xr-x
xml2-config
1.4
KB
-rwxr-xr-x
xmlwf
38.15
KB
-rwxr-xr-x
xsubpp
5.05
KB
-rwxr-xr-x
xxd
18.28
KB
-rwxr-xr-x
xz
82.52
KB
-rwxr-xr-x
xzcat
82.52
KB
-rwxr-xr-x
xzcmp
6.86
KB
-rwxr-xr-x
xzdiff
6.86
KB
-rwxr-xr-x
xzegrep
5.87
KB
-rwxr-xr-x
xzfgrep
5.87
KB
-rwxr-xr-x
xzgrep
5.87
KB
-rwxr-xr-x
xzless
1.76
KB
-rwxr-xr-x
xzmore
2.11
KB
-rwxr-xr-x
yes
30.38
KB
-rwxr-xr-x
ypdomainname
22.23
KB
-rwxr-xr-x
zcat
1.94
KB
-rwxr-xr-x
zcmp
1.64
KB
-rwxr-xr-x
zdiff
5.76
KB
-rwxr-xr-x
zdump
26.21
KB
-rwxr-xr-x
zegrep
29
B
-rwxr-xr-x
zfgrep
29
B
-rwxr-xr-x
zforce
2.03
KB
-rwxr-xr-x
zgrep
7.91
KB
-rwxr-xr-x
zip
198.99
KB
-rwxr-xr-x
zipcloak
70.4
KB
-rwxr-xr-x
zipdetails
58.66
KB
-rwxr-xr-x
zipgrep
2.89
KB
-rwxr-xr-x
zipinfo
170.42
KB
-rwxr-xr-x
zipnote
62.4
KB
-rwxr-xr-x
zipsplit
58.4
KB
-rwxr-xr-x
zless
2.15
KB
-rwxr-xr-x
zlib_decompress
87.15
KB
-rwxr-xr-x
zmore
1.8
KB
-rwxr-xr-x
znew
4.47
KB
-rwxr-xr-x
zone2json
13.66
MB
-rwxr-xr-x
zone2sql
14.03
MB
-rwxr-xr-x
zstd
854.59
KB
-rwxr-xr-x
zstdcat
854.59
KB
-rwxr-xr-x
zstdgrep
3.78
KB
-rwxr-xr-x
zstdless
30
B
-rwxr-xr-x
zstdmt
854.59
KB
-rwxr-xr-x
Delete
Unzip
Zip
${this.title}
Close
Code Editor : glib-genmarshal
#! /usr/bin/python3 # pylint: disable=too-many-lines, missing-docstring, invalid-name # This file is part of GLib # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, see <http://www.gnu.org/licenses/>. import argparse import os import re import sys VERSION_STR = '''glib-genmarshal version 2.72.4 glib-genmarshal comes with ABSOLUTELY NO WARRANTY. You may redistribute copies of glib-genmarshal under the terms of the GNU General Public License which can be found in the GLib source package. Sources, examples and contact information are available at http://www.gtk.org''' GETTERS_STR = '''#ifdef G_ENABLE_DEBUG #define g_marshal_value_peek_boolean(v) g_value_get_boolean (v) #define g_marshal_value_peek_char(v) g_value_get_schar (v) #define g_marshal_value_peek_uchar(v) g_value_get_uchar (v) #define g_marshal_value_peek_int(v) g_value_get_int (v) #define g_marshal_value_peek_uint(v) g_value_get_uint (v) #define g_marshal_value_peek_long(v) g_value_get_long (v) #define g_marshal_value_peek_ulong(v) g_value_get_ulong (v) #define g_marshal_value_peek_int64(v) g_value_get_int64 (v) #define g_marshal_value_peek_uint64(v) g_value_get_uint64 (v) #define g_marshal_value_peek_enum(v) g_value_get_enum (v) #define g_marshal_value_peek_flags(v) g_value_get_flags (v) #define g_marshal_value_peek_float(v) g_value_get_float (v) #define g_marshal_value_peek_double(v) g_value_get_double (v) #define g_marshal_value_peek_string(v) (char*) g_value_get_string (v) #define g_marshal_value_peek_param(v) g_value_get_param (v) #define g_marshal_value_peek_boxed(v) g_value_get_boxed (v) #define g_marshal_value_peek_pointer(v) g_value_get_pointer (v) #define g_marshal_value_peek_object(v) g_value_get_object (v) #define g_marshal_value_peek_variant(v) g_value_get_variant (v) #else /* !G_ENABLE_DEBUG */ /* WARNING: This code accesses GValues directly, which is UNSUPPORTED API. * Do not access GValues directly in your code. Instead, use the * g_value_get_*() functions */ #define g_marshal_value_peek_boolean(v) (v)->data[0].v_int #define g_marshal_value_peek_char(v) (v)->data[0].v_int #define g_marshal_value_peek_uchar(v) (v)->data[0].v_uint #define g_marshal_value_peek_int(v) (v)->data[0].v_int #define g_marshal_value_peek_uint(v) (v)->data[0].v_uint #define g_marshal_value_peek_long(v) (v)->data[0].v_long #define g_marshal_value_peek_ulong(v) (v)->data[0].v_ulong #define g_marshal_value_peek_int64(v) (v)->data[0].v_int64 #define g_marshal_value_peek_uint64(v) (v)->data[0].v_uint64 #define g_marshal_value_peek_enum(v) (v)->data[0].v_long #define g_marshal_value_peek_flags(v) (v)->data[0].v_ulong #define g_marshal_value_peek_float(v) (v)->data[0].v_float #define g_marshal_value_peek_double(v) (v)->data[0].v_double #define g_marshal_value_peek_string(v) (v)->data[0].v_pointer #define g_marshal_value_peek_param(v) (v)->data[0].v_pointer #define g_marshal_value_peek_boxed(v) (v)->data[0].v_pointer #define g_marshal_value_peek_pointer(v) (v)->data[0].v_pointer #define g_marshal_value_peek_object(v) (v)->data[0].v_pointer #define g_marshal_value_peek_variant(v) (v)->data[0].v_pointer #endif /* !G_ENABLE_DEBUG */''' DEPRECATED_MSG_STR = 'The token "{}" is deprecated; use "{}" instead' VA_ARG_STR = \ ' arg{:d} = ({:s}) va_arg (args_copy, {:s});' STATIC_CHECK_STR = \ '(param_types[{:d}] & G_SIGNAL_TYPE_STATIC_SCOPE) == 0 && ' BOX_TYPED_STR = \ ' arg{idx:d} = {box_func} (param_types[{idx:d}] & ~G_SIGNAL_TYPE_STATIC_SCOPE, arg{idx:d});' BOX_UNTYPED_STR = \ ' arg{idx:d} = {box_func} (arg{idx:d});' UNBOX_TYPED_STR = \ ' {unbox_func} (param_types[{idx:d}] & ~G_SIGNAL_TYPE_STATIC_SCOPE, arg{idx:d});' UNBOX_UNTYPED_STR = \ ' {unbox_func} (arg{idx:d});' STD_PREFIX = 'g_cclosure_marshal' # These are part of our ABI; keep this in sync with gmarshal.h GOBJECT_MARSHALLERS = { 'g_cclosure_marshal_VOID__VOID', 'g_cclosure_marshal_VOID__BOOLEAN', 'g_cclosure_marshal_VOID__CHAR', 'g_cclosure_marshal_VOID__UCHAR', 'g_cclosure_marshal_VOID__INT', 'g_cclosure_marshal_VOID__UINT', 'g_cclosure_marshal_VOID__LONG', 'g_cclosure_marshal_VOID__ULONG', 'g_cclosure_marshal_VOID__ENUM', 'g_cclosure_marshal_VOID__FLAGS', 'g_cclosure_marshal_VOID__FLOAT', 'g_cclosure_marshal_VOID__DOUBLE', 'g_cclosure_marshal_VOID__STRING', 'g_cclosure_marshal_VOID__PARAM', 'g_cclosure_marshal_VOID__BOXED', 'g_cclosure_marshal_VOID__POINTER', 'g_cclosure_marshal_VOID__OBJECT', 'g_cclosure_marshal_VOID__VARIANT', 'g_cclosure_marshal_VOID__UINT_POINTER', 'g_cclosure_marshal_BOOLEAN__FLAGS', 'g_cclosure_marshal_STRING__OBJECT_POINTER', 'g_cclosure_marshal_BOOLEAN__BOXED_BOXED', } # pylint: disable=too-few-public-methods class Color: '''ANSI Terminal colors''' GREEN = '\033[1;32m' BLUE = '\033[1;34m' YELLOW = '\033[1;33m' RED = '\033[1;31m' END = '\033[0m' def print_color(msg, color=Color.END, prefix='MESSAGE'): '''Print a string with a color prefix''' if os.isatty(sys.stderr.fileno()): real_prefix = '{start}{prefix}{end}'.format(start=color, prefix=prefix, end=Color.END) else: real_prefix = prefix sys.stderr.write('{prefix}: {msg}\n'.format(prefix=real_prefix, msg=msg)) def print_error(msg): '''Print an error, and terminate''' print_color(msg, color=Color.RED, prefix='ERROR') sys.exit(1) def print_warning(msg, fatal=False): '''Print a warning, and optionally terminate''' if fatal: color = Color.RED prefix = 'ERROR' else: color = Color.YELLOW prefix = 'WARNING' print_color(msg, color, prefix) if fatal: sys.exit(1) def print_info(msg): '''Print a message''' print_color(msg, color=Color.GREEN, prefix='INFO') def generate_licensing_comment(outfile): outfile.write('/* This file is generated by glib-genmarshal, do not ' 'modify it. This code is licensed under the same license as ' 'the containing project. Note that it links to GLib, so ' 'must comply with the LGPL linking clauses. */\n') def generate_header_preamble(outfile, prefix='', std_includes=True, use_pragma=False): '''Generate the preamble for the marshallers header file''' generate_licensing_comment(outfile) if use_pragma: outfile.write('#pragma once\n') outfile.write('\n') else: outfile.write('#ifndef __{}_MARSHAL_H__\n'.format(prefix.upper())) outfile.write('#define __{}_MARSHAL_H__\n'.format(prefix.upper())) outfile.write('\n') # Maintain compatibility with the old C-based tool if std_includes: outfile.write('#include <glib-object.h>\n') outfile.write('\n') outfile.write('G_BEGIN_DECLS\n') outfile.write('\n') def generate_header_postamble(outfile, prefix='', use_pragma=False): '''Generate the postamble for the marshallers header file''' outfile.write('\n') outfile.write('G_END_DECLS\n') if not use_pragma: outfile.write('\n') outfile.write('#endif /* __{}_MARSHAL_H__ */\n'.format(prefix.upper())) def generate_body_preamble(outfile, std_includes=True, include_headers=None, cpp_defines=None, cpp_undefines=None): '''Generate the preamble for the marshallers source file''' generate_licensing_comment(outfile) for header in (include_headers or []): outfile.write('#include "{}"\n'.format(header)) if include_headers: outfile.write('\n') for define in (cpp_defines or []): s = define.split('=') symbol = s[0] value = s[1] if len(s) > 1 else '1' outfile.write('#define {} {}\n'.format(symbol, value)) if cpp_defines: outfile.write('\n') for undefine in (cpp_undefines or []): outfile.write('#undef {}\n'.format(undefine)) if cpp_undefines: outfile.write('\n') if std_includes: outfile.write('#include <glib-object.h>\n') outfile.write('\n') outfile.write(GETTERS_STR) outfile.write('\n\n') # Marshaller arguments, as a dictionary where the key is the token used in # the source file, and the value is another dictionary with the following # keys: # # - signal: the token used in the marshaller prototype (mandatory) # - ctype: the C type for the marshaller argument (mandatory) # - getter: the function used to retrieve the argument from the GValue # array when invoking the callback (optional) # - promoted: the C type used by va_arg() to retrieve the argument from # the va_list when invoking the callback (optional, only used when # generating va_list marshallers) # - box: an array of two elements, containing the boxing and unboxing # functions for the given type (optional, only used when generating # va_list marshallers) # - static-check: a boolean value, if the given type should perform # a static type check before boxing or unboxing the argument (optional, # only used when generating va_list marshallers) # - takes-type: a boolean value, if the boxing and unboxing functions # for the given type require the type (optional, only used when # generating va_list marshallers) # - deprecated: whether the token has been deprecated (optional) # - replaced-by: the token used to replace a deprecated token (optional, # only used if deprecated is True) IN_ARGS = { 'VOID': { 'signal': 'VOID', 'ctype': 'void', }, 'BOOLEAN': { 'signal': 'BOOLEAN', 'ctype': 'gboolean', 'getter': 'g_marshal_value_peek_boolean', }, 'CHAR': { 'signal': 'CHAR', 'ctype': 'gchar', 'promoted': 'gint', 'getter': 'g_marshal_value_peek_char', }, 'UCHAR': { 'signal': 'UCHAR', 'ctype': 'guchar', 'promoted': 'guint', 'getter': 'g_marshal_value_peek_uchar', }, 'INT': { 'signal': 'INT', 'ctype': 'gint', 'getter': 'g_marshal_value_peek_int', }, 'UINT': { 'signal': 'UINT', 'ctype': 'guint', 'getter': 'g_marshal_value_peek_uint', }, 'LONG': { 'signal': 'LONG', 'ctype': 'glong', 'getter': 'g_marshal_value_peek_long', }, 'ULONG': { 'signal': 'ULONG', 'ctype': 'gulong', 'getter': 'g_marshal_value_peek_ulong', }, 'INT64': { 'signal': 'INT64', 'ctype': 'gint64', 'getter': 'g_marshal_value_peek_int64', }, 'UINT64': { 'signal': 'UINT64', 'ctype': 'guint64', 'getter': 'g_marshal_value_peek_uint64', }, 'ENUM': { 'signal': 'ENUM', 'ctype': 'gint', 'getter': 'g_marshal_value_peek_enum', }, 'FLAGS': { 'signal': 'FLAGS', 'ctype': 'guint', 'getter': 'g_marshal_value_peek_flags', }, 'FLOAT': { 'signal': 'FLOAT', 'ctype': 'gfloat', 'promoted': 'gdouble', 'getter': 'g_marshal_value_peek_float', }, 'DOUBLE': { 'signal': 'DOUBLE', 'ctype': 'gdouble', 'getter': 'g_marshal_value_peek_double', }, 'STRING': { 'signal': 'STRING', 'ctype': 'gpointer', 'getter': 'g_marshal_value_peek_string', 'box': ['g_strdup', 'g_free'], 'static-check': True, }, 'PARAM': { 'signal': 'PARAM', 'ctype': 'gpointer', 'getter': 'g_marshal_value_peek_param', 'box': ['g_param_spec_ref', 'g_param_spec_unref'], 'static-check': True, }, 'BOXED': { 'signal': 'BOXED', 'ctype': 'gpointer', 'getter': 'g_marshal_value_peek_boxed', 'box': ['g_boxed_copy', 'g_boxed_free'], 'static-check': True, 'takes-type': True, }, 'POINTER': { 'signal': 'POINTER', 'ctype': 'gpointer', 'getter': 'g_marshal_value_peek_pointer', }, 'OBJECT': { 'signal': 'OBJECT', 'ctype': 'gpointer', 'getter': 'g_marshal_value_peek_object', 'box': ['g_object_ref', 'g_object_unref'], }, 'VARIANT': { 'signal': 'VARIANT', 'ctype': 'gpointer', 'getter': 'g_marshal_value_peek_variant', 'box': ['g_variant_ref_sink', 'g_variant_unref'], 'static-check': True, 'takes-type': False, }, # Deprecated tokens 'NONE': { 'signal': 'VOID', 'ctype': 'void', 'deprecated': True, 'replaced_by': 'VOID' }, 'BOOL': { 'signal': 'BOOLEAN', 'ctype': 'gboolean', 'getter': 'g_marshal_value_peek_boolean', 'deprecated': True, 'replaced_by': 'BOOLEAN' } } # Marshaller return values, as a dictionary where the key is the token used # in the source file, and the value is another dictionary with the following # keys: # # - signal: the token used in the marshaller prototype (mandatory) # - ctype: the C type for the marshaller argument (mandatory) # - setter: the function used to set the return value of the callback # into a GValue (optional) # - deprecated: whether the token has been deprecated (optional) # - replaced-by: the token used to replace a deprecated token (optional, # only used if deprecated is True) OUT_ARGS = { 'VOID': { 'signal': 'VOID', 'ctype': 'void', }, 'BOOLEAN': { 'signal': 'BOOLEAN', 'ctype': 'gboolean', 'setter': 'g_value_set_boolean', }, 'CHAR': { 'signal': 'CHAR', 'ctype': 'gchar', 'setter': 'g_value_set_char', }, 'UCHAR': { 'signal': 'UCHAR', 'ctype': 'guchar', 'setter': 'g_value_set_uchar', }, 'INT': { 'signal': 'INT', 'ctype': 'gint', 'setter': 'g_value_set_int', }, 'UINT': { 'signal': 'UINT', 'ctype': 'guint', 'setter': 'g_value_set_uint', }, 'LONG': { 'signal': 'LONG', 'ctype': 'glong', 'setter': 'g_value_set_long', }, 'ULONG': { 'signal': 'ULONG', 'ctype': 'gulong', 'setter': 'g_value_set_ulong', }, 'INT64': { 'signal': 'INT64', 'ctype': 'gint64', 'setter': 'g_value_set_int64', }, 'UINT64': { 'signal': 'UINT64', 'ctype': 'guint64', 'setter': 'g_value_set_uint64', }, 'ENUM': { 'signal': 'ENUM', 'ctype': 'gint', 'setter': 'g_value_set_enum', }, 'FLAGS': { 'signal': 'FLAGS', 'ctype': 'guint', 'setter': 'g_value_set_flags', }, 'FLOAT': { 'signal': 'FLOAT', 'ctype': 'gfloat', 'setter': 'g_value_set_float', }, 'DOUBLE': { 'signal': 'DOUBLE', 'ctype': 'gdouble', 'setter': 'g_value_set_double', }, 'STRING': { 'signal': 'STRING', 'ctype': 'gchar*', 'setter': 'g_value_take_string', }, 'PARAM': { 'signal': 'PARAM', 'ctype': 'GParamSpec*', 'setter': 'g_value_take_param', }, 'BOXED': { 'signal': 'BOXED', 'ctype': 'gpointer', 'setter': 'g_value_take_boxed', }, 'POINTER': { 'signal': 'POINTER', 'ctype': 'gpointer', 'setter': 'g_value_set_pointer', }, 'OBJECT': { 'signal': 'OBJECT', 'ctype': 'GObject*', 'setter': 'g_value_take_object', }, 'VARIANT': { 'signal': 'VARIANT', 'ctype': 'GVariant*', 'setter': 'g_value_take_variant', }, # Deprecated tokens 'NONE': { 'signal': 'VOID', 'ctype': 'void', 'setter': None, 'deprecated': True, 'replaced_by': 'VOID', }, 'BOOL': { 'signal': 'BOOLEAN', 'ctype': 'gboolean', 'setter': 'g_value_set_boolean', 'deprecated': True, 'replaced_by': 'BOOLEAN', }, } def check_args(retval, params, fatal_warnings=False): '''Check the @retval and @params tokens for invalid and deprecated symbols.''' if retval not in OUT_ARGS: print_error('Unknown return value type "{}"'.format(retval)) if OUT_ARGS[retval].get('deprecated', False): replaced_by = OUT_ARGS[retval]['replaced_by'] print_warning(DEPRECATED_MSG_STR.format(retval, replaced_by), fatal_warnings) for param in params: if param not in IN_ARGS: print_error('Unknown parameter type "{}"'.format(param)) else: if IN_ARGS[param].get('deprecated', False): replaced_by = IN_ARGS[param]['replaced_by'] print_warning(DEPRECATED_MSG_STR.format(param, replaced_by), fatal_warnings) def indent(text, level=0, fill=' '): '''Indent @text by @level columns, using the @fill character''' return ''.join([fill for x in range(level)]) + text # pylint: disable=too-few-public-methods class Visibility: '''Symbol visibility options''' NONE = 0 INTERNAL = 1 EXTERN = 2 def generate_marshaller_name(prefix, retval, params, replace_deprecated=True): '''Generate a marshaller name for the given @prefix, @retval, and @params. If @replace_deprecated is True, the generated name will replace deprecated tokens.''' if replace_deprecated: real_retval = OUT_ARGS[retval]['signal'] real_params = [] for param in params: real_params.append(IN_ARGS[param]['signal']) else: real_retval = retval real_params = params return '{prefix}_{retval}__{args}'.format(prefix=prefix, retval=real_retval, args='_'.join(real_params)) def generate_prototype(retval, params, prefix='g_cclosure_user_marshal', visibility=Visibility.NONE, va_marshal=False): '''Generate a marshaller declaration with the given @visibility. If @va_marshal is True, the marshaller will use variadic arguments in place of a GValue array.''' signature = [] if visibility == Visibility.INTERNAL: signature += ['G_GNUC_INTERNAL'] elif visibility == Visibility.EXTERN: signature += ['extern'] function_name = generate_marshaller_name(prefix, retval, params) if not va_marshal: signature += ['void ' + function_name + ' (GClosure *closure,'] width = len('void ') + len(function_name) + 2 signature += [indent('GValue *return_value,', level=width, fill=' ')] signature += [indent('guint n_param_values,', level=width, fill=' ')] signature += [indent('const GValue *param_values,', level=width, fill=' ')] signature += [indent('gpointer invocation_hint,', level=width, fill=' ')] signature += [indent('gpointer marshal_data);', level=width, fill=' ')] else: signature += ['void ' + function_name + 'v (GClosure *closure,'] width = len('void ') + len(function_name) + 3 signature += [indent('GValue *return_value,', level=width, fill=' ')] signature += [indent('gpointer instance,', level=width, fill=' ')] signature += [indent('va_list args,', level=width, fill=' ')] signature += [indent('gpointer marshal_data,', level=width, fill=' ')] signature += [indent('int n_params,', level=width, fill=' ')] signature += [indent('GType *param_types);', level=width, fill=' ')] return signature # pylint: disable=too-many-statements, too-many-locals, too-many-branches def generate_body(retval, params, prefix, va_marshal=False): '''Generate a marshaller definition. If @va_marshal is True, the marshaller will use va_list and variadic arguments in place of a GValue array.''' retval_setter = OUT_ARGS[retval].get('setter', None) # If there's no return value then we can mark the retval argument as unused # and get a minor optimisation, as well as avoid a compiler warning if not retval_setter: unused = ' G_GNUC_UNUSED' else: unused = '' body = ['void'] function_name = generate_marshaller_name(prefix, retval, params) if not va_marshal: body += [function_name + ' (GClosure *closure,'] width = len(function_name) + 2 body += [indent('GValue *return_value{},'.format(unused), level=width, fill=' ')] body += [indent('guint n_param_values,', level=width, fill=' ')] body += [indent('const GValue *param_values,', level=width, fill=' ')] body += [indent('gpointer invocation_hint G_GNUC_UNUSED,', level=width, fill=' ')] body += [indent('gpointer marshal_data)', level=width, fill=' ')] else: body += [function_name + 'v (GClosure *closure,'] width = len(function_name) + 3 body += [indent('GValue *return_value{},'.format(unused), level=width, fill=' ')] body += [indent('gpointer instance,', level=width, fill=' ')] body += [indent('va_list args,', level=width, fill=' ')] body += [indent('gpointer marshal_data,', level=width, fill=' ')] body += [indent('int n_params,', level=width, fill=' ')] body += [indent('GType *param_types)', level=width, fill=' ')] # Filter the arguments that have a getter get_args = [x for x in params if IN_ARGS[x].get('getter', None) is not None] body += ['{'] # Generate the type of the marshaller function typedef_marshal = generate_marshaller_name('GMarshalFunc', retval, params) typedef = ' typedef {ctype} (*{func_name}) ('.format(ctype=OUT_ARGS[retval]['ctype'], func_name=typedef_marshal) pad = len(typedef) typedef += 'gpointer data1,' body += [typedef] for idx, in_arg in enumerate(get_args): body += [indent('{} arg{:d},'.format(IN_ARGS[in_arg]['ctype'], idx + 1), level=pad)] body += [indent('gpointer data2);', level=pad)] # Variable declarations body += [' GCClosure *cc = (GCClosure *) closure;'] body += [' gpointer data1, data2;'] body += [' {} callback;'.format(typedef_marshal)] if retval_setter: body += [' {} v_return;'.format(OUT_ARGS[retval]['ctype'])] if va_marshal: for idx, arg in enumerate(get_args): body += [' {} arg{:d};'.format(IN_ARGS[arg]['ctype'], idx)] if get_args: body += [' va_list args_copy;'] body += [''] body += [' G_VA_COPY (args_copy, args);'] for idx, arg in enumerate(get_args): ctype = IN_ARGS[arg]['ctype'] promoted_ctype = IN_ARGS[arg].get('promoted', ctype) body += [VA_ARG_STR.format(idx, ctype, promoted_ctype)] if IN_ARGS[arg].get('box', None): box_func = IN_ARGS[arg]['box'][0] if IN_ARGS[arg].get('static-check', False): static_check = STATIC_CHECK_STR.format(idx) else: static_check = '' arg_check = 'arg{:d} != NULL'.format(idx) body += [' if ({}{})'.format(static_check, arg_check)] if IN_ARGS[arg].get('takes-type', False): body += [BOX_TYPED_STR.format(idx=idx, box_func=box_func)] else: body += [BOX_UNTYPED_STR.format(idx=idx, box_func=box_func)] body += [' va_end (args_copy);'] body += [''] # Preconditions check if retval_setter: body += [' g_return_if_fail (return_value != NULL);'] if not va_marshal: body += [' g_return_if_fail (n_param_values == {:d});'.format(len(get_args) + 1)] body += [''] # Marshal instance, data, and callback set up body += [' if (G_CCLOSURE_SWAP_DATA (closure))'] body += [' {'] body += [' data1 = closure->data;'] if va_marshal: body += [' data2 = instance;'] else: body += [' data2 = g_value_peek_pointer (param_values + 0);'] body += [' }'] body += [' else'] body += [' {'] if va_marshal: body += [' data1 = instance;'] else: body += [' data1 = g_value_peek_pointer (param_values + 0);'] body += [' data2 = closure->data;'] body += [' }'] # pylint: disable=line-too-long body += [' callback = ({}) (marshal_data ? marshal_data : cc->callback);'.format(typedef_marshal)] body += [''] # Marshal callback action if retval_setter: callback = ' {} callback ('.format(' v_return =') else: callback = ' callback (' pad = len(callback) body += [callback + 'data1,'] if va_marshal: for idx, arg in enumerate(get_args): body += [indent('arg{:d},'.format(idx), level=pad)] else: for idx, arg in enumerate(get_args): arg_getter = IN_ARGS[arg]['getter'] body += [indent('{} (param_values + {:d}),'.format(arg_getter, idx + 1), level=pad)] body += [indent('data2);', level=pad)] if va_marshal: boxed_args = [x for x in get_args if IN_ARGS[x].get('box', None) is not None] if not boxed_args: body += [''] else: for idx, arg in enumerate(get_args): if not IN_ARGS[arg].get('box', None): continue unbox_func = IN_ARGS[arg]['box'][1] if IN_ARGS[arg].get('static-check', False): static_check = STATIC_CHECK_STR.format(idx) else: static_check = '' arg_check = 'arg{:d} != NULL'.format(idx) body += [' if ({}{})'.format(static_check, arg_check)] if IN_ARGS[arg].get('takes-type', False): body += [UNBOX_TYPED_STR.format(idx=idx, unbox_func=unbox_func)] else: body += [UNBOX_UNTYPED_STR.format(idx=idx, unbox_func=unbox_func)] if retval_setter: body += [''] body += [' {} (return_value, v_return);'.format(retval_setter)] body += ['}'] return body def generate_marshaller_alias(outfile, marshaller, real_marshaller, include_va=False, source_location=None): '''Generate an alias between @marshaller and @real_marshaller, including an optional alias for va_list marshallers''' if source_location: outfile.write('/* {} */\n'.format(source_location)) outfile.write('#define {}\t{}\n'.format(marshaller, real_marshaller)) if include_va: outfile.write('#define {}v\t{}v\n'.format(marshaller, real_marshaller)) outfile.write('\n') def generate_marshallers_header(outfile, retval, params, prefix='g_cclosure_user_marshal', internal=False, include_va=False, source_location=None): '''Generate a declaration for a marshaller function, to be used in the header, with the given @retval, @params, and @prefix. An optional va_list marshaller for the same arguments is also generated. The generated buffer is written to the @outfile stream object.''' if source_location: outfile.write('/* {} */\n'.format(source_location)) if internal: visibility = Visibility.INTERNAL else: visibility = Visibility.EXTERN signature = generate_prototype(retval, params, prefix, visibility, False) if include_va: signature += generate_prototype(retval, params, prefix, visibility, True) signature += [''] outfile.write('\n'.join(signature)) outfile.write('\n') def generate_marshallers_body(outfile, retval, params, prefix='g_cclosure_user_marshal', include_prototype=True, internal=False, include_va=False, source_location=None): '''Generate a definition for a marshaller function, to be used in the source, with the given @retval, @params, and @prefix. An optional va_list marshaller for the same arguments is also generated. The generated buffer is written to the @outfile stream object.''' if source_location: outfile.write('/* {} */\n'.format(source_location)) if include_prototype: # Declaration visibility if internal: decl_visibility = Visibility.INTERNAL else: decl_visibility = Visibility.EXTERN proto = ['/* Prototype for -Wmissing-prototypes */'] # Add C++ guards in case somebody compiles the generated code # with a C++ compiler proto += ['G_BEGIN_DECLS'] proto += generate_prototype(retval, params, prefix, decl_visibility, False) proto += ['G_END_DECLS'] outfile.write('\n'.join(proto)) outfile.write('\n') body = generate_body(retval, params, prefix, False) outfile.write('\n'.join(body)) outfile.write('\n\n') if include_va: if include_prototype: # Declaration visibility if internal: decl_visibility = Visibility.INTERNAL else: decl_visibility = Visibility.EXTERN proto = ['/* Prototype for -Wmissing-prototypes */'] # Add C++ guards here as well proto += ['G_BEGIN_DECLS'] proto += generate_prototype(retval, params, prefix, decl_visibility, True) proto += ['G_END_DECLS'] outfile.write('\n'.join(proto)) outfile.write('\n') body = generate_body(retval, params, prefix, True) outfile.write('\n'.join(body)) outfile.write('\n\n') def parse_args(): arg_parser = argparse.ArgumentParser(description='Generate signal marshallers for GObject') arg_parser.add_argument('--prefix', metavar='STRING', default='g_cclosure_user_marshal', help='Specify marshaller prefix') arg_parser.add_argument('--output', metavar='FILE', type=argparse.FileType('w'), default=sys.stdout, help='Write output into the specified file') arg_parser.add_argument('--skip-source', action='store_true', help='Skip source location comments') arg_parser.add_argument('--internal', action='store_true', help='Mark generated functions as internal') arg_parser.add_argument('--valist-marshallers', action='store_true', help='Generate va_list marshallers') arg_parser.add_argument('-v', '--version', action='store_true', dest='show_version', help='Print version information, and exit') arg_parser.add_argument('--g-fatal-warnings', action='store_true', dest='fatal_warnings', help='Make warnings fatal') arg_parser.add_argument('--include-header', metavar='HEADER', nargs='?', action='append', dest='include_headers', help='Include the specified header in the body') arg_parser.add_argument('--pragma-once', action='store_true', help='Use "pragma once" as the inclusion guard') arg_parser.add_argument('-D', action='append', dest='cpp_defines', default=[], help='Pre-processor define') arg_parser.add_argument('-U', action='append', dest='cpp_undefines', default=[], help='Pre-processor undefine') arg_parser.add_argument('files', metavar='FILE', nargs='*', type=argparse.FileType('r'), help='Files with lists of marshallers to generate, ' + 'or "-" for standard input') arg_parser.add_argument('--prototypes', action='store_true', help='Generate the marshallers prototype in the C code') arg_parser.add_argument('--header', action='store_true', help='Generate C headers') arg_parser.add_argument('--body', action='store_true', help='Generate C code') group = arg_parser.add_mutually_exclusive_group() group.add_argument('--stdinc', action='store_true', dest='stdinc', default=True, help='Include standard marshallers') group.add_argument('--nostdinc', action='store_false', dest='stdinc', default=True, help='Use standard marshallers') group = arg_parser.add_mutually_exclusive_group() group.add_argument('--quiet', action='store_true', help='Only print warnings and errors') group.add_argument('--verbose', action='store_true', help='Be verbose, and include debugging information') args = arg_parser.parse_args() if args.show_version: print(VERSION_STR) sys.exit(0) return args def generate(args): # Backward compatibility hack; some projects use both arguments to # generate the marshallers prototype in the C source, even though # it's not really a supported use case. We keep this behaviour by # forcing the --prototypes and --body arguments instead. We make this # warning non-fatal even with --g-fatal-warnings, as it's a deprecation compatibility_mode = False if args.header and args.body: print_warning('Using --header and --body at the same time is deprecated; ' + 'use --body --prototypes instead', False) args.prototypes = True args.header = False compatibility_mode = True if args.header: generate_header_preamble(args.output, prefix=args.prefix, std_includes=args.stdinc, use_pragma=args.pragma_once) elif args.body: generate_body_preamble(args.output, std_includes=args.stdinc, include_headers=args.include_headers, cpp_defines=args.cpp_defines, cpp_undefines=args.cpp_undefines) seen_marshallers = set() for infile in args.files: if not args.quiet: print_info('Reading {}...'.format(infile.name)) line_count = 0 for line in infile: line_count += 1 if line == '\n' or line.startswith('#'): continue matches = re.match(r'^([A-Z0-9]+)\s?:\s?([A-Z0-9,\s]+)$', line.strip()) if not matches or len(matches.groups()) != 2: print_warning('Invalid entry: "{}"'.format(line.strip()), args.fatal_warnings) continue if not args.skip_source: location = '{} ({}:{:d})'.format(line.strip(), infile.name, line_count) else: location = None retval = matches.group(1).strip() params = [x.strip() for x in matches.group(2).split(',')] check_args(retval, params, args.fatal_warnings) raw_marshaller = generate_marshaller_name(args.prefix, retval, params, False) if raw_marshaller in seen_marshallers: if args.verbose: print_info('Skipping repeated marshaller {}'.format(line.strip())) continue if args.header: if args.verbose: print_info('Generating declaration for {}'.format(line.strip())) generate_std_alias = False if args.stdinc: std_marshaller = generate_marshaller_name(STD_PREFIX, retval, params) if std_marshaller in GOBJECT_MARSHALLERS: if args.verbose: print_info('Skipping default marshaller {}'.format(line.strip())) generate_std_alias = True marshaller = generate_marshaller_name(args.prefix, retval, params) if generate_std_alias: generate_marshaller_alias(args.output, marshaller, std_marshaller, source_location=location, include_va=args.valist_marshallers) else: generate_marshallers_header(args.output, retval, params, prefix=args.prefix, internal=args.internal, include_va=args.valist_marshallers, source_location=location) # If the marshaller is defined using a deprecated token, we want to maintain # compatibility and generate an alias for the old name pointing to the new # one if marshaller != raw_marshaller: if args.verbose: print_info('Generating alias for deprecated tokens') generate_marshaller_alias(args.output, raw_marshaller, marshaller, include_va=args.valist_marshallers) elif args.body: if args.verbose: print_info('Generating definition for {}'.format(line.strip())) generate_std_alias = False if args.stdinc: std_marshaller = generate_marshaller_name(STD_PREFIX, retval, params) if std_marshaller in GOBJECT_MARSHALLERS: if args.verbose: print_info('Skipping default marshaller {}'.format(line.strip())) generate_std_alias = True marshaller = generate_marshaller_name(args.prefix, retval, params) if generate_std_alias: # We need to generate the alias if we are in compatibility mode if compatibility_mode: generate_marshaller_alias(args.output, marshaller, std_marshaller, source_location=location, include_va=args.valist_marshallers) else: generate_marshallers_body(args.output, retval, params, prefix=args.prefix, internal=args.internal, include_prototype=args.prototypes, include_va=args.valist_marshallers, source_location=location) if compatibility_mode and marshaller != raw_marshaller: if args.verbose: print_info('Generating alias for deprecated tokens') generate_marshaller_alias(args.output, raw_marshaller, marshaller, include_va=args.valist_marshallers) seen_marshallers.add(raw_marshaller) if args.header: generate_header_postamble(args.output, prefix=args.prefix, use_pragma=args.pragma_once) if __name__ == '__main__': args = parse_args() with args.output: generate(args)
Close