Linux sagir-us1.hostever.us 5.14.0-570.51.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Oct 8 09:41:34 EDT 2025 x86_64
LiteSpeed
Server IP : 104.247.108.91 & Your IP : 216.73.216.26
Domains : 74 Domain
User : georgeto
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
local /
apps /
dovecot /
include /
dovecot /
Delete
Unzip
Name
Size
Permission
Date
Action
access-lookup.h
339
B
-rw-r--r--
2024-09-20 10:46
acl-api-private.h
4.31
KB
-rw-r--r--
2024-09-20 10:46
acl-api.h
5.87
KB
-rw-r--r--
2024-09-20 10:46
acl-cache.h
2.02
KB
-rw-r--r--
2024-09-20 10:46
acl-global-file.h
889
B
-rw-r--r--
2024-09-20 10:46
acl-lookup-dict.h
580
B
-rw-r--r--
2024-09-20 10:46
acl-plugin.h
2.08
KB
-rw-r--r--
2024-09-20 10:46
acl-storage.h
1.71
KB
-rw-r--r--
2024-09-20 10:46
anvil-client.h
1.43
KB
-rw-r--r--
2024-09-20 10:46
aqueue.h
1.04
KB
-rw-r--r--
2024-09-20 10:46
array-decl.h
775
B
-rw-r--r--
2024-09-20 10:46
array.h
14.37
KB
-rw-r--r--
2024-09-20 10:46
askpass.h
150
B
-rw-r--r--
2024-09-20 10:46
auth-cache.h
1.92
KB
-rw-r--r--
2024-09-20 10:46
auth-client-connection.h
864
B
-rw-r--r--
2024-09-20 10:46
auth-client-interface.h
1.54
KB
-rw-r--r--
2024-09-20 10:46
auth-client-private.h
2.15
KB
-rw-r--r--
2024-09-20 10:46
auth-client.h
4.02
KB
-rw-r--r--
2024-09-20 10:46
auth-common.h
425
B
-rw-r--r--
2024-09-20 10:46
auth-fields.h
1.83
KB
-rw-r--r--
2024-09-20 10:46
auth-master-connection.h
1.16
KB
-rw-r--r--
2024-09-20 10:46
auth-master.h
2.86
KB
-rw-r--r--
2024-09-20 10:46
auth-penalty.h
925
B
-rw-r--r--
2024-09-20 10:46
auth-policy.h
340
B
-rw-r--r--
2024-09-20 10:46
auth-request-handler-private.h
673
B
-rw-r--r--
2024-09-20 10:46
auth-request-handler.h
2.44
KB
-rw-r--r--
2024-09-20 10:46
auth-request-stats.h
390
B
-rw-r--r--
2024-09-20 10:46
auth-request-var-expand.h
1.65
KB
-rw-r--r--
2024-09-20 10:46
auth-request.h
15.26
KB
-rw-r--r--
2024-09-20 10:46
auth-settings.h
2.71
KB
-rw-r--r--
2024-09-20 10:46
auth-stats.h
324
B
-rw-r--r--
2024-09-20 10:46
auth-token.h
237
B
-rw-r--r--
2024-09-20 10:46
auth-worker-client.h
888
B
-rw-r--r--
2024-09-20 10:46
auth-worker-server.h
546
B
-rw-r--r--
2024-09-20 10:46
auth.h
2.02
KB
-rw-r--r--
2024-09-20 10:46
backtrace-string.h
183
B
-rw-r--r--
2024-09-20 10:46
base32.h
1.72
KB
-rw-r--r--
2024-09-20 10:46
base64.h
12.29
KB
-rw-r--r--
2024-09-20 10:46
bits.h
5.75
KB
-rw-r--r--
2024-09-20 10:46
bsearch-insert-pos.h
2.17
KB
-rw-r--r--
2024-09-20 10:46
buffer.h
7.73
KB
-rw-r--r--
2024-09-20 10:46
byteorder.h
7.92
KB
-rw-r--r--
2024-09-20 10:46
charset-utf8-private.h
637
B
-rw-r--r--
2024-09-20 10:46
charset-utf8.h
1.87
KB
-rw-r--r--
2024-09-20 10:46
child-wait.h
966
B
-rw-r--r--
2024-09-20 10:46
client-common.h
12.54
KB
-rw-r--r--
2024-09-20 10:46
compat.h
9.43
KB
-rw-r--r--
2024-09-20 10:46
compression.h
2.17
KB
-rw-r--r--
2024-09-20 10:46
config-filter.h
2.01
KB
-rw-r--r--
2024-09-20 10:46
config-parser-private.h
1.8
KB
-rw-r--r--
2024-09-20 10:46
config-parser.h
994
B
-rw-r--r--
2024-09-20 10:46
config-request.h
1.97
KB
-rw-r--r--
2024-09-20 10:46
config.h
25.4
KB
-rw-r--r--
2024-09-20 10:46
connection.h
8.92
KB
-rw-r--r--
2024-09-20 10:46
cpu-limit.h
2.32
KB
-rw-r--r--
2024-09-20 10:46
crc32.h
298
B
-rw-r--r--
2024-09-20 10:46
data-stack.h
6.24
KB
-rw-r--r--
2024-09-20 10:46
db-checkpassword.h
888
B
-rw-r--r--
2024-09-20 10:46
db-dict.h
2.1
KB
-rw-r--r--
2024-09-20 10:46
db-ldap.h
5.81
KB
-rw-r--r--
2024-09-20 10:46
db-oauth2.h
1.4
KB
-rw-r--r--
2024-09-20 10:46
db-passwd-file.h
1.11
KB
-rw-r--r--
2024-09-20 10:46
db-sql.h
920
B
-rw-r--r--
2024-09-20 10:46
dbox-attachment.h
399
B
-rw-r--r--
2024-09-20 10:46
dbox-file.h
7.64
KB
-rw-r--r--
2024-09-20 10:46
dbox-mail.h
1.05
KB
-rw-r--r--
2024-09-20 10:46
dbox-save.h
1.07
KB
-rw-r--r--
2024-09-20 10:46
dbox-storage.h
3.21
KB
-rw-r--r--
2024-09-20 10:46
dcrypt-iostream.h
406
B
-rw-r--r--
2024-09-20 10:46
dcrypt-private.h
8.65
KB
-rw-r--r--
2024-09-20 10:46
dcrypt.h
12.76
KB
-rw-r--r--
2024-09-20 10:46
dict-client.h
1.44
KB
-rw-r--r--
2024-09-20 10:46
dict-private.h
3.7
KB
-rw-r--r--
2024-09-20 10:46
dict-transaction-memory.h
1
KB
-rw-r--r--
2024-09-20 10:46
dict.h
8.52
KB
-rw-r--r--
2024-09-20 10:46
dns-lookup.h
3.42
KB
-rw-r--r--
2024-09-20 10:46
dns-util.h
805
B
-rw-r--r--
2024-09-20 10:46
doveadm-cmd.h
5.67
KB
-rw-r--r--
2024-09-20 10:46
doveadm-dsync.h
282
B
-rw-r--r--
2024-09-20 10:46
doveadm-dump.h
827
B
-rw-r--r--
2024-09-20 10:46
doveadm-mail-iter.h
1.19
KB
-rw-r--r--
2024-09-20 10:46
doveadm-mail.h
8.13
KB
-rw-r--r--
2024-09-20 10:46
doveadm-mailbox-list-iter.h
864
B
-rw-r--r--
2024-09-20 10:46
doveadm-print-private.h
868
B
-rw-r--r--
2024-09-20 10:46
doveadm-print.h
1.69
KB
-rw-r--r--
2024-09-20 10:46
doveadm-settings.h
1.92
KB
-rw-r--r--
2024-09-20 10:46
doveadm-util.h
1.09
KB
-rw-r--r--
2024-09-20 10:46
doveadm.h
772
B
-rw-r--r--
2024-09-20 10:46
dovecot-version.h
231
B
-rw-r--r--
2024-09-20 10:46
dsasl-client-private.h
1.34
KB
-rw-r--r--
2024-09-20 10:46
dsasl-client.h
1.83
KB
-rw-r--r--
2024-09-20 10:46
dsync-brain.h
5.65
KB
-rw-r--r--
2024-09-20 10:46
dsync-ibc.h
6.1
KB
-rw-r--r--
2024-09-20 10:46
eacces-error.h
571
B
-rw-r--r--
2024-09-20 10:46
env-util.h
1.09
KB
-rw-r--r--
2024-09-20 10:46
event-filter-parser.h
3.46
KB
-rw-r--r--
2024-09-20 10:46
event-filter-private.h
3.17
KB
-rw-r--r--
2024-09-20 10:46
event-filter.h
2.62
KB
-rw-r--r--
2024-09-20 10:46
event-log.h
6.24
KB
-rw-r--r--
2024-09-20 10:46
execv-const.h
348
B
-rw-r--r--
2024-09-20 10:46
fail-mail-storage.h
557
B
-rw-r--r--
2024-09-20 10:46
failures-private.h
782
B
-rw-r--r--
2024-09-20 10:46
failures.h
5.62
KB
-rw-r--r--
2024-09-20 10:46
fd-util.h
1.04
KB
-rw-r--r--
2024-09-20 10:46
fdatasync-path.h
167
B
-rw-r--r--
2024-09-20 10:46
fdpass.h
637
B
-rw-r--r--
2024-09-20 10:46
file-cache.h
1.58
KB
-rw-r--r--
2024-09-20 10:46
file-copy.h
441
B
-rw-r--r--
2024-09-20 10:46
file-create-locked.h
1.53
KB
-rw-r--r--
2024-09-20 10:46
file-dotlock.h
3.73
KB
-rw-r--r--
2024-09-20 10:46
file-lock.h
3.44
KB
-rw-r--r--
2024-09-20 10:46
file-set-size.h
482
B
-rw-r--r--
2024-09-20 10:46
fs-api-private.h
6.08
KB
-rw-r--r--
2024-09-20 10:46
fs-api.h
16.56
KB
-rw-r--r--
2024-09-20 10:46
fs-sis-common.h
324
B
-rw-r--r--
2024-09-20 10:46
fs-test.h
863
B
-rw-r--r--
2024-09-20 10:46
fs-wrapper.h
1.77
KB
-rw-r--r--
2024-09-20 10:46
fsync-mode.h
364
B
-rw-r--r--
2024-09-20 10:46
fts-api-private.h
4.48
KB
-rw-r--r--
2024-09-20 10:46
fts-api.h
6.28
KB
-rw-r--r--
2024-09-20 10:46
fts-common.h
2.18
KB
-rw-r--r--
2024-09-20 10:46
fts-expunge-log.h
2.6
KB
-rw-r--r--
2024-09-20 10:46
fts-filter-common.h
133
B
-rw-r--r--
2024-09-20 10:46
fts-filter-private.h
949
B
-rw-r--r--
2024-09-20 10:46
fts-filter.h
2.33
KB
-rw-r--r--
2024-09-20 10:46
fts-icu.h
1.02
KB
-rw-r--r--
2024-09-20 10:46
fts-indexer.h
761
B
-rw-r--r--
2024-09-20 10:46
fts-language.h
2.36
KB
-rw-r--r--
2024-09-20 10:46
fts-library.h
113
B
-rw-r--r--
2024-09-20 10:46
fts-parser.h
1.48
KB
-rw-r--r--
2024-09-20 10:46
fts-storage.h
1.97
KB
-rw-r--r--
2024-09-20 10:46
fts-tokenizer-common.h
295
B
-rw-r--r--
2024-09-20 10:46
fts-tokenizer-generic-private.h
1.53
KB
-rw-r--r--
2024-09-20 10:46
fts-tokenizer-private.h
1.57
KB
-rw-r--r--
2024-09-20 10:46
fts-tokenizer.h
3.66
KB
-rw-r--r--
2024-09-20 10:46
fts-user.h
848
B
-rw-r--r--
2024-09-20 10:46
fuzzer.h
1011
B
-rw-r--r--
2024-09-20 10:46
guid.h
1.68
KB
-rw-r--r--
2024-09-20 10:46
hash-decl.h
527
B
-rw-r--r--
2024-09-20 10:46
hash-format.h
951
B
-rw-r--r--
2024-09-20 10:46
hash-method.h
1.38
KB
-rw-r--r--
2024-09-20 10:46
hash.h
7.67
KB
-rw-r--r--
2024-09-20 10:46
hash2.h
2
KB
-rw-r--r--
2024-09-20 10:46
hex-binary.h
524
B
-rw-r--r--
2024-09-20 10:46
hex-dec.h
419
B
-rw-r--r--
2024-09-20 10:46
hmac-cram-md5.h
337
B
-rw-r--r--
2024-09-20 10:46
hmac.h
1.78
KB
-rw-r--r--
2024-09-20 10:46
home-expand.h
449
B
-rw-r--r--
2024-09-20 10:46
hook-build.h
644
B
-rw-r--r--
2024-09-20 10:46
hostpid.h
546
B
-rw-r--r--
2024-09-20 10:46
http-auth.h
1.82
KB
-rw-r--r--
2024-09-20 10:46
http-client-private.h
21.73
KB
-rw-r--r--
2024-09-20 10:46
http-client.h
19.98
KB
-rw-r--r--
2024-09-20 10:46
http-common.h
113
B
-rw-r--r--
2024-09-20 10:46
http-date.h
551
B
-rw-r--r--
2024-09-20 10:46
http-header-parser.h
707
B
-rw-r--r--
2024-09-20 10:46
http-header.h
1.2
KB
-rw-r--r--
2024-09-20 10:46
http-message-parser.h
2.28
KB
-rw-r--r--
2024-09-20 10:46
http-parser.h
1.75
KB
-rw-r--r--
2024-09-20 10:46
http-request-parser.h
1.74
KB
-rw-r--r--
2024-09-20 10:46
http-request.h
1.99
KB
-rw-r--r--
2024-09-20 10:46
http-response-parser.h
811
B
-rw-r--r--
2024-09-20 10:46
http-response.h
1.99
KB
-rw-r--r--
2024-09-20 10:46
http-server-private.h
9.84
KB
-rw-r--r--
2024-09-20 10:46
http-server.h
17.92
KB
-rw-r--r--
2024-09-20 10:46
http-transfer.h
628
B
-rw-r--r--
2024-09-20 10:46
http-url.h
2.69
KB
-rw-r--r--
2024-09-20 10:46
imap-arg.h
3.56
KB
-rw-r--r--
2024-09-20 10:46
imap-base-subject.h
495
B
-rw-r--r--
2024-09-20 10:46
imap-bodystructure.h
1.76
KB
-rw-r--r--
2024-09-20 10:46
imap-client.h
12.98
KB
-rw-r--r--
2024-09-20 10:46
imap-commands-util.h
3.31
KB
-rw-r--r--
2024-09-20 10:46
imap-commands.h
5.02
KB
-rw-r--r--
2024-09-20 10:46
imap-common.h
1.28
KB
-rw-r--r--
2024-09-20 10:46
imap-date.h
1.05
KB
-rw-r--r--
2024-09-20 10:46
imap-envelope.h
558
B
-rw-r--r--
2024-09-20 10:46
imap-expunge.h
207
B
-rw-r--r--
2024-09-20 10:46
imap-feature.h
671
B
-rw-r--r--
2024-09-20 10:46
imap-fetch.h
5.22
KB
-rw-r--r--
2024-09-20 10:46
imap-id.h
611
B
-rw-r--r--
2024-09-20 10:46
imap-keepalive.h
1.16
KB
-rw-r--r--
2024-09-20 10:46
imap-list.h
180
B
-rw-r--r--
2024-09-20 10:46
imap-login-client.h
2.34
KB
-rw-r--r--
2024-09-20 10:46
imap-login-commands.h
646
B
-rw-r--r--
2024-09-20 10:46
imap-login-settings.h
302
B
-rw-r--r--
2024-09-20 10:46
imap-master-client.h
234
B
-rw-r--r--
2024-09-20 10:46
imap-match.h
1.47
KB
-rw-r--r--
2024-09-20 10:46
imap-metadata.h
2.44
KB
-rw-r--r--
2024-09-20 10:46
imap-msgpart-url.h
1.9
KB
-rw-r--r--
2024-09-20 10:46
imap-msgpart.h
3.07
KB
-rw-r--r--
2024-09-20 10:46
imap-notify.h
2.05
KB
-rw-r--r--
2024-09-20 10:46
imap-parser.h
4.91
KB
-rw-r--r--
2024-09-20 10:46
imap-quote.h
900
B
-rw-r--r--
2024-09-20 10:46
imap-resp-code.h
1
KB
-rw-r--r--
2024-09-20 10:46
imap-search-args.h
1.99
KB
-rw-r--r--
2024-09-20 10:46
imap-search.h
1.71
KB
-rw-r--r--
2024-09-20 10:46
imap-seqset.h
552
B
-rw-r--r--
2024-09-20 10:46
imap-settings.h
1.13
KB
-rw-r--r--
2024-09-20 10:46
imap-state.h
1.33
KB
-rw-r--r--
2024-09-20 10:46
imap-status.h
1.43
KB
-rw-r--r--
2024-09-20 10:46
imap-sync-private.h
1.05
KB
-rw-r--r--
2024-09-20 10:46
imap-sync.h
789
B
-rw-r--r--
2024-09-20 10:46
imap-url.h
1.73
KB
-rw-r--r--
2024-09-20 10:46
imap-urlauth-backend.h
470
B
-rw-r--r--
2024-09-20 10:46
imap-urlauth-connection.h
1.62
KB
-rw-r--r--
2024-09-20 10:46
imap-urlauth-fetch.h
1.82
KB
-rw-r--r--
2024-09-20 10:46
imap-urlauth-private.h
340
B
-rw-r--r--
2024-09-20 10:46
imap-urlauth.h
1.64
KB
-rw-r--r--
2024-09-20 10:46
imap-utf7.h
1.33
KB
-rw-r--r--
2024-09-20 10:46
imap-util.h
1.27
KB
-rw-r--r--
2024-09-20 10:46
imapc-client-private.h
1.37
KB
-rw-r--r--
2024-09-20 10:46
imapc-client.h
8.38
KB
-rw-r--r--
2024-09-20 10:46
imapc-connection.h
2.13
KB
-rw-r--r--
2024-09-20 10:46
imapc-list.h
1.2
KB
-rw-r--r--
2024-09-20 10:46
imapc-mail.h
1.46
KB
-rw-r--r--
2024-09-20 10:46
imapc-msgmap.h
670
B
-rw-r--r--
2024-09-20 10:46
imapc-search.h
637
B
-rw-r--r--
2024-09-20 10:46
imapc-settings.h
1.67
KB
-rw-r--r--
2024-09-20 10:46
imapc-storage.h
8.81
KB
-rw-r--r--
2024-09-20 10:46
imapc-sync.h
924
B
-rw-r--r--
2024-09-20 10:46
imem.h
1.5
KB
-rw-r--r--
2024-09-20 10:46
index-attachment.h
1.82
KB
-rw-r--r--
2024-09-20 10:46
index-mail.h
10.43
KB
-rw-r--r--
2024-09-20 10:46
index-mailbox-size.h
730
B
-rw-r--r--
2024-09-20 10:46
index-pop3-uidl.h
470
B
-rw-r--r--
2024-09-20 10:46
index-rebuild.h
812
B
-rw-r--r--
2024-09-20 10:46
index-search-private.h
1.08
KB
-rw-r--r--
2024-09-20 10:46
index-search-result.h
415
B
-rw-r--r--
2024-09-20 10:46
index-sort-private.h
1.13
KB
-rw-r--r--
2024-09-20 10:46
index-sort.h
556
B
-rw-r--r--
2024-09-20 10:46
index-storage.h
7.77
KB
-rw-r--r--
2024-09-20 10:46
index-sync-changes.h
1.03
KB
-rw-r--r--
2024-09-20 10:46
index-sync-private.h
1.32
KB
-rw-r--r--
2024-09-20 10:46
index-thread-private.h
2.7
KB
-rw-r--r--
2024-09-20 10:46
ioloop-iolist.h
363
B
-rw-r--r--
2024-09-20 10:46
ioloop-notify-fd.h
654
B
-rw-r--r--
2024-09-20 10:46
ioloop-private.h
2.89
KB
-rw-r--r--
2024-09-20 10:46
ioloop.h
14.7
KB
-rw-r--r--
2024-09-20 10:46
iostream-lz4.h
968
B
-rw-r--r--
2024-09-20 10:46
iostream-openssl.h
3.94
KB
-rw-r--r--
2024-09-20 10:46
iostream-private.h
1.86
KB
-rw-r--r--
2024-09-20 10:46
iostream-proxy.h
3.14
KB
-rw-r--r--
2024-09-20 10:46
iostream-pump.h
2.41
KB
-rw-r--r--
2024-09-20 10:46
iostream-rawlog-private.h
616
B
-rw-r--r--
2024-09-20 10:46
iostream-rawlog.h
1.03
KB
-rw-r--r--
2024-09-20 10:46
iostream-ssl-private.h
2.76
KB
-rw-r--r--
2024-09-20 10:46
iostream-ssl-test.h
256
B
-rw-r--r--
2024-09-20 10:46
iostream-ssl.h
7.6
KB
-rw-r--r--
2024-09-20 10:46
iostream-temp.h
1.21
KB
-rw-r--r--
2024-09-20 10:46
iostream.h
351
B
-rw-r--r--
2024-09-20 10:46
ipc-client.h
637
B
-rw-r--r--
2024-09-20 10:46
ipc-server.h
672
B
-rw-r--r--
2024-09-20 10:46
ipwd.h
624
B
-rw-r--r--
2024-09-20 10:46
iso8601-date.h
940
B
-rw-r--r--
2024-09-20 10:46
istream-attachment-connector.h
1.28
KB
-rw-r--r--
2024-09-20 10:46
istream-attachment-extractor.h
2.28
KB
-rw-r--r--
2024-09-20 10:46
istream-base64.h
450
B
-rw-r--r--
2024-09-20 10:46
istream-binary-converter.h
152
B
-rw-r--r--
2024-09-20 10:46
istream-callback.h
1.57
KB
-rw-r--r--
2024-09-20 10:46
istream-chain.h
902
B
-rw-r--r--
2024-09-20 10:46
istream-concat.h
178
B
-rw-r--r--
2024-09-20 10:46
istream-crlf.h
239
B
-rw-r--r--
2024-09-20 10:46
istream-decrypt.h
1.56
KB
-rw-r--r--
2024-09-20 10:46
istream-dot.h
366
B
-rw-r--r--
2024-09-20 10:46
istream-failure-at.h
334
B
-rw-r--r--
2024-09-20 10:46
istream-file-private.h
532
B
-rw-r--r--
2024-09-20 10:46
istream-fs-file.h
413
B
-rw-r--r--
2024-09-20 10:46
istream-fs-stats.h
168
B
-rw-r--r--
2024-09-20 10:46
istream-hash.h
355
B
-rw-r--r--
2024-09-20 10:46
istream-header-filter.h
1.78
KB
-rw-r--r--
2024-09-20 10:46
istream-jsonstr.h
189
B
-rw-r--r--
2024-09-20 10:46
istream-mail.h
165
B
-rw-r--r--
2024-09-20 10:46
istream-metawrap.h
490
B
-rw-r--r--
2024-09-20 10:46
istream-multiplex.h
298
B
-rw-r--r--
2024-09-20 10:46
istream-nonuls.h
205
B
-rw-r--r--
2024-09-20 10:46
istream-private.h
5.24
KB
-rw-r--r--
2024-09-20 10:46
istream-qp.h
293
B
-rw-r--r--
2024-09-20 10:46
istream-raw-mbox.h
2.59
KB
-rw-r--r--
2024-09-20 10:46
istream-rawlog.h
391
B
-rw-r--r--
2024-09-20 10:46
istream-seekable.h
1
KB
-rw-r--r--
2024-09-20 10:46
istream-sized.h
1.6
KB
-rw-r--r--
2024-09-20 10:46
istream-tee.h
723
B
-rw-r--r--
2024-09-20 10:46
istream-timeout.h
280
B
-rw-r--r--
2024-09-20 10:46
istream-try.h
1.27
KB
-rw-r--r--
2024-09-20 10:46
istream-unix.h
651
B
-rw-r--r--
2024-09-20 10:46
istream-zlib.h
420
B
-rw-r--r--
2024-09-20 10:46
istream.h
12.7
KB
-rw-r--r--
2024-09-20 10:46
json-parser.h
2.14
KB
-rw-r--r--
2024-09-20 10:46
json-tree.h
1.96
KB
-rw-r--r--
2024-09-20 10:46
lda-settings.h
462
B
-rw-r--r--
2024-09-20 10:46
lib-event-private.h
3.65
KB
-rw-r--r--
2024-09-20 10:46
lib-event.h
19.7
KB
-rw-r--r--
2024-09-20 10:46
lib-signals.h
2.74
KB
-rw-r--r--
2024-09-20 10:46
lib.h
3.64
KB
-rw-r--r--
2024-09-20 10:46
llist.h
2.71
KB
-rw-r--r--
2024-09-20 10:46
lmtp-client.h
3.13
KB
-rw-r--r--
2024-09-20 10:46
lmtp-commands.h
1.13
KB
-rw-r--r--
2024-09-20 10:46
lmtp-common.h
972
B
-rw-r--r--
2024-09-20 10:46
lmtp-recipient.h
1.1
KB
-rw-r--r--
2024-09-20 10:46
lmtp-settings.h
1.31
KB
-rw-r--r--
2024-09-20 10:46
log-throttle.h
1.17
KB
-rw-r--r--
2024-09-20 10:46
login-common.h
2.18
KB
-rw-r--r--
2024-09-20 10:46
login-proxy-state.h
1.34
KB
-rw-r--r--
2024-09-20 10:46
login-proxy.h
4.57
KB
-rw-r--r--
2024-09-20 10:46
login-settings.h
1.43
KB
-rw-r--r--
2024-09-20 10:46
macros.h
9.77
KB
-rw-r--r--
2024-09-20 10:46
mail-autoexpunge.h
267
B
-rw-r--r--
2024-09-20 10:46
mail-cache-private.h
15.72
KB
-rw-r--r--
2024-09-20 10:46
mail-cache.h
8.42
KB
-rw-r--r--
2024-09-20 10:46
mail-copy.h
635
B
-rw-r--r--
2024-09-20 10:46
mail-deliver.h
5.31
KB
-rw-r--r--
2024-09-20 10:46
mail-duplicate.h
2.06
KB
-rw-r--r--
2024-09-20 10:46
mail-error.h
2.49
KB
-rw-r--r--
2024-09-20 10:46
mail-html2text.h
580
B
-rw-r--r--
2024-09-20 10:46
mail-index-alloc-cache.h
712
B
-rw-r--r--
2024-09-20 10:46
mail-index-modseq.h
2.66
KB
-rw-r--r--
2024-09-20 10:46
mail-index-private.h
15.68
KB
-rw-r--r--
2024-09-20 10:46
mail-index-strmap.h
3.1
KB
-rw-r--r--
2024-09-20 10:46
mail-index-sync-private.h
3.38
KB
-rw-r--r--
2024-09-20 10:46
mail-index-transaction-private.h
6.05
KB
-rw-r--r--
2024-09-20 10:46
mail-index-util.h
782
B
-rw-r--r--
2024-09-20 10:46
mail-index-view-private.h
4.34
KB
-rw-r--r--
2024-09-20 10:46
mail-index.h
36.78
KB
-rw-r--r--
2024-09-20 10:46
mail-namespace.h
8.81
KB
-rw-r--r--
2024-09-20 10:46
mail-search-build.h
1.89
KB
-rw-r--r--
2024-09-20 10:46
mail-search-mime-build.h
1.42
KB
-rw-r--r--
2024-09-20 10:46
mail-search-mime-register.h
839
B
-rw-r--r--
2024-09-20 10:46
mail-search-mime.h
4.21
KB
-rw-r--r--
2024-09-20 10:46
mail-search-parser-private.h
522
B
-rw-r--r--
2024-09-20 10:46
mail-search-parser.h
1.3
KB
-rw-r--r--
2024-09-20 10:46
mail-search-register.h
1.62
KB
-rw-r--r--
2024-09-20 10:46
mail-search.h
9.8
KB
-rw-r--r--
2024-09-20 10:46
mail-send.h
215
B
-rw-r--r--
2024-09-20 10:46
mail-storage-hooks.h
2.16
KB
-rw-r--r--
2024-09-20 10:46
mail-storage-private.h
32.84
KB
-rw-r--r--
2024-09-20 10:46
mail-storage-service.h
8.66
KB
-rw-r--r--
2024-09-20 10:46
mail-storage-settings.h
5.11
KB
-rw-r--r--
2024-09-20 10:46
mail-storage.h
44.21
KB
-rw-r--r--
2024-09-20 10:46
mail-thread.h
1.97
KB
-rw-r--r--
2024-09-20 10:46
mail-transaction-log-private.h
7.48
KB
-rw-r--r--
2024-09-20 10:46
mail-transaction-log-view-private.h
877
B
-rw-r--r--
2024-09-20 10:46
mail-transaction-log.h
20.98
KB
-rw-r--r--
2024-09-20 10:46
mail-types.h
443
B
-rw-r--r--
2024-09-20 10:46
mail-user-hash.h
350
B
-rw-r--r--
2024-09-20 10:46
mail-user.h
9.89
KB
-rw-r--r--
2024-09-20 10:46
mailbox-attribute-internal.h
486
B
-rw-r--r--
2024-09-20 10:46
mailbox-attribute-private.h
365
B
-rw-r--r--
2024-09-20 10:46
mailbox-attribute.h
12.28
KB
-rw-r--r--
2024-09-20 10:46
mailbox-guid-cache.h
235
B
-rw-r--r--
2024-09-20 10:46
mailbox-list-delete.h
3.84
KB
-rw-r--r--
2024-09-20 10:46
mailbox-list-fs.h
843
B
-rw-r--r--
2024-09-20 10:46
mailbox-list-index-storage.h
483
B
-rw-r--r--
2024-09-20 10:46
mailbox-list-index-sync.h
1.06
KB
-rw-r--r--
2024-09-20 10:46
mailbox-list-index.h
8.91
KB
-rw-r--r--
2024-09-20 10:46
mailbox-list-iter-private.h
1.16
KB
-rw-r--r--
2024-09-20 10:46
mailbox-list-iter.h
3.69
KB
-rw-r--r--
2024-09-20 10:46
mailbox-list-maildir.h
914
B
-rw-r--r--
2024-09-20 10:46
mailbox-list-notify-tree.h
615
B
-rw-r--r--
2024-09-20 10:46
mailbox-list-notify.h
2.22
KB
-rw-r--r--
2024-09-20 10:46
mailbox-list-private.h
8.51
KB
-rw-r--r--
2024-09-20 10:46
mailbox-list-subscriptions.h
1.26
KB
-rw-r--r--
2024-09-20 10:46
mailbox-list.h
13.86
KB
-rw-r--r--
2024-09-20 10:46
mailbox-log.h
1.29
KB
-rw-r--r--
2024-09-20 10:46
mailbox-match-plugin.h
518
B
-rw-r--r--
2024-09-20 10:46
mailbox-recent-flags.h
749
B
-rw-r--r--
2024-09-20 10:46
mailbox-search-result-private.h
1.37
KB
-rw-r--r--
2024-09-20 10:46
mailbox-tree.h
1.5
KB
-rw-r--r--
2024-09-20 10:46
mailbox-uidvalidity.h
171
B
-rw-r--r--
2024-09-20 10:46
mailbox-watch.h
399
B
-rw-r--r--
2024-09-20 10:46
maildir-filename-flags.h
534
B
-rw-r--r--
2024-09-20 10:46
maildir-filename.h
425
B
-rw-r--r--
2024-09-20 10:46
maildir-keywords.h
1.26
KB
-rw-r--r--
2024-09-20 10:46
maildir-settings.h
295
B
-rw-r--r--
2024-09-20 10:46
maildir-storage.h
5.08
KB
-rw-r--r--
2024-09-20 10:46
maildir-sync.h
2.3
KB
-rw-r--r--
2024-09-20 10:46
maildir-uidlist.h
6.63
KB
-rw-r--r--
2024-09-20 10:46
malloc-overflow.h
1.96
KB
-rw-r--r--
2024-09-20 10:46
master-auth.h
3.71
KB
-rw-r--r--
2024-09-20 10:46
master-instance.h
1.46
KB
-rw-r--r--
2024-09-20 10:46
master-interface.h
4.65
KB
-rw-r--r--
2024-09-20 10:46
master-login-auth.h
1
KB
-rw-r--r--
2024-09-20 10:46
master-login.h
1.35
KB
-rw-r--r--
2024-09-20 10:46
master-service-private.h
2.79
KB
-rw-r--r--
2024-09-20 10:46
master-service-settings-cache.h
751
B
-rw-r--r--
2024-09-20 10:46
master-service-settings.h
4.02
KB
-rw-r--r--
2024-09-20 10:46
master-service-ssl-settings.h
1.99
KB
-rw-r--r--
2024-09-20 10:46
master-service-ssl.h
484
B
-rw-r--r--
2024-09-20 10:46
master-service.h
12.5
KB
-rw-r--r--
2024-09-20 10:46
mbox-file.h
502
B
-rw-r--r--
2024-09-20 10:46
mbox-from.h
451
B
-rw-r--r--
2024-09-20 10:46
mbox-lock.h
484
B
-rw-r--r--
2024-09-20 10:46
mbox-md5.h
417
B
-rw-r--r--
2024-09-20 10:46
mbox-settings.h
420
B
-rw-r--r--
2024-09-20 10:46
mbox-storage.h
3.39
KB
-rw-r--r--
2024-09-20 10:46
mbox-sync-private.h
5.29
KB
-rw-r--r--
2024-09-20 10:46
md4.h
849
B
-rw-r--r--
2024-09-20 10:46
md5.h
855
B
-rw-r--r--
2024-09-20 10:46
mdbox-file.h
728
B
-rw-r--r--
2024-09-20 10:46
mdbox-map-private.h
1.32
KB
-rw-r--r--
2024-09-20 10:46
mdbox-map.h
5.96
KB
-rw-r--r--
2024-09-20 10:46
mdbox-settings.h
253
B
-rw-r--r--
2024-09-20 10:46
mdbox-storage-rebuild.h
284
B
-rw-r--r--
2024-09-20 10:46
mdbox-storage.h
3.84
KB
-rw-r--r--
2024-09-20 10:46
mdbox-sync.h
1.06
KB
-rw-r--r--
2024-09-20 10:46
mech-digest-md5-private.h
734
B
-rw-r--r--
2024-09-20 10:46
mech-otp-common.h
491
B
-rw-r--r--
2024-09-20 10:46
mech-plain-common.h
156
B
-rw-r--r--
2024-09-20 10:46
mech-scram.h
288
B
-rw-r--r--
2024-09-20 10:46
mech.h
2.25
KB
-rw-r--r--
2024-09-20 10:46
memarea.h
1.06
KB
-rw-r--r--
2024-09-20 10:46
mempool.h
5.83
KB
-rw-r--r--
2024-09-20 10:46
message-address.h
2.55
KB
-rw-r--r--
2024-09-20 10:46
message-binary-part.h
1
KB
-rw-r--r--
2024-09-20 10:46
message-date.h
411
B
-rw-r--r--
2024-09-20 10:46
message-decoder.h
1.73
KB
-rw-r--r--
2024-09-20 10:46
message-header-decode.h
753
B
-rw-r--r--
2024-09-20 10:46
message-header-encode.h
1.39
KB
-rw-r--r--
2024-09-20 10:46
message-header-hash.h
446
B
-rw-r--r--
2024-09-20 10:46
message-header-parser.h
3.32
KB
-rw-r--r--
2024-09-20 10:46
message-id.h
228
B
-rw-r--r--
2024-09-20 10:46
message-parser.h
4.64
KB
-rw-r--r--
2024-09-20 10:46
message-part-data.h
3.06
KB
-rw-r--r--
2024-09-20 10:46
message-part-serialize.h
457
B
-rw-r--r--
2024-09-20 10:46
message-part.h
2.08
KB
-rw-r--r--
2024-09-20 10:46
message-search.h
1.58
KB
-rw-r--r--
2024-09-20 10:46
message-size.h
909
B
-rw-r--r--
2024-09-20 10:46
message-snippet.h
494
B
-rw-r--r--
2024-09-20 10:46
mkdir-parents.h
1.39
KB
-rw-r--r--
2024-09-20 10:46
mmap-util.h
1.02
KB
-rw-r--r--
2024-09-20 10:46
module-context.h
3.66
KB
-rw-r--r--
2024-09-20 10:46
module-dir.h
2.61
KB
-rw-r--r--
2024-09-20 10:46
mountpoint.h
734
B
-rw-r--r--
2024-09-20 10:46
mycrypt.h
217
B
-rw-r--r--
2024-09-20 10:46
net.h
7.71
KB
-rw-r--r--
2024-09-20 10:46
nfs-workarounds.h
1.83
KB
-rw-r--r--
2024-09-20 10:46
notify-plugin-private.h
1.32
KB
-rw-r--r--
2024-09-20 10:46
notify-plugin.h
1.45
KB
-rw-r--r--
2024-09-20 10:46
numpack.h
363
B
-rw-r--r--
2024-09-20 10:46
oauth2.h
4.75
KB
-rw-r--r--
2024-09-20 10:46
ostream-cmp.h
530
B
-rw-r--r--
2024-09-20 10:46
ostream-dot.h
648
B
-rw-r--r--
2024-09-20 10:46
ostream-encrypt.h
725
B
-rw-r--r--
2024-09-20 10:46
ostream-failure-at.h
292
B
-rw-r--r--
2024-09-20 10:46
ostream-file-private.h
1.16
KB
-rw-r--r--
2024-09-20 10:46
ostream-final-trickle.h
323
B
-rw-r--r--
2024-09-20 10:46
ostream-hash.h
356
B
-rw-r--r--
2024-09-20 10:46
ostream-metawrap.h
181
B
-rw-r--r--
2024-09-20 10:46
ostream-multiplex.h
298
B
-rw-r--r--
2024-09-20 10:46
ostream-null.h
158
B
-rw-r--r--
2024-09-20 10:46
ostream-private.h
2.36
KB
-rw-r--r--
2024-09-20 10:46
ostream-rawlog.h
393
B
-rw-r--r--
2024-09-20 10:46
ostream-unix.h
346
B
-rw-r--r--
2024-09-20 10:46
ostream-wrapper.h
7.5
KB
-rw-r--r--
2024-09-20 10:46
ostream-zlib.h
931
B
-rw-r--r--
2024-09-20 10:46
ostream.h
13.08
KB
-rw-r--r--
2024-09-20 10:46
passdb-blocking.h
412
B
-rw-r--r--
2024-09-20 10:46
passdb-cache.h
617
B
-rw-r--r--
2024-09-20 10:46
passdb-template.h
567
B
-rw-r--r--
2024-09-20 10:46
passdb.h
4.01
KB
-rw-r--r--
2024-09-20 10:46
password-scheme.h
5.65
KB
-rw-r--r--
2024-09-20 10:46
path-util.h
3.04
KB
-rw-r--r--
2024-09-20 10:46
pkcs5.h
1.1
KB
-rw-r--r--
2024-09-20 10:46
pop3-capability.h
210
B
-rw-r--r--
2024-09-20 10:46
pop3-client.h
3.84
KB
-rw-r--r--
2024-09-20 10:46
pop3-commands.h
328
B
-rw-r--r--
2024-09-20 10:46
pop3-common.h
626
B
-rw-r--r--
2024-09-20 10:46
pop3-settings.h
892
B
-rw-r--r--
2024-09-20 10:46
pop3c-client.h
2.73
KB
-rw-r--r--
2024-09-20 10:46
pop3c-settings.h
612
B
-rw-r--r--
2024-09-20 10:46
pop3c-storage.h
1.13
KB
-rw-r--r--
2024-09-20 10:46
pop3c-sync.h
350
B
-rw-r--r--
2024-09-20 10:46
primes.h
251
B
-rw-r--r--
2024-09-20 10:46
printf-format-fix.h
727
B
-rw-r--r--
2024-09-20 10:46
priorityq.h
1.51
KB
-rw-r--r--
2024-09-20 10:46
process-stat.h
559
B
-rw-r--r--
2024-09-20 10:46
process-title.h
701
B
-rw-r--r--
2024-09-20 10:46
program-client.h
3.64
KB
-rw-r--r--
2024-09-20 10:46
push-notification-drivers.h
3.74
KB
-rw-r--r--
2024-09-20 10:46
push-notification-event-flagsclear.h
497
B
-rw-r--r--
2024-09-20 10:46
push-notification-event-flagsset.h
616
B
-rw-r--r--
2024-09-20 10:46
push-notification-event-mailboxcreate.h
325
B
-rw-r--r--
2024-09-20 10:46
push-notification-event-mailboxdelete.h
279
B
-rw-r--r--
2024-09-20 10:46
push-notification-event-mailboxrename.h
262
B
-rw-r--r--
2024-09-20 10:46
push-notification-event-mailboxsubscribe.h
290
B
-rw-r--r--
2024-09-20 10:46
push-notification-event-mailboxunsubscribe.h
297
B
-rw-r--r--
2024-09-20 10:46
push-notification-event-message-common.h
1.28
KB
-rw-r--r--
2024-09-20 10:46
push-notification-event-messageappend.h
767
B
-rw-r--r--
2024-09-20 10:46
push-notification-event-messageexpunge.h
282
B
-rw-r--r--
2024-09-20 10:46
push-notification-event-messagenew.h
981
B
-rw-r--r--
2024-09-20 10:46
push-notification-event-messageread.h
269
B
-rw-r--r--
2024-09-20 10:46
push-notification-event-messagetrash.h
274
B
-rw-r--r--
2024-09-20 10:46
push-notification-events-rfc5423.h
296
B
-rw-r--r--
2024-09-20 10:46
push-notification-events.h
4.38
KB
-rw-r--r--
2024-09-20 10:46
push-notification-plugin.h
620
B
-rw-r--r--
2024-09-20 10:46
push-notification-triggers.h
2.36
KB
-rw-r--r--
2024-09-20 10:46
push-notification-txn-mbox.h
918
B
-rw-r--r--
2024-09-20 10:46
push-notification-txn-msg.h
1.12
KB
-rw-r--r--
2024-09-20 10:46
qp-decoder.h
870
B
-rw-r--r--
2024-09-20 10:46
qp-encoder.h
1.03
KB
-rw-r--r--
2024-09-20 10:46
quota-fs.h
1.19
KB
-rw-r--r--
2024-09-20 10:46
quota-plugin.h
891
B
-rw-r--r--
2024-09-20 10:46
quota-private.h
7.36
KB
-rw-r--r--
2024-09-20 10:46
quota.h
5.73
KB
-rw-r--r--
2024-09-20 10:46
quoted-printable.h
194
B
-rw-r--r--
2024-09-20 10:46
randgen.h
413
B
-rw-r--r--
2024-09-20 10:46
raw-storage.h
1.02
KB
-rw-r--r--
2024-09-20 10:46
raw-sync.h
169
B
-rw-r--r--
2024-09-20 10:46
read-full.h
285
B
-rw-r--r--
2024-09-20 10:46
restrict-access.h
3.44
KB
-rw-r--r--
2024-09-20 10:46
restrict-process-size.h
858
B
-rw-r--r--
2024-09-20 10:46
rfc2231-parser.h
555
B
-rw-r--r--
2024-09-20 10:46
rfc822-parser.h
2.81
KB
-rw-r--r--
2024-09-20 10:46
safe-memset.h
240
B
-rw-r--r--
2024-09-20 10:46
safe-mkdir.h
379
B
-rw-r--r--
2024-09-20 10:46
safe-mkstemp.h
623
B
-rw-r--r--
2024-09-20 10:46
sasl-server.h
1.32
KB
-rw-r--r--
2024-09-20 10:46
sdbox-file.h
1.48
KB
-rw-r--r--
2024-09-20 10:46
sdbox-storage.h
2.2
KB
-rw-r--r--
2024-09-20 10:46
sdbox-sync.h
1.03
KB
-rw-r--r--
2024-09-20 10:46
sendfile-util.h
677
B
-rw-r--r--
2024-09-20 10:46
seq-range-array.h
3.47
KB
-rw-r--r--
2024-09-20 10:46
seq-set-builder.h
707
B
-rw-r--r--
2024-09-20 10:46
service-settings.h
1.91
KB
-rw-r--r--
2024-09-20 10:46
settings-parser.h
12.87
KB
-rw-r--r--
2024-09-20 10:46
settings.h
2.49
KB
-rw-r--r--
2024-09-20 10:46
sha-common.h
245
B
-rw-r--r--
2024-09-20 10:46
sha1.h
3
KB
-rw-r--r--
2024-09-20 10:46
sha2.h
3.23
KB
-rw-r--r--
2024-09-20 10:46
sha3.h
3
KB
-rw-r--r--
2024-09-20 10:46
shared-storage.h
556
B
-rw-r--r--
2024-09-20 10:46
sleep.h
1.29
KB
-rw-r--r--
2024-09-20 10:46
smtp-address.h
8.85
KB
-rw-r--r--
2024-09-20 10:46
smtp-client-command.h
11.2
KB
-rw-r--r--
2024-09-20 10:46
smtp-client-connection.h
3.17
KB
-rw-r--r--
2024-09-20 10:46
smtp-client-private.h
8.46
KB
-rw-r--r--
2024-09-20 10:46
smtp-client-transaction.h
12.17
KB
-rw-r--r--
2024-09-20 10:46
smtp-client.h
4.12
KB
-rw-r--r--
2024-09-20 10:46
smtp-command-parser.h
1.75
KB
-rw-r--r--
2024-09-20 10:46
smtp-command.h
1.23
KB
-rw-r--r--
2024-09-20 10:46
smtp-common.h
2.55
KB
-rw-r--r--
2024-09-20 10:46
smtp-params.h
6.31
KB
-rw-r--r--
2024-09-20 10:46
smtp-parser.h
2.44
KB
-rw-r--r--
2024-09-20 10:46
smtp-reply-parser.h
791
B
-rw-r--r--
2024-09-20 10:46
smtp-reply.h
2.49
KB
-rw-r--r--
2024-09-20 10:46
smtp-server-private.h
12.32
KB
-rw-r--r--
2024-09-20 10:46
smtp-server.h
28.16
KB
-rw-r--r--
2024-09-20 10:46
smtp-submit-settings.h
342
B
-rw-r--r--
2024-09-20 10:46
smtp-submit.h
2.28
KB
-rw-r--r--
2024-09-20 10:46
smtp-syntax.h
1.17
KB
-rw-r--r--
2024-09-20 10:46
sort.h
1015
B
-rw-r--r--
2024-09-20 10:46
sql-api-private.h
7.93
KB
-rw-r--r--
2024-09-20 10:46
sql-api.h
9.85
KB
-rw-r--r--
2024-09-20 10:46
sql-db-cache.h
394
B
-rw-r--r--
2024-09-20 10:46
stats-client.h
199
B
-rw-r--r--
2024-09-20 10:46
stats-connection.h
373
B
-rw-r--r--
2024-09-20 10:46
stats-dist.h
1.6
KB
-rw-r--r--
2024-09-20 10:46
stats-parser.h
755
B
-rw-r--r--
2024-09-20 10:46
stats.h
2.88
KB
-rw-r--r--
2024-09-20 10:46
str-find.h
772
B
-rw-r--r--
2024-09-20 10:46
str-sanitize.h
1.02
KB
-rw-r--r--
2024-09-20 10:46
str-table.h
665
B
-rw-r--r--
2024-09-20 10:46
str.h
3.15
KB
-rw-r--r--
2024-09-20 10:46
strescape.h
1.63
KB
-rw-r--r--
2024-09-20 10:46
strfuncs.h
7.9
KB
-rw-r--r--
2024-09-20 10:46
strnum.h
6.48
KB
-rw-r--r--
2024-09-20 10:46
submission-backend-relay.h
1.72
KB
-rw-r--r--
2024-09-20 10:46
submission-backend.h
6.25
KB
-rw-r--r--
2024-09-20 10:46
submission-client.h
5.04
KB
-rw-r--r--
2024-09-20 10:46
submission-commands.h
2.28
KB
-rw-r--r--
2024-09-20 10:46
submission-common.h
1.55
KB
-rw-r--r--
2024-09-20 10:46
submission-recipient.h
759
B
-rw-r--r--
2024-09-20 10:46
submission-settings.h
1.44
KB
-rw-r--r--
2024-09-20 10:46
subscription-file.h
865
B
-rw-r--r--
2024-09-20 10:46
syslog-util.h
269
B
-rw-r--r--
2024-09-20 10:46
test-common.h
6.92
KB
-rw-r--r--
2024-09-20 10:46
test-mail-storage-common.h
812
B
-rw-r--r--
2024-09-20 10:46
test-subprocess.h
1.76
KB
-rw-r--r--
2024-09-20 10:46
time-util.h
3.08
KB
-rw-r--r--
2024-09-20 10:46
unichar.h
5.87
KB
-rw-r--r--
2024-09-20 10:46
unix-socket-create.h
163
B
-rw-r--r--
2024-09-20 10:46
unlink-directory.h
769
B
-rw-r--r--
2024-09-20 10:46
unlink-old-files.h
337
B
-rw-r--r--
2024-09-20 10:46
uri-util.h
12.83
KB
-rw-r--r--
2024-09-20 10:46
userdb-blocking.h
402
B
-rw-r--r--
2024-09-20 10:46
userdb-template.h
565
B
-rw-r--r--
2024-09-20 10:46
userdb.h
2.54
KB
-rw-r--r--
2024-09-20 10:46
utc-mktime.h
337
B
-rw-r--r--
2024-09-20 10:46
utc-offset.h
164
B
-rw-r--r--
2024-09-20 10:46
var-expand-private.h
1.71
KB
-rw-r--r--
2024-09-20 10:46
var-expand.h
2.27
KB
-rw-r--r--
2024-09-20 10:46
wildcard-match.h
507
B
-rw-r--r--
2024-09-20 10:46
write-full.h
384
B
-rw-r--r--
2024-09-20 10:46
Save
Rename
#ifndef ARRAY_H #define ARRAY_H /* Array is a buffer accessible using fixed size elements. As long as the compiler provides a typeof() operator, the array provides type safety. If a wrong type is tried to be added to the array, or if the array's contents are tried to be used using a wrong type, the compiler will give a warning. Example usage: struct foo { ARRAY(struct bar) bars; ... }; i_array_init(&foo->bars, 10); struct bar *bar = array_idx(&foo->bars, 5); struct baz *baz = array_idx(&foo->bars, 5); // compiler warning If you want to pass an array as a parameter to a function, you'll need to create a type for the array using ARRAY_DEFINE_TYPE() and use the type in the parameter using ARRAY_TYPE(). Any arrays that you want to be passing around, such as structure members as in the above example, must also be defined using ARRAY_TYPE() too, rather than ARRAY(). Example: ARRAY_DEFINE_TYPE(foo, struct foo); void do_foo(ARRAY_TYPE(foo) *foos) { struct foo *foo = array_idx(foos, 0); } struct foo_manager { ARRAY_TYPE(foo) foos; // pedantically, ARRAY(struct foo) is a different type }; // ... do_foo(&my_foo_manager->foos); // No compiler warning about mismatched types */ #include "array-decl.h" #include "buffer.h" #define p_array_init(array, pool, init_count) \ array_create(array, pool, sizeof(**(array)->v), init_count) #define i_array_init(array, init_count) \ p_array_init(array, default_pool, init_count) #define t_array_init(array, init_count) \ p_array_init(array, pool_datastack_create(), init_count) #ifdef HAVE_TYPEOF # define ARRAY_TYPE_CAST_CONST(array) \ (typeof(*(array)->v)) # define ARRAY_TYPE_CAST_MODIFIABLE(array) \ (typeof(*(array)->v_modifiable)) # define ARRAY_TYPE_CHECK(array, data) \ COMPILE_ERROR_IF_TYPES_NOT_COMPATIBLE( \ **(array)->v_modifiable, *(data)) # define ARRAY_TYPES_CHECK(array1, array2) \ COMPILE_ERROR_IF_TYPES_NOT_COMPATIBLE( \ **(array1)->v_modifiable, **(array2)->v_modifiable) #else # define ARRAY_TYPE_CAST_CONST(array) # define ARRAY_TYPE_CAST_MODIFIABLE(array) # define ARRAY_TYPE_CHECK(array, data) 0 # define ARRAY_TYPES_CHECK(array1, array2) 0 #endif /* Usage: ARRAY(struct foo) foo_arr; struct foo *foo; array_foreach(&foo_arr, foo) { .. } Note that deleting an element while iterating will cause the iteration to skip over the next element. So deleting a single element and breaking out of the loop is fine, but continuing the loop is likely a bug. Use array_foreach_reverse() instead when deleting multiple elements. */ #define array_foreach(array, elem) \ for (const void *elem ## __foreach_end = \ (const char *)(elem = *(array)->v) + (array)->arr.buffer->used; \ elem != elem ## __foreach_end; (elem)++) #define array_foreach_modifiable(array, elem) \ for (const void *elem ## _end = \ (const char *)(elem = ARRAY_TYPE_CAST_MODIFIABLE(array) \ buffer_get_modifiable_data((array)->arr.buffer, NULL)) + \ (array)->arr.buffer->used; \ elem != elem ## _end; (elem)++) /* Iterate the array in reverse order. */ #define array_foreach_reverse(array, elem) \ for (elem = CONST_PTR_OFFSET(*(array)->v, (array)->arr.buffer->used); \ (const char *)(elem--) > (const char *)*(array)->v; ) #define array_foreach_reverse_modifiable(array, elem) \ for (elem = ARRAY_TYPE_CAST_MODIFIABLE(array) \ ((char *)buffer_get_modifiable_data((array)->arr.buffer, NULL) + \ (array)->arr.buffer->used); \ (const char *)(elem--) > (const char *)*(array)->v; ) /* Usage: ARRAY(struct foo *) foo_ptrs_arr; struct foo *foo; array_foreach_elem(&foo_ptrs_arr, foo) { .. } */ #define array_foreach_elem(array, elem) \ for (const void *_foreach_end = \ CONST_PTR_OFFSET(*(array)->v, (array)->arr.buffer->used), \ *_foreach_ptr = CONST_PTR_OFFSET(*(array)->v, ARRAY_TYPE_CHECK(array, &elem) + \ COMPILE_ERROR_IF_TRUE(sizeof(elem) > sizeof(void *))) \ ; \ (_foreach_ptr != _foreach_end && \ (memcpy(&elem, _foreach_ptr, sizeof(elem)), TRUE)) \ ; \ _foreach_ptr = CONST_PTR_OFFSET(_foreach_ptr, sizeof(elem))) #define array_ptr_to_idx(array, elem) \ ((elem) - (array)->v[0]) /* Return index of iterated element inside array_foreach() or array_foreach_modifiable() loop. Note that this doesn't work inside array_foreach_elem() loop. */ #define array_foreach_idx(array, elem) \ array_ptr_to_idx(array, elem) static inline void array_create_from_buffer_i(struct array *array, buffer_t *buffer, size_t element_size) { array->buffer = buffer; array->element_size = element_size; } #define array_create_from_buffer(array, buffer, element_size) \ array_create_from_buffer_i(&(array)->arr, buffer, element_size) static inline void array_create_i(struct array *array, pool_t pool, size_t element_size, unsigned int init_count) { buffer_t *buffer; buffer = buffer_create_dynamic_max(pool, init_count * element_size, SIZE_MAX / element_size < UINT_MAX ? SIZE_MAX : UINT_MAX * element_size); array_create_from_buffer_i(array, buffer, element_size); } #define array_create(array, pool, element_size, init_count) \ array_create_i(&(array)->arr, pool, element_size, init_count) static inline void array_free_i(struct array *array) { buffer_free(&array->buffer); } #define array_free(array) \ array_free_i(&(array)->arr) static inline void * ATTR_WARN_UNUSED_RESULT array_free_without_data_i(struct array *array) { return buffer_free_without_data(&array->buffer); } #define array_free_without_data(array) \ ARRAY_TYPE_CAST_MODIFIABLE(array)array_free_without_data_i(&(array)->arr) static inline bool array_is_created_i(const struct array *array) { return array->buffer != NULL; } #define array_is_created(array) \ array_is_created_i(&(array)->arr) static inline pool_t ATTR_PURE array_get_pool_i(struct array *array) { return buffer_get_pool(array->buffer); } #define array_get_pool(array) \ array_get_pool_i(&(array)->arr) static inline void array_clear_i(struct array *array) { buffer_set_used_size(array->buffer, 0); } #define array_clear(array) \ array_clear_i(&(array)->arr) static inline unsigned int ATTR_PURE array_count_i(const struct array *array) { return array->buffer->used / array->element_size; } #define array_count(array) \ array_count_i(&(array)->arr) /* No need for the real count if all we're doing is comparing against 0 */ #define array_is_empty(array) \ ((array)->arr.buffer->used == 0) #define array_not_empty(array) \ ((array)->arr.buffer->used > 0) static inline void array_append_i(struct array *array, const void *data, unsigned int count) { buffer_append(array->buffer, data, count * array->element_size); } #define array_append(array, data, count) \ TYPE_CHECKS(void, ARRAY_TYPE_CHECK(array, data), \ array_append_i(&(array)->arr, data, count)) static inline void array_append_array_i(struct array *dest_array, const struct array *src_array) { i_assert(dest_array->element_size == src_array->element_size); buffer_append_buf(dest_array->buffer, src_array->buffer, 0, SIZE_MAX); } #define array_append_array(dest_array, src_array) \ TYPE_CHECKS(void, ARRAY_TYPES_CHECK(dest_array, src_array), \ array_append_array_i(&(dest_array)->arr, &(src_array)->arr)) static inline void array_insert_i(struct array *array, unsigned int idx, const void *data, unsigned int count) { buffer_insert(array->buffer, idx * array->element_size, data, count * array->element_size); } #define array_insert(array, idx, data, count) \ TYPE_CHECKS(void, ARRAY_TYPE_CHECK(array, data), \ array_insert_i(&(array)->arr, idx, data, count)) static inline void array_delete_i(struct array *array, unsigned int idx, unsigned int count) { buffer_delete(array->buffer, idx * array->element_size, count * array->element_size); } #define array_delete(array, idx, count) \ array_delete_i(&(array)->arr, idx, count) static inline const void * array_get_i(const struct array *array, unsigned int *count_r) { *count_r = array_count_i(array); return array->buffer->data; } #define array_get(array, count) \ ARRAY_TYPE_CAST_CONST(array)array_get_i(&(array)->arr, count) /* Re: i_assert() vs. pure: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51971#c1 */ static inline const void * ATTR_PURE array_idx_i(const struct array *array, unsigned int idx) { i_assert(idx < array->buffer->used / array->element_size); return CONST_PTR_OFFSET(array->buffer->data, idx * array->element_size); } #define array_front(array) array_idx(array, 0) #define array_front_modifiable(array) array_idx_modifiable(array, 0) #define array_back(array) array_idx(array, array_count(array)-1) #define array_back_modifiable(array) array_idx_modifiable(array, array_count(array)-1) #define array_pop_back(array) array_delete(array, array_count(array)-1, 1); #define array_push_back(array, item) array_append(array, (item), 1) #define array_pop_front(array) array_delete(array, 0, 1) #define array_push_front(array, item) array_insert(array, 0, (item), 1) #define array_idx(array, idx) \ ARRAY_TYPE_CAST_CONST(array)array_idx_i(&(array)->arr, idx) /* Using *array_idx() will fail if the compiler doesn't support typeof(). The same can be done with array_idx_elem() for arrays that have pointers. */ #ifdef HAVE_TYPEOF # define array_idx_elem(array, idx) \ (TRUE ? *array_idx(array, idx) : \ COMPILE_ERROR_IF_TRUE(sizeof(**(array)->v) != sizeof(void *))) #else # define array_idx_elem(array, idx) \ (*(void **)array_idx_i(&(array)->arr, idx)) #endif static inline void * array_get_modifiable_i(struct array *array, unsigned int *count_r) { *count_r = array_count_i(array); return buffer_get_modifiable_data(array->buffer, NULL); } #define array_get_modifiable(array, count) \ ARRAY_TYPE_CAST_MODIFIABLE(array) \ array_get_modifiable_i(&(array)->arr, count) void * array_idx_modifiable_i(const struct array *array, unsigned int idx) ATTR_PURE; #define array_idx_modifiable(array, idx) \ ARRAY_TYPE_CAST_MODIFIABLE(array) \ array_idx_modifiable_i(&(array)->arr, idx) void *array_idx_get_space_i(struct array *array, unsigned int idx); #define array_idx_get_space(array, idx) \ ARRAY_TYPE_CAST_MODIFIABLE(array) \ array_idx_get_space_i(&(array)->arr, idx) void array_idx_set_i(struct array *array, unsigned int idx, const void *data); #define array_idx_set(array, idx, data) \ TYPE_CHECKS(void, ARRAY_TYPE_CHECK(array, data), \ array_idx_set_i(&(array)->arr, idx, data)) void array_idx_clear_i(struct array *array, unsigned int idx); #define array_idx_clear(array, idx) \ array_idx_clear_i(&(array)->arr, idx) static inline void * array_append_space_i(struct array *array) { void *data; data = buffer_append_space_unsafe(array->buffer, array->element_size); memset(data, 0, array->element_size); return data; } #define array_append_space(array) \ ARRAY_TYPE_CAST_MODIFIABLE(array)array_append_space_i(&(array)->arr) #define array_append_zero(array) \ (void)array_append_space_i(&(array)->arr) void *array_insert_space_i(struct array *array, unsigned int idx); #define array_insert_space(array, idx) \ ARRAY_TYPE_CAST_MODIFIABLE(array) \ array_insert_space_i(&(array)->arr, idx) static inline void array_copy(struct array *dest, unsigned int dest_idx, const struct array *src, unsigned int src_idx, unsigned int count) { i_assert(dest->element_size == src->element_size); buffer_copy(dest->buffer, dest_idx * dest->element_size, src->buffer, src_idx * src->element_size, count * dest->element_size); } bool array_cmp_i(const struct array *array1, const struct array *array2) ATTR_PURE; #define array_cmp(array1, array2) \ array_cmp_i(&(array1)->arr, &(array2)->arr) /* Test equality via a comparator */ bool array_equal_fn_i(const struct array *array1, const struct array *array2, int (*cmp)(const void*, const void *)) ATTR_PURE; #define array_equal_fn(array1, array2, cmp) \ TYPE_CHECKS(bool, \ ARRAY_TYPES_CHECK(array1, array2) || \ CALLBACK_TYPECHECK(cmp, int (*)(typeof(*(array1)->v), \ typeof(*(array2)->v))), \ array_equal_fn_i(&(array1)->arr, &(array2)->arr, \ (int (*)(const void *, const void *))cmp)) bool array_equal_fn_ctx_i(const struct array *array1, const struct array *array2, int (*cmp)(const void*, const void *, const void *), const void *context) ATTR_PURE; /* Same, but with a context pointer. context can't be void* as ``const typeof(context)'' won't compile, so ``const typeof(*context)*'' is required instead, and that requires a complete type. */ #define array_equal_fn_ctx(array1, array2, cmp, ctx) \ TYPE_CHECKS(bool, \ ARRAY_TYPES_CHECK(array1, array2) || \ CALLBACK_TYPECHECK(cmp, int (*)(typeof(*(array1)->v), \ typeof(*(array2)->v), \ const typeof(*ctx)*)), \ array_equal_fn_ctx_i(&(array1)->arr, &(array2)->arr, \ (int (*)(const void *, const void *, const void *))cmp, ctx)) void array_reverse_i(struct array *array); #define array_reverse(array) \ array_reverse_i(&(array)->arr) void array_sort_i(struct array *array, int (*cmp)(const void *, const void *)); #define array_sort(array, cmp) \ TYPE_CHECKS(void, \ CALLBACK_TYPECHECK(cmp, int (*)(typeof(*(array)->v), \ typeof(*(array)->v))), \ array_sort_i(&(array)->arr, (int (*)(const void *, const void *))cmp)) void *array_bsearch_i(struct array *array, const void *key, int (*cmp)(const void *, const void *)); #define array_bsearch(array, key, cmp) \ TYPE_CHECKS(void *, \ CALLBACK_TYPECHECK(cmp, int (*)(typeof(const typeof(*key) *), \ typeof(*(array)->v))), \ ARRAY_TYPE_CAST_MODIFIABLE(array)array_bsearch_i(&(array)->arr, \ (const void *)key, (int (*)(const void *, const void *))cmp)) /* Returns pointer to first element for which cmp(key,elem)==0, or NULL */ const void *array_lsearch_i(const struct array *array, const void *key, int (*cmp)(const void *, const void *)); static inline void *array_lsearch_modifiable_i(struct array *array, const void *key, int (*cmp)(const void *, const void *)) { return (void *)array_lsearch_i(array, key, cmp); } #define ARRAY_LSEARCH_CALL(modifiable, array, key, cmp) \ TYPE_CHECKS(void *, \ CALLBACK_TYPECHECK(cmp, int (*)(typeof(const typeof(*key) *), \ typeof(*(array)->v))), \ array_lsearch##modifiable##i( \ &(array)->arr, (const void *)key, \ (int (*)(const void *, const void *))cmp)) #define array_lsearch(array, key, cmp) \ ARRAY_TYPE_CAST_CONST(array)ARRAY_LSEARCH_CALL(_, array, key, cmp) #define array_lsearch_modifiable(array, key, cmp) \ ARRAY_TYPE_CAST_MODIFIABLE(array)ARRAY_LSEARCH_CALL(_modifiable_, array, key, cmp) #endif