Linux newlinux5.pouyasazan.org 3.10.0-962.3.2.lve1.5.60.el7.x86_64 #1 SMP Fri Jul 23 07:07:00 EDT 2021 x86_64
LiteSpeed
Server IP : 88.99.66.243 & Your IP : 216.73.216.178
Domains :
Cant Read [ /etc/named.conf ]
User : wdbbsgxf
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
include /
Delete
Unzip
Name
Size
Permission
Date
Action
GL
[ DIR ]
drwxr-xr-x
2021-08-24 17:01
X11
[ DIR ]
drwxr-xr-x
2024-06-16 05:58
apache2
[ DIR ]
drwxr-xr-x
2026-02-06 06:50
arpa
[ DIR ]
drwxr-xr-x
2025-10-17 23:50
asm
[ DIR ]
drwxr-xr-x
2024-10-18 05:50
asm-generic
[ DIR ]
drwxr-xr-x
2024-10-18 05:50
bind9
[ DIR ]
drwxr-xr-x
2025-05-16 23:52
bits
[ DIR ]
drwxr-xr-x
2025-10-17 23:50
bsock
[ DIR ]
drwxr-xr-x
2021-08-25 16:56
c++
[ DIR ]
drwxr-xr-x
2025-07-23 05:56
db4.7.25
[ DIR ]
drwxr-xr-x
2021-08-24 16:57
drm
[ DIR ]
drwxr-xr-x
2024-10-18 05:50
e2p
[ DIR ]
drwxr-xr-x
2021-08-24 17:02
et
[ DIR ]
drwxr-xr-x
2021-08-24 17:01
ext2fs
[ DIR ]
drwxr-xr-x
2021-08-24 17:02
fontconfig
[ DIR ]
drwxr-xr-x
2021-08-24 17:01
freetype2
[ DIR ]
drwxr-xr-x
2021-08-24 17:01
gdbm
[ DIR ]
drwxr-xr-x
2021-08-24 17:00
gnu
[ DIR ]
drwxr-xr-x
2025-10-17 23:50
gssapi
[ DIR ]
drwxr-xr-x
2025-05-16 23:52
gssrpc
[ DIR ]
drwxr-xr-x
2025-05-16 23:52
kadm5
[ DIR ]
drwxr-xr-x
2025-05-16 23:52
krb5
[ DIR ]
drwxr-xr-x
2025-05-16 23:52
libdb
[ DIR ]
drwxr-xr-x
2021-08-24 17:00
libexslt
[ DIR ]
drwxr-xr-x
2021-08-24 17:02
libltdl
[ DIR ]
drwxr-xr-x
2021-08-24 17:02
libpng15
[ DIR ]
drwxr-xr-x
2021-08-24 17:01
libxml2
[ DIR ]
drwxr-xr-x
2025-09-08 17:20
libxslt
[ DIR ]
drwxr-xr-x
2021-08-24 17:02
linux
[ DIR ]
drwxr-xr-x
2024-10-18 05:50
lve
[ DIR ]
drwxr-xr-x
2025-12-19 06:50
lzma
[ DIR ]
drwxr-xr-x
2024-06-16 05:53
misc
[ DIR ]
drwxr-xr-x
2024-10-18 05:50
mtd
[ DIR ]
drwxr-xr-x
2024-10-18 05:50
mysql
[ DIR ]
drwxr-xr-x
2024-06-16 06:01
ncurses
[ DIR ]
drwxr-xr-x
2021-08-24 17:02
ncursesw
[ DIR ]
drwxr-xr-x
2021-08-24 17:02
net
[ DIR ]
drwxr-xr-x
2025-10-17 23:50
netash
[ DIR ]
drwxr-xr-x
2025-10-17 23:50
netatalk
[ DIR ]
drwxr-xr-x
2025-10-17 23:50
netax25
[ DIR ]
drwxr-xr-x
2025-10-17 23:50
neteconet
[ DIR ]
drwxr-xr-x
2025-10-17 23:50
netinet
[ DIR ]
drwxr-xr-x
2025-10-17 23:50
netipx
[ DIR ]
drwxr-xr-x
2025-10-17 23:50
netiucv
[ DIR ]
drwxr-xr-x
2025-10-17 23:50
netpacket
[ DIR ]
drwxr-xr-x
2025-10-17 23:50
netrom
[ DIR ]
drwxr-xr-x
2025-10-17 23:50
netrose
[ DIR ]
drwxr-xr-x
2025-10-17 23:50
nfs
[ DIR ]
drwxr-xr-x
2025-10-17 23:50
openssl
[ DIR ]
drwxr-xr-x
2025-11-20 06:49
perf
[ DIR ]
drwxr-xr-x
2024-10-18 05:50
proftpd
[ DIR ]
drwxr-xr-x
2025-03-01 00:49
protocols
[ DIR ]
drwxr-xr-x
2025-10-17 23:50
python2.7
[ DIR ]
drwxr-xr-x
2025-12-19 06:50
quota
[ DIR ]
drwxr-xr-x
2021-08-24 17:02
rdma
[ DIR ]
drwxr-xr-x
2024-10-18 05:50
rpc
[ DIR ]
drwxr-xr-x
2025-10-17 23:50
rpcsvc
[ DIR ]
drwxr-xr-x
2025-10-17 23:50
sasl
[ DIR ]
drwxr-xr-x
2024-06-16 05:55
scsi
[ DIR ]
drwxr-xr-x
2025-10-17 23:50
security
[ DIR ]
drwxr-xr-x
2025-09-28 05:49
selinux
[ DIR ]
drwxr-xr-x
2021-08-24 17:01
sepol
[ DIR ]
drwxr-xr-x
2021-08-24 17:01
sound
[ DIR ]
drwxr-xr-x
2024-10-18 05:50
sys
[ DIR ]
drwxr-xr-x
2025-10-17 23:50
uuid
[ DIR ]
drwxr-xr-x
2021-08-24 17:01
video
[ DIR ]
drwxr-xr-x
2024-10-18 05:50
xcb
[ DIR ]
drwxr-xr-x
2021-08-24 17:01
xen
[ DIR ]
drwxr-xr-x
2024-10-18 05:50
FlexLexer.h
6.07
KB
-rw-r--r--
2018-10-31 00:00
_G_config.h
1.26
KB
-rw-r--r--
2025-09-18 12:58
a.out.h
4.25
KB
-rw-r--r--
2025-09-18 12:58
aio.h
7.27
KB
-rw-r--r--
2025-09-18 12:58
aliases.h
2
KB
-rw-r--r--
2025-09-18 12:59
alloca.h
1.19
KB
-rw-r--r--
2025-09-18 12:58
ar.h
1.68
KB
-rw-r--r--
2025-09-18 12:58
argp.h
24.75
KB
-rw-r--r--
2025-09-18 12:58
argz.h
6.96
KB
-rw-r--r--
2025-09-18 12:58
assert.h
3.52
KB
-rw-r--r--
2025-09-18 12:58
autosprintf.h
2.33
KB
-rw-r--r--
2020-03-31 18:55
byteswap.h
1.41
KB
-rw-r--r--
2025-09-18 12:58
com_err.h
2.07
KB
-rw-r--r--
2012-07-06 18:07
complex.h
3.62
KB
-rw-r--r--
2025-09-18 12:58
cpio.h
2.21
KB
-rw-r--r--
2025-09-18 12:58
cpuidle.h
844
B
-rw-r--r--
2024-10-08 18:24
crypt.h
2.22
KB
-rw-r--r--
2025-09-18 12:58
ctype.h
11.52
KB
-rw-r--r--
2025-09-18 12:58
curses.h
93.19
KB
-rw-r--r--
2017-09-07 02:38
cursesapp.h
6.62
KB
-rw-r--r--
2017-09-07 02:38
cursesf.h
27.05
KB
-rw-r--r--
2017-09-07 02:38
cursesm.h
19.09
KB
-rw-r--r--
2017-09-07 02:38
cursesp.h
8.3
KB
-rw-r--r--
2017-09-07 02:38
cursesw.h
48.24
KB
-rw-r--r--
2017-09-07 02:38
cursslk.h
7.13
KB
-rw-r--r--
2017-09-07 02:38
db.h
120.21
KB
-r--r--r--
2019-08-09 04:46
db_185.h
5.84
KB
-r--r--r--
2019-08-09 04:46
dbm.h
1.37
KB
-rw-r--r--
2014-06-10 02:09
dirent.h
12.34
KB
-rw-r--r--
2025-09-18 12:58
dlfcn.h
6.88
KB
-rw-r--r--
2025-09-18 12:58
elf.h
141.01
KB
-rw-r--r--
2025-09-18 12:59
endian.h
2.95
KB
-rw-r--r--
2025-09-18 12:58
entities.h
4.56
KB
-rw-r--r--
2007-03-31 20:54
envz.h
2.82
KB
-rw-r--r--
2025-09-18 12:58
err.h
2.18
KB
-rw-r--r--
2025-09-18 12:58
errno.h
2.33
KB
-rw-r--r--
2025-09-18 12:58
error.h
2.01
KB
-rw-r--r--
2025-09-18 12:58
eti.h
2.82
KB
-rw-r--r--
2017-09-07 02:38
etip.h
9.04
KB
-rw-r--r--
2017-09-07 02:38
execinfo.h
1.5
KB
-rw-r--r--
2025-09-18 12:58
expat.h
40.92
KB
-rw-r--r--
2024-09-16 17:45
expat_external.h
3.29
KB
-rw-r--r--
2024-09-16 17:45
fcntl.h
9.89
KB
-rw-r--r--
2025-09-18 12:58
features.h
12.87
KB
-rw-r--r--
2025-09-18 12:57
fenv.h
4.5
KB
-rw-r--r--
2025-09-18 12:58
fmtmsg.h
3.18
KB
-rw-r--r--
2025-09-18 12:58
fnmatch.h
2.27
KB
-rw-r--r--
2025-09-18 12:58
form.h
17.56
KB
-rw-r--r--
2017-09-07 02:38
fpu_control.h
3.5
KB
-rw-r--r--
2025-09-18 12:58
fstab.h
3.04
KB
-rw-r--r--
2025-09-18 12:58
fts.h
5.17
KB
-rw-r--r--
2025-09-18 12:58
ftw.h
5.15
KB
-rw-r--r--
2025-09-18 12:58
gconv.h
5.16
KB
-rw-r--r--
2025-09-18 12:57
gcrypt-module.h
7.18
KB
-rw-r--r--
2017-08-02 20:24
gcrypt.h
76.51
KB
-rw-r--r--
2017-08-02 20:24
gd.h
32.02
KB
-rw-r--r--
2007-05-07 00:08
gd_io.h
1.13
KB
-rw-r--r--
2007-01-04 01:20
gdbm.h
5.75
KB
-rw-r--r--
2014-06-10 02:09
gdcache.h
2.75
KB
-rw-r--r--
2006-04-05 19:24
gdfontg.h
623
B
-rw-r--r--
2006-04-05 19:24
gdfontl.h
621
B
-rw-r--r--
2006-04-05 19:24
gdfontmb.h
590
B
-rw-r--r--
2006-04-05 19:24
gdfonts.h
585
B
-rw-r--r--
2006-04-05 19:24
gdfontt.h
617
B
-rw-r--r--
2006-04-05 19:24
gdfx.h
2.34
KB
-rw-r--r--
2006-04-05 19:24
gelf.h
11.05
KB
-rw-r--r--
2020-06-30 06:05
getopt.h
6.53
KB
-rw-r--r--
2025-09-18 12:58
gettext-po.h
15.17
KB
-rw-r--r--
2020-03-31 18:55
glob.h
6.51
KB
-rw-r--r--
2025-09-18 12:58
gnu-versions.h
2.29
KB
-rw-r--r--
2025-09-18 12:57
gpg-error.h
23.66
KB
-rw-r--r--
2014-06-10 13:16
grp.h
6.75
KB
-rw-r--r--
2025-09-18 12:58
gshadow.h
4.43
KB
-rw-r--r--
2025-09-18 12:58
gssapi.h
181
B
-rw-r--r--
2025-02-12 16:57
iconv.h
1.83
KB
-rw-r--r--
2025-09-18 12:57
idn-free.h
2.41
KB
-rw-r--r--
2015-11-21 20:30
idn-int.h
20
B
-rw-r--r--
2015-11-21 20:30
idna.h
3.48
KB
-rw-r--r--
2015-11-21 20:30
ieee754.h
4.81
KB
-rw-r--r--
2025-09-18 12:58
ifaddrs.h
2.77
KB
-rw-r--r--
2025-09-18 12:59
inttypes.h
11.61
KB
-rw-r--r--
2025-09-18 12:58
jconfig.h
1.7
KB
-rw-r--r--
2019-08-09 04:53
jerror.h
14.4
KB
-rw-r--r--
2019-08-09 04:53
jmorecfg.h
13.5
KB
-rw-r--r--
2019-08-09 04:53
jpeglib.h
49.12
KB
-rw-r--r--
2019-08-09 04:53
kdb.h
60.12
KB
-rw-r--r--
2025-02-12 16:57
keyutils.h
7.08
KB
-rw-r--r--
2014-06-10 06:47
krad.h
8.72
KB
-rw-r--r--
2025-02-12 16:57
krb5.h
402
B
-rw-r--r--
2025-02-12 16:57
langinfo.h
15.57
KB
-rw-r--r--
2025-09-18 12:57
lastlog.h
126
B
-rw-r--r--
2025-09-18 12:59
lauxlib.h
5.64
KB
-rw-r--r--
2016-11-04 03:22
lber.h
14.95
KB
-rw-r--r--
2022-02-23 13:10
lber_types.h
1.43
KB
-rw-r--r--
2022-02-23 13:10
ldap.h
63.46
KB
-rw-r--r--
2022-02-23 13:10
ldap_cdefs.h
9.24
KB
-rw-r--r--
2022-02-23 13:10
ldap_features.h
1.77
KB
-rw-r--r--
2022-02-23 13:10
ldap_schema.h
9.23
KB
-rw-r--r--
2022-02-23 13:10
ldap_utf8.h
3.39
KB
-rw-r--r--
2022-02-23 13:10
ldif.h
4.58
KB
-rw-r--r--
2022-02-23 13:10
libaio.h
7.8
KB
-rw-r--r--
2015-11-20 10:07
libelf.h
19.11
KB
-rw-r--r--
2020-06-30 06:05
libgen.h
1.37
KB
-rw-r--r--
2025-09-18 12:58
libintl.h
4.49
KB
-rw-r--r--
2025-09-18 12:58
libio.h
16.87
KB
-rw-r--r--
2025-09-18 12:58
libtasn1.h
12.46
KB
-rw-r--r--
2017-08-02 04:51
limits.h
4.42
KB
-rw-r--r--
2025-09-18 12:57
link.h
6.99
KB
-rw-r--r--
2025-09-18 12:59
locale.h
7.78
KB
-rw-r--r--
2025-09-18 12:57
ltdl.h
5.58
KB
-rw-r--r--
2017-04-12 23:27
lua.h
11.41
KB
-rw-r--r--
2016-11-04 03:22
lua.hpp
191
B
-rw-r--r--
2016-11-04 03:22
luaconf.h
21.64
KB
-rw-r--r--
2016-11-04 03:22
lualib.h
1
KB
-rw-r--r--
2016-11-04 03:22
lzma.h
9.51
KB
-rw-r--r--
2015-09-29 14:27
malloc.h
6.44
KB
-rw-r--r--
2025-09-18 12:58
math.h
15.7
KB
-rw-r--r--
2025-09-18 12:58
mcheck.h
2.4
KB
-rw-r--r--
2025-09-18 12:58
memory.h
962
B
-rw-r--r--
2025-09-18 12:58
menu.h
11.67
KB
-rw-r--r--
2017-09-07 02:38
mntent.h
3.3
KB
-rw-r--r--
2025-09-18 12:58
monetary.h
1.73
KB
-rw-r--r--
2025-09-18 12:58
mqueue.h
3.7
KB
-rw-r--r--
2025-09-18 12:58
nc_tparm.h
4.05
KB
-rw-r--r--
2017-09-07 02:38
ncurses.h
93.19
KB
-rw-r--r--
2017-09-07 02:38
ncurses_dll.h
3.83
KB
-rw-r--r--
2017-09-07 02:38
ndbm.h
2.39
KB
-rw-r--r--
2014-06-10 02:09
netdb.h
27.46
KB
-rw-r--r--
2025-09-18 12:58
nl_types.h
1.73
KB
-rw-r--r--
2025-09-18 12:58
nlist.h
1.56
KB
-rw-r--r--
2020-06-30 06:05
nss.h
1.85
KB
-rw-r--r--
2025-09-18 12:58
obstack.h
18.84
KB
-rw-r--r--
2025-09-18 12:58
panel.h
3.97
KB
-rw-r--r--
2017-09-07 02:38
paths.h
2.91
KB
-rw-r--r--
2025-09-18 12:58
pcre.h
29.73
KB
-rw-r--r--
2017-08-02 07:37
pcre_scanner.h
6.45
KB
-rw-r--r--
2017-08-02 07:37
pcre_stringpiece.h
6.11
KB
-rw-r--r--
2017-08-02 07:37
pcrecpp.h
25.91
KB
-rw-r--r--
2017-08-02 07:37
pcrecpparg.h
6.62
KB
-rw-r--r--
2017-08-02 07:37
pcreposix.h
5.32
KB
-rw-r--r--
2017-08-02 07:37
png.h
113.36
KB
-rw-r--r--
2020-10-13 19:22
pngconf.h
20.94
KB
-rw-r--r--
2020-10-13 19:22
pnglibconf.h
6.3
KB
-rw-r--r--
2020-10-13 19:22
poll.h
22
B
-rw-r--r--
2025-09-18 12:58
pr29.h
2.07
KB
-rw-r--r--
2015-11-21 20:30
printf.h
6.56
KB
-rw-r--r--
2025-09-18 12:58
profile.h
11.87
KB
-rw-r--r--
2025-02-12 16:57
pthread.h
39.95
KB
-rw-r--r--
2025-09-18 12:58
pty.h
1.51
KB
-rw-r--r--
2025-09-18 12:59
punycode.h
9.36
KB
-rw-r--r--
2015-11-21 20:30
pwd.h
5.87
KB
-rw-r--r--
2025-09-18 12:58
re_comp.h
957
B
-rw-r--r--
2025-09-18 12:58
regex.h
21.58
KB
-rw-r--r--
2025-09-18 12:58
regexp.h
6.89
KB
-rw-r--r--
2025-09-18 12:58
resolv.h
14.67
KB
-rw-r--r--
2025-09-18 12:58
sched.h
4.55
KB
-rw-r--r--
2025-09-18 12:58
search.h
5.11
KB
-rw-r--r--
2025-09-18 12:58
semaphore.h
2.36
KB
-rw-r--r--
2025-09-18 12:58
setjmp.h
3.97
KB
-rw-r--r--
2025-09-18 12:58
sgtty.h
1.33
KB
-rw-r--r--
2025-09-18 12:58
shadow.h
5.1
KB
-rw-r--r--
2025-09-18 12:58
signal.h
13.3
KB
-rw-r--r--
2025-09-18 12:58
slapi-plugin.h
37.45
KB
-rw-r--r--
2022-02-23 13:10
spawn.h
6.53
KB
-rw-r--r--
2025-09-18 12:58
stab.h
264
B
-rw-r--r--
2025-09-18 12:58
stdc-predef.h
1.59
KB
-rw-r--r--
2025-09-18 12:57
stdint.h
7.94
KB
-rw-r--r--
2025-09-18 12:58
stdio.h
30.9
KB
-rw-r--r--
2025-09-18 12:58
stdio_ext.h
2.74
KB
-rw-r--r--
2025-09-18 12:58
stdlib.h
33.23
KB
-rw-r--r--
2025-09-18 12:58
string.h
21.75
KB
-rw-r--r--
2025-09-18 12:58
stringprep.h
8
KB
-rw-r--r--
2015-11-21 20:30
strings.h
4.55
KB
-rw-r--r--
2025-09-18 12:58
syscall.h
25
B
-rw-r--r--
2025-09-18 12:58
sysexits.h
5.11
KB
-rw-r--r--
2025-09-18 12:58
syslog.h
24
B
-rw-r--r--
2025-09-18 12:58
tar.h
3.67
KB
-rw-r--r--
2025-09-18 12:58
tcpd.h
11.48
KB
-rw-r--r--
2014-06-10 09:11
term.h
38.63
KB
-rw-r--r--
2017-09-07 02:38
term_entry.h
7.91
KB
-rw-r--r--
2017-09-07 02:38
termcap.h
3.4
KB
-rw-r--r--
2017-09-07 02:38
termio.h
214
B
-rw-r--r--
2025-09-18 12:58
termios.h
3.52
KB
-rw-r--r--
2025-09-18 12:58
tgmath.h
18.11
KB
-rw-r--r--
2025-09-18 12:58
thread_db.h
15.65
KB
-rw-r--r--
2025-09-18 12:59
tic.h
12.35
KB
-rw-r--r--
2017-09-07 02:38
tiff.h
34.95
KB
-rw-r--r--
2020-10-13 19:25
tiffconf-64.h
3.35
KB
-rw-r--r--
2020-10-13 19:25
tiffconf.h
250
B
-rw-r--r--
2020-10-13 19:25
tiffio.h
22.52
KB
-rw-r--r--
2020-10-13 19:25
tiffio.hxx
1.66
KB
-rw-r--r--
2020-10-13 19:25
tiffvers.h
410
B
-rw-r--r--
2020-10-13 19:25
time.h
13.4
KB
-rw-r--r--
2025-09-18 12:58
tld.h
4.54
KB
-rw-r--r--
2015-11-21 20:30
ttyent.h
2.44
KB
-rw-r--r--
2025-09-18 12:58
uchar.h
2.42
KB
-rw-r--r--
2025-09-18 12:58
ucontext.h
1.92
KB
-rw-r--r--
2025-09-18 12:58
ulimit.h
1.55
KB
-rw-r--r--
2025-09-18 12:58
unctrl.h
3.03
KB
-rw-r--r--
2017-09-07 02:38
unistd.h
41.78
KB
-rw-r--r--
2025-09-18 12:58
ustat.h
23
B
-rw-r--r--
2025-09-18 12:58
utime.h
1.5
KB
-rw-r--r--
2025-09-18 12:58
utmp.h
3.16
KB
-rw-r--r--
2025-09-18 12:59
utmpx.h
4.02
KB
-rw-r--r--
2025-09-18 12:59
values.h
1.92
KB
-rw-r--r--
2025-09-18 12:57
verto-module.h
6.48
KB
-rw-r--r--
2014-06-10 12:14
verto.h
18.57
KB
-rw-r--r--
2014-06-10 12:14
wait.h
22
B
-rw-r--r--
2025-09-18 12:58
wchar.h
31.37
KB
-rw-r--r--
2025-09-18 12:58
wctype.h
10.89
KB
-rw-r--r--
2025-09-18 12:58
wordexp.h
2.47
KB
-rw-r--r--
2025-09-18 12:58
xlocale.h
1.66
KB
-rw-r--r--
2025-09-18 12:57
zconf.h
14.92
KB
-rw-r--r--
2025-11-18 16:06
zlib.h
84.68
KB
-rw-r--r--
2025-11-18 16:06
Save
Rename
/* $OpenLDAP$ */ /* This work is part of OpenLDAP Software <http://www.openldap.org/>. * * Copyright 1998-2016 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted only as authorized by the OpenLDAP * Public License. * * A copy of this license is available in file LICENSE in the * top-level directory of the distribution or, alternatively, at * <http://www.OpenLDAP.org/license.html>. */ /* Portions Copyright (c) 1990 Regents of the University of Michigan. * All rights reserved. * * Redistribution and use in source and binary forms are permitted * provided that this notice is preserved and that due credit is given * to the University of Michigan at Ann Arbor. The name of the University * may not be used to endorse or promote products derived from this * software without specific prior written permission. This software * is provided ``as is'' without express or implied warranty. */ #ifndef _LBER_H #define _LBER_H #include <lber_types.h> #include <string.h> LDAP_BEGIN_DECL /* * ber_tag_t represents the identifier octets at the beginning of BER * elements. OpenLDAP treats them as mere big-endian unsigned integers. * * Actually the BER identifier octets look like this: * * Bits of 1st octet: * ______ * 8 7 | CLASS * 0 0 = UNIVERSAL * 0 1 = APPLICATION * 1 0 = CONTEXT-SPECIFIC * 1 1 = PRIVATE * _____ * | 6 | DATA-TYPE * 0 = PRIMITIVE * 1 = CONSTRUCTED * ___________ * | 5 ... 1 | TAG-NUMBER * * For ASN.1 tag numbers >= 0x1F, TAG-NUMBER above is 0x1F and the next * BER octets contain the actual ASN.1 tag number: Big-endian, base * 128, 8.bit = 1 in all but the last octet, minimum number of octets. */ /* BER classes and mask (in 1st identifier octet) */ #define LBER_CLASS_UNIVERSAL ((ber_tag_t) 0x00U) #define LBER_CLASS_APPLICATION ((ber_tag_t) 0x40U) #define LBER_CLASS_CONTEXT ((ber_tag_t) 0x80U) #define LBER_CLASS_PRIVATE ((ber_tag_t) 0xc0U) #define LBER_CLASS_MASK ((ber_tag_t) 0xc0U) /* BER encoding type and mask (in 1st identifier octet) */ #define LBER_PRIMITIVE ((ber_tag_t) 0x00U) #define LBER_CONSTRUCTED ((ber_tag_t) 0x20U) #define LBER_ENCODING_MASK ((ber_tag_t) 0x20U) #define LBER_BIG_TAG_MASK ((ber_tag_t) 0x1fU) #define LBER_MORE_TAG_MASK ((ber_tag_t) 0x80U) /* * LBER_ERROR and LBER_DEFAULT are values that can never appear * as valid BER tags, so it is safe to use them to report errors. * Valid tags have (tag & (ber_tag_t) 0xFF) != 0xFF. */ #define LBER_ERROR ((ber_tag_t) -1) #define LBER_DEFAULT ((ber_tag_t) -1) /* general BER types we know about */ #define LBER_BOOLEAN ((ber_tag_t) 0x01UL) #define LBER_INTEGER ((ber_tag_t) 0x02UL) #define LBER_BITSTRING ((ber_tag_t) 0x03UL) #define LBER_OCTETSTRING ((ber_tag_t) 0x04UL) #define LBER_NULL ((ber_tag_t) 0x05UL) #define LBER_ENUMERATED ((ber_tag_t) 0x0aUL) #define LBER_SEQUENCE ((ber_tag_t) 0x30UL) /* constructed */ #define LBER_SET ((ber_tag_t) 0x31UL) /* constructed */ /* LBER BerElement options */ #define LBER_USE_DER 0x01 /* get/set options for BerElement */ #define LBER_OPT_BER_OPTIONS 0x01 #define LBER_OPT_BER_DEBUG 0x02 #define LBER_OPT_BER_REMAINING_BYTES 0x03 #define LBER_OPT_BER_TOTAL_BYTES 0x04 #define LBER_OPT_BER_BYTES_TO_WRITE 0x05 #define LBER_OPT_BER_MEMCTX 0x06 #define LBER_OPT_DEBUG_LEVEL LBER_OPT_BER_DEBUG #define LBER_OPT_REMAINING_BYTES LBER_OPT_BER_REMAINING_BYTES #define LBER_OPT_TOTAL_BYTES LBER_OPT_BER_TOTAL_BYTES #define LBER_OPT_BYTES_TO_WRITE LBER_OPT_BER_BYTES_TO_WRITE #define LBER_OPT_LOG_PRINT_FN 0x8001 #define LBER_OPT_MEMORY_FNS 0x8002 #define LBER_OPT_ERROR_FN 0x8003 #define LBER_OPT_LOG_PRINT_FILE 0x8004 /* get/set Memory Debug options */ #define LBER_OPT_MEMORY_INUSE 0x8005 /* for memory debugging */ #define LBER_OPT_LOG_PROC 0x8006 /* for external logging function */ typedef int* (*BER_ERRNO_FN) LDAP_P(( void )); typedef void (*BER_LOG_PRINT_FN) LDAP_P(( LDAP_CONST char *buf )); typedef void* (BER_MEMALLOC_FN) LDAP_P(( ber_len_t size, void *ctx )); typedef void* (BER_MEMCALLOC_FN) LDAP_P(( ber_len_t n, ber_len_t size, void *ctx )); typedef void* (BER_MEMREALLOC_FN) LDAP_P(( void *p, ber_len_t size, void *ctx )); typedef void (BER_MEMFREE_FN) LDAP_P(( void *p, void *ctx )); typedef struct lber_memory_fns { BER_MEMALLOC_FN *bmf_malloc; BER_MEMCALLOC_FN *bmf_calloc; BER_MEMREALLOC_FN *bmf_realloc; BER_MEMFREE_FN *bmf_free; } BerMemoryFunctions; /* LBER Sockbuf_IO options */ #define LBER_SB_OPT_GET_FD 1 #define LBER_SB_OPT_SET_FD 2 #define LBER_SB_OPT_HAS_IO 3 #define LBER_SB_OPT_SET_NONBLOCK 4 #define LBER_SB_OPT_GET_SSL 7 #define LBER_SB_OPT_DATA_READY 8 #define LBER_SB_OPT_SET_READAHEAD 9 #define LBER_SB_OPT_DRAIN 10 #define LBER_SB_OPT_NEEDS_READ 11 #define LBER_SB_OPT_NEEDS_WRITE 12 #define LBER_SB_OPT_GET_MAX_INCOMING 13 #define LBER_SB_OPT_SET_MAX_INCOMING 14 /* Only meaningful ifdef LDAP_PF_LOCAL_SENDMSG */ #define LBER_SB_OPT_UNGET_BUF 15 /* Largest option used by the library */ #define LBER_SB_OPT_OPT_MAX 15 /* LBER IO operations stacking levels */ #define LBER_SBIOD_LEVEL_PROVIDER 10 #define LBER_SBIOD_LEVEL_TRANSPORT 20 #define LBER_SBIOD_LEVEL_APPLICATION 30 /* get/set options for Sockbuf */ #define LBER_OPT_SOCKBUF_DESC 0x1000 #define LBER_OPT_SOCKBUF_OPTIONS 0x1001 #define LBER_OPT_SOCKBUF_DEBUG 0x1002 /* on/off values */ LBER_V( char ) ber_pvt_opt_on; #define LBER_OPT_ON ((void *) &ber_pvt_opt_on) #define LBER_OPT_OFF ((void *) 0) #define LBER_OPT_SUCCESS (0) #define LBER_OPT_ERROR (-1) typedef struct berelement BerElement; typedef struct sockbuf Sockbuf; typedef struct sockbuf_io Sockbuf_IO; /* Structure for LBER IO operarion descriptor */ typedef struct sockbuf_io_desc { int sbiod_level; Sockbuf *sbiod_sb; Sockbuf_IO *sbiod_io; void *sbiod_pvt; struct sockbuf_io_desc *sbiod_next; } Sockbuf_IO_Desc; /* Structure for LBER IO operation functions */ struct sockbuf_io { int (*sbi_setup)( Sockbuf_IO_Desc *sbiod, void *arg ); int (*sbi_remove)( Sockbuf_IO_Desc *sbiod ); int (*sbi_ctrl)( Sockbuf_IO_Desc *sbiod, int opt, void *arg); ber_slen_t (*sbi_read)( Sockbuf_IO_Desc *sbiod, void *buf, ber_len_t len ); ber_slen_t (*sbi_write)( Sockbuf_IO_Desc *sbiod, void *buf, ber_len_t len ); int (*sbi_close)( Sockbuf_IO_Desc *sbiod ); }; /* Helper macros for LBER IO functions */ #define LBER_SBIOD_READ_NEXT( sbiod, buf, len ) \ ( (sbiod)->sbiod_next->sbiod_io->sbi_read( (sbiod)->sbiod_next, \ buf, len ) ) #define LBER_SBIOD_WRITE_NEXT( sbiod, buf, len ) \ ( (sbiod)->sbiod_next->sbiod_io->sbi_write( (sbiod)->sbiod_next, \ buf, len ) ) #define LBER_SBIOD_CTRL_NEXT( sbiod, opt, arg ) \ ( (sbiod)->sbiod_next ? \ ( (sbiod)->sbiod_next->sbiod_io->sbi_ctrl( \ (sbiod)->sbiod_next, opt, arg ) ) : 0 ) /* structure for returning a sequence of octet strings + length */ typedef struct berval { ber_len_t bv_len; char *bv_val; } BerValue; typedef BerValue *BerVarray; /* To distinguish from a single bv */ /* this should be moved to lber-int.h */ /* * in bprint.c: */ LBER_F( void ) ber_error_print LDAP_P(( LDAP_CONST char *data )); LBER_F( void ) ber_bprint LDAP_P(( LDAP_CONST char *data, ber_len_t len )); LBER_F( void ) ber_dump LDAP_P(( BerElement *ber, int inout )); /* * in decode.c: */ typedef int (*BERDecodeCallback) LDAP_P(( BerElement *ber, void *data, int mode )); LBER_F( ber_tag_t ) ber_get_tag LDAP_P(( BerElement *ber )); LBER_F( ber_tag_t ) ber_skip_tag LDAP_P(( BerElement *ber, ber_len_t *len )); LBER_F( ber_tag_t ) ber_peek_tag LDAP_P(( BerElement *ber, ber_len_t *len )); LBER_F( ber_tag_t ) ber_skip_element LDAP_P(( BerElement *ber, struct berval *bv )); LBER_F( ber_tag_t ) ber_peek_element LDAP_P(( LDAP_CONST BerElement *ber, struct berval *bv )); LBER_F( ber_tag_t ) ber_get_int LDAP_P(( BerElement *ber, ber_int_t *num )); LBER_F( ber_tag_t ) ber_get_enum LDAP_P(( BerElement *ber, ber_int_t *num )); LBER_F( ber_tag_t ) ber_get_stringb LDAP_P(( BerElement *ber, char *buf, ber_len_t *len )); #define LBER_BV_ALLOC 0x01 /* allocate/copy result, otherwise in-place */ #define LBER_BV_NOTERM 0x02 /* omit NUL-terminator if parsing in-place */ #define LBER_BV_STRING 0x04 /* fail if berval contains embedded \0 */ /* LBER_BV_STRING currently accepts a terminating \0 in the berval, because * Active Directory sends that in at least the diagonsticMessage field. */ LBER_F( ber_tag_t ) ber_get_stringbv LDAP_P(( BerElement *ber, struct berval *bv, int options )); LBER_F( ber_tag_t ) ber_get_stringa LDAP_P(( BerElement *ber, char **buf )); LBER_F( ber_tag_t ) ber_get_stringal LDAP_P(( BerElement *ber, struct berval **bv )); LBER_F( ber_tag_t ) ber_get_bitstringa LDAP_P(( BerElement *ber, char **buf, ber_len_t *len )); LBER_F( ber_tag_t ) ber_get_null LDAP_P(( BerElement *ber )); LBER_F( ber_tag_t ) ber_get_boolean LDAP_P(( BerElement *ber, ber_int_t *boolval )); LBER_F( ber_tag_t ) ber_first_element LDAP_P(( BerElement *ber, ber_len_t *len, char **last )); LBER_F( ber_tag_t ) ber_next_element LDAP_P(( BerElement *ber, ber_len_t *len, LDAP_CONST char *last )); LBER_F( ber_tag_t ) ber_scanf LDAP_P(( BerElement *ber, LDAP_CONST char *fmt, ... )); LBER_F( int ) ber_decode_oid LDAP_P(( struct berval *in, struct berval *out )); /* * in encode.c */ LBER_F( int ) ber_encode_oid LDAP_P(( struct berval *in, struct berval *out )); typedef int (*BEREncodeCallback) LDAP_P(( BerElement *ber, void *data )); LBER_F( int ) ber_put_enum LDAP_P(( BerElement *ber, ber_int_t num, ber_tag_t tag )); LBER_F( int ) ber_put_int LDAP_P(( BerElement *ber, ber_int_t num, ber_tag_t tag )); LBER_F( int ) ber_put_ostring LDAP_P(( BerElement *ber, LDAP_CONST char *str, ber_len_t len, ber_tag_t tag )); LBER_F( int ) ber_put_berval LDAP_P(( BerElement *ber, struct berval *bv, ber_tag_t tag )); LBER_F( int ) ber_put_string LDAP_P(( BerElement *ber, LDAP_CONST char *str, ber_tag_t tag )); LBER_F( int ) ber_put_bitstring LDAP_P(( BerElement *ber, LDAP_CONST char *str, ber_len_t bitlen, ber_tag_t tag )); LBER_F( int ) ber_put_null LDAP_P(( BerElement *ber, ber_tag_t tag )); LBER_F( int ) ber_put_boolean LDAP_P(( BerElement *ber, ber_int_t boolval, ber_tag_t tag )); LBER_F( int ) ber_start_seq LDAP_P(( BerElement *ber, ber_tag_t tag )); LBER_F( int ) ber_start_set LDAP_P(( BerElement *ber, ber_tag_t tag )); LBER_F( int ) ber_put_seq LDAP_P(( BerElement *ber )); LBER_F( int ) ber_put_set LDAP_P(( BerElement *ber )); LBER_F( int ) ber_printf LDAP_P(( BerElement *ber, LDAP_CONST char *fmt, ... )); /* * in io.c: */ LBER_F( ber_slen_t ) ber_skip_data LDAP_P(( BerElement *ber, ber_len_t len )); LBER_F( ber_slen_t ) ber_read LDAP_P(( BerElement *ber, char *buf, ber_len_t len )); LBER_F( ber_slen_t ) ber_write LDAP_P(( BerElement *ber, LDAP_CONST char *buf, ber_len_t len, int zero )); /* nonzero is unsupported from OpenLDAP 2.4.18 */ LBER_F( void ) ber_free LDAP_P(( BerElement *ber, int freebuf )); LBER_F( void ) ber_free_buf LDAP_P(( BerElement *ber )); LBER_F( int ) ber_flush2 LDAP_P(( Sockbuf *sb, BerElement *ber, int freeit )); #define LBER_FLUSH_FREE_NEVER (0x0) /* traditional behavior */ #define LBER_FLUSH_FREE_ON_SUCCESS (0x1) /* traditional behavior */ #define LBER_FLUSH_FREE_ON_ERROR (0x2) #define LBER_FLUSH_FREE_ALWAYS (LBER_FLUSH_FREE_ON_SUCCESS|LBER_FLUSH_FREE_ON_ERROR) LBER_F( int ) ber_flush LDAP_P(( Sockbuf *sb, BerElement *ber, int freeit )); /* DEPRECATED */ LBER_F( BerElement * ) ber_alloc LDAP_P(( void )); /* DEPRECATED */ LBER_F( BerElement * ) der_alloc LDAP_P(( void )); /* DEPRECATED */ LBER_F( BerElement * ) ber_alloc_t LDAP_P(( int beroptions )); LBER_F( BerElement * ) ber_dup LDAP_P(( BerElement *ber )); LBER_F( ber_tag_t ) ber_get_next LDAP_P(( Sockbuf *sb, ber_len_t *len, BerElement *ber )); LBER_F( void ) ber_init2 LDAP_P(( BerElement *ber, struct berval *bv, int options )); LBER_F( void ) ber_init_w_nullc LDAP_P(( /* DEPRECATED */ BerElement *ber, int options )); LBER_F( void ) ber_reset LDAP_P(( BerElement *ber, int was_writing )); LBER_F( BerElement * ) ber_init LDAP_P(( struct berval *bv )); LBER_F( int ) ber_flatten LDAP_P(( BerElement *ber, struct berval **bvPtr )); LBER_F( int ) ber_flatten2 LDAP_P(( BerElement *ber, struct berval *bv, int alloc )); LBER_F( int ) ber_remaining LDAP_P(( BerElement *ber )); /* * LBER ber accessor functions */ LBER_F( int ) ber_get_option LDAP_P(( void *item, int option, void *outvalue)); LBER_F( int ) ber_set_option LDAP_P(( void *item, int option, LDAP_CONST void *invalue)); /* * LBER sockbuf.c */ LBER_F( Sockbuf * ) ber_sockbuf_alloc LDAP_P(( void )); LBER_F( void ) ber_sockbuf_free LDAP_P(( Sockbuf *sb )); LBER_F( int ) ber_sockbuf_add_io LDAP_P(( Sockbuf *sb, Sockbuf_IO *sbio, int layer, void *arg )); LBER_F( int ) ber_sockbuf_remove_io LDAP_P(( Sockbuf *sb, Sockbuf_IO *sbio, int layer )); LBER_F( int ) ber_sockbuf_ctrl LDAP_P(( Sockbuf *sb, int opt, void *arg )); LBER_V( Sockbuf_IO ) ber_sockbuf_io_tcp; LBER_V( Sockbuf_IO ) ber_sockbuf_io_readahead; LBER_V( Sockbuf_IO ) ber_sockbuf_io_fd; LBER_V( Sockbuf_IO ) ber_sockbuf_io_debug; LBER_V( Sockbuf_IO ) ber_sockbuf_io_udp; /* * LBER memory.c */ LBER_F( void * ) ber_memalloc LDAP_P(( ber_len_t s )); LBER_F( void * ) ber_memrealloc LDAP_P(( void* p, ber_len_t s )); LBER_F( void * ) ber_memcalloc LDAP_P(( ber_len_t n, ber_len_t s )); LBER_F( void ) ber_memfree LDAP_P(( void* p )); LBER_F( void ) ber_memvfree LDAP_P(( void** vector )); LBER_F( void ) ber_bvfree LDAP_P(( struct berval *bv )); LBER_F( void ) ber_bvecfree LDAP_P(( struct berval **bv )); LBER_F( int ) ber_bvecadd LDAP_P(( struct berval ***bvec, struct berval *bv )); LBER_F( struct berval * ) ber_dupbv LDAP_P(( struct berval *dst, struct berval *src )); LBER_F( struct berval * ) ber_bvdup LDAP_P(( struct berval *src )); LBER_F( struct berval * ) ber_mem2bv LDAP_P(( LDAP_CONST char *, ber_len_t len, int duplicate, struct berval *bv)); LBER_F( struct berval * ) ber_str2bv LDAP_P(( LDAP_CONST char *, ber_len_t len, int duplicate, struct berval *bv)); #define ber_bvstr(a) ((ber_str2bv)((a), 0, 0, NULL)) #define ber_bvstrdup(a) ((ber_str2bv)((a), 0, 1, NULL)) LBER_F( char * ) ber_strdup LDAP_P(( LDAP_CONST char * )); LBER_F( ber_len_t ) ber_strnlen LDAP_P(( LDAP_CONST char *s, ber_len_t len )); LBER_F( char * ) ber_strndup LDAP_P(( LDAP_CONST char *s, ber_len_t l )); LBER_F( struct berval * ) ber_bvreplace LDAP_P(( struct berval *dst, LDAP_CONST struct berval *src )); LBER_F( void ) ber_bvarray_free LDAP_P(( BerVarray p )); LBER_F( int ) ber_bvarray_add LDAP_P(( BerVarray *p, BerValue *bv )); #define ber_bvcmp(v1,v2) \ ((v1)->bv_len < (v2)->bv_len \ ? -1 : ((v1)->bv_len > (v2)->bv_len \ ? 1 : memcmp((v1)->bv_val, (v2)->bv_val, (v1)->bv_len) )) /* * error.c */ LBER_F( int * ) ber_errno_addr LDAP_P((void)); #define ber_errno (*(ber_errno_addr)()) #define LBER_ERROR_NONE 0 #define LBER_ERROR_PARAM 0x1 #define LBER_ERROR_MEMORY 0x2 LDAP_END_DECL #endif /* _LBER_H */