Psyduck - 可達鴨 之 鴨力山大2


Server : LiteSpeed
System : Linux premium217.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User : alloknri ( 880)
PHP Version : 8.1.34
Disable Function : NONE
Directory :  /usr/include/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/include/crypt.h
/* High-level libcrypt interfaces.

   Copyright (C) 1991-2017 Free Software Foundation, Inc.

   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
   <https://www.gnu.org/licenses/>.  */

#ifndef _CRYPT_H
#define _CRYPT_H 1

#include <sys/cdefs.h>

__BEGIN_DECLS

/* The strings returned by crypt, crypt_r, crypt_rn, and crypt_ra will
   be no longer than this, counting the terminating NUL.  (Existing
   algorithms all produce much shorter strings, but we have reserved
   generous space for future expansion.)  This is NOT the appropriate
   size to use in allocating the buffer supplied to crypt_rn; use
   sizeof (struct crypt_data) instead.  */
#define CRYPT_OUTPUT_SIZE 384

/* Passphrases longer than this (counting the terminating NUL) are not
   supported.  Note that some hash algorithms have lower limits.  */
#define CRYPT_MAX_PASSPHRASE_SIZE 512

/* The strings returned by crypt_gensalt, crypt_gensalt_rn, and
   crypt_gensalt_ra will be no longer than this.  This IS the
   appropriate size to use when allocating the buffer supplied to
   crypt_gensalt_rn.  (Again, existing algorithms all produce
   much shorter strings, but we have reserved generous space for
   future expansion.)  */
#define CRYPT_GENSALT_OUTPUT_SIZE 192

/* One-way hash the passphrase PHRASE as specified by SETTING, and
   return a string suitable for storage in a Unix-style "passwd" file.

   If SETTING is a previously hashed passphrase, the string returned
   will be equal to SETTING if and only if PHRASE is the same as the
   passphrase that was previously hashed.  See the documentation for
   other ways to use this function.

   The string returned by this function is stored in a statically-
   allocated buffer, and will be overwritten if the function is called
   again.  It is not safe to call this function from multiple threads
   concurrently.

   If an error occurs (such as SETTING being nonsense or unsupported)
   the string returned will begin with '*', and will not be equal to
   SETTING nor to any valid hashed passphrase.  Otherwise, the string
   will not begin with '*'.  */
extern char *crypt (const char *__phrase, const char *__setting)
__THROW __nonnull ((1, 2));

/* These sizes are chosen to make sizeof (struct crypt_data) add up to
   exactly 32768 bytes.  */
#define CRYPT_DATA_RESERVED_SIZE 767
#define CRYPT_DATA_INTERNAL_SIZE 30720

/* Memory area used by crypt_r.  */
struct crypt_data
{
  /* crypt_r writes the hashed password to this field of its 'data'
     argument.  crypt_rn and crypt_ra do the same, treating the
     untyped data area they are supplied with as this struct.  */
  char output[CRYPT_OUTPUT_SIZE];

  /* Applications are encouraged, but not required, to use this field
     to store the "setting" string that must be passed to crypt_*.
     Future extensions to the API may make this more ergonomic.

     A valid "setting" is either previously hashed password or the
     string produced by one of the crypt_gensalt functions; see the
     crypt_gensalt documentation for further details.  */
  char setting[CRYPT_OUTPUT_SIZE];

  /* Applications are encouraged, but not required, to use this field
     to store the unhashed passphrase they will pass to crypt_*.
     Future extensions to the API may make this more ergonomic.  */
  char input[CRYPT_MAX_PASSPHRASE_SIZE];

  /* Reserved for future application-visible fields.  For maximum
     forward compatibility, applications should set this field to all
     bytes zero before calling crypt_r, crypt_rn, or crypt_ra for the
     first time with a just-allocated 'struct crypt_data'.  Future
     extensions to the API may make this more ergonomic.  */
  char reserved[CRYPT_DATA_RESERVED_SIZE];

  /* This field should be set to 0 before calling crypt_r, crypt_rn,
     or crypt_ra for the first time with a just-allocated
     'struct crypt_data'.  This is not required if crypt_ra is allowed
     to do the allocation itself (i.e. if the *DATA argument is a null
     pointer).  Future extensions to the API may make this more ergonomic.  */
  char initialized;

  /* Scratch space used internally.  Applications should not read or
     write this field.  All data written to this area is erased before
     returning from the library.  */
  char internal[CRYPT_DATA_INTERNAL_SIZE];
};

/* Thread-safe version of crypt.  Instead of writing to a static
   storage area, the string returned by this function will be within
   DATA->output.  Otherwise, behaves exactly the same as crypt.  */
extern char *crypt_r (const char *__phrase, const char *__setting,
                      struct crypt_data *__restrict __data)
__THROW __nonnull ((1, 2, 3));

/* Another thread-safe version of crypt.  Instead of writing to a
   static storage area, the string returned by this function will be
   somewhere within the space provided at DATA, which is of length SIZE
   bytes.  SIZE must be at least sizeof (struct crypt_data).

   Also, if an error occurs, this function returns a null pointer,
   not a special string.  (However, the string returned on success
   still will never begin with '*'.)  */
extern char *crypt_rn (const char *__phrase, const char *__setting,
                       void *__data, int __size)
__THROW __nonnull ((1, 2, 3));

/* Yet a third thread-safe version of crypt; this one works like
   getline(3).  *DATA must be either 0 or a pointer to memory
   allocated by malloc, and *SIZE must be the size of the allocation.
   This space will be allocated or reallocated as necessary and the
   values updated.  The string returned by this function will be
   somewhere within the space at *DATA.  It is safe to deallocate
   this space with free when it is no longer needed.

   Like crypt_rn, this function returns a null pointer on failure, not
   a special string.  */
extern char *crypt_ra (const char *__phrase, const char *__setting,
                       void **__data, int *__size)
__THROW __nonnull ((1, 2, 3, 4));


/* Generate a string suitable for use as the setting when hashing a
   new passphrase.  PREFIX controls which hash function will be used,
   COUNT controls the computational cost of the hash (for functions
   where this is tunable), and RBYTES should point to NRBYTES bytes of
   random data.  If PREFIX is a null pointer, the current best default
   is used; if RBYTES is a null pointer, random data will be retrieved
   from the operating system if possible.  (Caution: setting PREFIX to
   an *empty string* selects the use of the oldest and least secure
   hash in the library.  Don't do that.)

   The string returned is stored in a statically-allocated buffer, and
   will be overwritten if the function is called again.  It is not
   safe to call this function from multiple threads concurrently.
   However, within a single thread, it is safe to pass the string as
   the SETTING argument to crypt without copying it first; the two
   functions use separate buffers.

   If an error occurs (e.g. a prefix that does not correspond to a
   supported hash function, or an inadequate amount of random data),
   this function returns a null pointer.  */
extern char *crypt_gensalt (const char *__prefix, unsigned long __count,
                            const char *__rbytes, int __nrbytes)
__THROW;

/* Thread-safe version of crypt_gensalt; instead of a
   statically-allocated buffer, the generated setting string is
   written to OUTPUT, which is OUTPUT_SIZE bytes long.  OUTPUT_SIZE
   must be at least CRYPT_GENSALT_OUTPUT_SIZE (see above).

   If an error occurs, this function returns a null pointer and writes
   a string that does not correspond to any valid setting into OUTPUT.  */
extern char *crypt_gensalt_rn (const char *__prefix, unsigned long __count,
                               const char *__rbytes, int __nrbytes,
                               char *__output, int __output_size)
__THROW __nonnull ((5));

/* Another thread-safe version of crypt_gensalt; the generated setting
   string is in storage allocated by malloc, and should be deallocated
   with free when it is no longer needed.  */
extern char *crypt_gensalt_ra (const char *__prefix, unsigned long __count,
                               const char *__rbytes, int __nrbytes)
__THROW;

/* These macros could be checked by portable users of crypt_gensalt*
   functions to find out whether null pointers could be specified
   as PREFIX and RBYTES arguments.  */
#define CRYPT_GENSALT_IMPLEMENTS_DEFAULT_PREFIX 1
#define CRYPT_GENSALT_IMPLEMENTS_AUTO_ENTROPY 1

__END_DECLS

#endif /* crypt.h */
Name
Size
Permissions
Options
GL
--
drwxr-xr-x
X11
--
drwxr-xr-x
apache2
--
drwxr-xr-x
arpa
--
drwxr-xr-x
asm
--
drwxr-xr-x
asm-generic
--
drwxr-xr-x
bind9
--
drwxr-xr-x
bits
--
drwxr-xr-x
bsock
--
drwxr-xr-x
c++
--
drwxr-xr-x
criu
--
drwxr-xr-x
curl
--
drwxr-xr-x
drm
--
drwxr-xr-x
e2p
--
drwxr-xr-x
et
--
drwxr-xr-x
event2
--
drwxr-xr-x
ext2fs
--
drwxr-xr-x
finclude
--
drwxr-xr-x
fontconfig
--
drwxr-xr-x
freetype2
--
drwxr-xr-x
fstrm
--
drwxr-xr-x
gdb
--
drwxr-xr-x
gdbm
--
drwxr-xr-x
gnu
--
drwxr-xr-x
google
--
drwxr-xr-x
gssapi
--
drwxr-xr-x
gssrpc
--
drwxr-xr-x
jemalloc
--
drwxr-xr-x
json-c
--
drwxr-xr-x
kadm5
--
drwxr-xr-x
krb5
--
drwxr-xr-x
libdb
--
drwxr-xr-x
libexslt
--
drwxr-xr-x
libltdl
--
drwxr-xr-x
libpng16
--
drwxr-xr-x
libxml2
--
drwxr-xr-x
libxslt
--
drwxr-xr-x
linux
--
drwxr-xr-x
lua-5.1
--
drwxr-xr-x
lzma
--
drwxr-xr-x
misc
--
drwxr-xr-x
mtd
--
drwxr-xr-x
mysql
--
drwxr-xr-x
ncurses
--
drwxr-xr-x
ncursesw
--
drwxr-xr-x
net
--
drwxr-xr-x
netash
--
drwxr-xr-x
netatalk
--
drwxr-xr-x
netax25
--
drwxr-xr-x
neteconet
--
drwxr-xr-x
netinet
--
drwxr-xr-x
netipx
--
drwxr-xr-x
netiucv
--
drwxr-xr-x
netpacket
--
drwxr-xr-x
netrom
--
drwxr-xr-x
netrose
--
drwxr-xr-x
nfs
--
drwxr-xr-x
openssl
--
drwxr-xr-x
perf
--
drwxr-xr-x
protobuf-c
--
drwxr-xr-x
protocols
--
drwxr-xr-x
python2.7
--
drwxr-xr-x
python3.6m
--
drwxr-xr-x
python3.8
--
drwxr-xr-x
rdma
--
drwxr-xr-x
rpc
--
drwxr-xr-x
sasl
--
drwxr-xr-x
scsi
--
drwxr-xr-x
security
--
drwxr-xr-x
selinux
--
drwxr-xr-x
sepol
--
drwxr-xr-x
sound
--
drwxr-xr-x
sys
--
drwxr-xr-x
uuid
--
drwxr-xr-x
video
--
drwxr-xr-x
webp
--
drwxr-xr-x
xcb
--
drwxr-xr-x
xen
--
drwxr-xr-x
FlexLexer.h
6.731 KB
-rw-r--r--
a.out.h
4.248 KB
-rw-r--r--
aio.h
7.281 KB
-rw-r--r--
aliases.h
1.983 KB
-rw-r--r--
alloca.h
1.175 KB
-rw-r--r--
ar.h
1.689 KB
-rw-r--r--
argp.h
24.818 KB
-rw-r--r--
argz.h
5.908 KB
-rw-r--r--
assert.h
4.454 KB
-rw-r--r--
autosprintf.h
2.327 KB
-rw-r--r--
byteswap.h
1.371 KB
-rw-r--r--
bzlib.h
6.099 KB
-rw-r--r--
com_err.h
2.068 KB
-rw-r--r--
complex.h
6.995 KB
-rw-r--r--
cpio.h
2.214 KB
-rw-r--r--
cpuidle.h
0.824 KB
-rw-r--r--
crypt.h
8.904 KB
-rw-r--r--
ctype.h
10.706 KB
-rw-r--r--
curses.h
97.29 KB
-rw-r--r--
cursesapp.h
6.616 KB
-rw-r--r--
cursesf.h
27.196 KB
-rw-r--r--
cursesm.h
19.216 KB
-rw-r--r--
cursesp.h
8.399 KB
-rw-r--r--
cursesw.h
48.554 KB
-rw-r--r--
cursslk.h
7.133 KB
-rw-r--r--
db.h
120.22 KB
-r--r--r--
db_185.h
5.843 KB
-r--r--r--
dbm.h
1.381 KB
-rw-r--r--
dirent.h
12.191 KB
-rw-r--r--
dlfcn.h
7.068 KB
-rw-r--r--
elf.h
170.73 KB
-rw-r--r--
endian.h
3.114 KB
-rw-r--r--
entities.h
4.814 KB
-rw-r--r--
envz.h
2.799 KB
-rw-r--r--
err.h
2.157 KB
-rw-r--r--
errno.h
1.639 KB
-rw-r--r--
error.h
1.991 KB
-rw-r--r--
eti.h
2.823 KB
-rw-r--r--
etip.h
9.475 KB
-rw-r--r--
evdns.h
1.972 KB
-rw-r--r--
event.h
2.68 KB
-rw-r--r--
evhttp.h
1.987 KB
-rw-r--r--
evrpc.h
1.968 KB
-rw-r--r--
evutil.h
1.74 KB
-rw-r--r--
execinfo.h
1.486 KB
-rw-r--r--
expat.h
43.235 KB
-rw-r--r--
expat_config.h
3.818 KB
-rw-r--r--
expat_external.h
5.888 KB
-rw-r--r--
fcntl.h
10.701 KB
-rw-r--r--
features.h
15.686 KB
-rw-r--r--
fenv.h
5.72 KB
-rw-r--r--
fmtmsg.h
3.163 KB
-rw-r--r--
fnmatch.h
2.241 KB
-rw-r--r--
form.h
18.165 KB
-rw-r--r--
fpu_control.h
3.499 KB
-rw-r--r--
fstab.h
3.038 KB
-rw-r--r--
fstrm.h
12.712 KB
-rw-r--r--
fts.h
8.176 KB
-rw-r--r--
ftw.h
5.128 KB
-rw-r--r--
gconv.h
4.307 KB
-rw-r--r--
gcrypt.h
68.712 KB
-rw-r--r--
gd.h
56.423 KB
-rw-r--r--
gd_color_map.h
0.467 KB
-rw-r--r--
gd_errors.h
1.468 KB
-rw-r--r--
gd_io.h
3.052 KB
-rw-r--r--
gdbm.h
10.103 KB
-rw-r--r--
gdcache.h
2.83 KB
-rw-r--r--
gdfontg.h
0.54 KB
-rw-r--r--
gdfontl.h
0.538 KB
-rw-r--r--
gdfontmb.h
0.507 KB
-rw-r--r--
gdfonts.h
0.503 KB
-rw-r--r--
gdfontt.h
0.533 KB
-rw-r--r--
gdfx.h
0.485 KB
-rw-r--r--
gdpp.h
50.939 KB
-rw-r--r--
getopt.h
1.434 KB
-rw-r--r--
gettext-po.h
15.17 KB
-rw-r--r--
glob.h
6.459 KB
-rw-r--r--
gnu-versions.h
2.287 KB
-rw-r--r--
gnumake.h
2.844 KB
-rw-r--r--
gpg-error.h
66.288 KB
-rw-r--r--
gpgrt.h
66.288 KB
-rw-r--r--
grp.h
6.529 KB
-rw-r--r--
gshadow.h
4.422 KB
-rw-r--r--
gssapi.h
0.177 KB
-rw-r--r--
iconv.h
1.813 KB
-rw-r--r--
idn-free.h
2.414 KB
-rw-r--r--
idn-int.h
0.02 KB
-rw-r--r--
idna.h
3.48 KB
-rw-r--r--
ieee754.h
4.795 KB
-rw-r--r--
ifaddrs.h
2.773 KB
-rw-r--r--
inttypes.h
11.613 KB
-rw-r--r--
jconfig-64.h
2.173 KB
-rw-r--r--
jconfig.h
0.24 KB
-rw-r--r--
jerror.h
14.734 KB
-rw-r--r--
jmorecfg.h
14.696 KB
-rw-r--r--
jpegint.h
15.221 KB
-rw-r--r--
jpeglib.h
48.706 KB
-rw-r--r--
kdb.h
67.661 KB
-rw-r--r--
keyutils.h
7.518 KB
-rw-r--r--
krad.h
8.724 KB
-rw-r--r--
krb5.h
0.393 KB
-rw-r--r--
langinfo.h
17.43 KB
-rw-r--r--
lastlog.h
0.123 KB
-rw-r--r--
lber.h
14.952 KB
-rw-r--r--
lber_types.h
1.434 KB
-rw-r--r--
ldap.h
63.57 KB
-rw-r--r--
ldap_cdefs.h
9.244 KB
-rw-r--r--
ldap_features.h
1.771 KB
-rw-r--r--
ldap_schema.h
9.229 KB
-rw-r--r--
ldap_utf8.h
3.387 KB
-rw-r--r--
ldif.h
4.582 KB
-rw-r--r--
libaio.h
8.728 KB
-rw-r--r--
libgen.h
1.353 KB
-rw-r--r--
libintl.h
4.472 KB
-rw-r--r--
limits.h
5.285 KB
-rw-r--r--
link.h
7.049 KB
-rw-r--r--
locale.h
7.494 KB
-rw-r--r--
ltdl.h
5.575 KB
-rw-r--r--
lzma.h
9.587 KB
-rw-r--r--
magic.h
5.457 KB
-rw-r--r--
malloc.h
5.959 KB
-rw-r--r--
math.h
52.068 KB
-rw-r--r--
mcheck.h
2.377 KB
-rw-r--r--
memory.h
0.933 KB
-rw-r--r--
menu.h
11.911 KB
-rw-r--r--
mntent.h
3.279 KB
-rw-r--r--
monetary.h
1.761 KB
-rw-r--r--
mqueue.h
3.671 KB
-rw-r--r--
nc_tparm.h
4.099 KB
-rw-r--r--
ncurses.h
97.29 KB
-rw-r--r--
ncurses_dll.h
4.177 KB
-rw-r--r--
ndbm.h
2.396 KB
-rw-r--r--
netdb.h
27.44 KB
-rw-r--r--
nl_types.h
1.711 KB
-rw-r--r--
nss.h
1.834 KB
-rw-r--r--
obstack.h
20.807 KB
-rw-r--r--
panel.h
4.026 KB
-rw-r--r--
paths.h
2.907 KB
-rw-r--r--
pcre.h
30.975 KB
-rw-r--r--
pcre2.h
43.752 KB
-rw-r--r--
pcre2posix.h
5.668 KB
-rw-r--r--
pcre_scanner.h
6.445 KB
-rw-r--r--
pcre_stringpiece.h
6.164 KB
-rw-r--r--
pcrecpp.h
25.907 KB
-rw-r--r--
pcrecpparg.h
6.624 KB
-rw-r--r--
pcreposix.h
5.324 KB
-rw-r--r--
png.h
140.771 KB
-rw-r--r--
pngconf.h
22.31 KB
-rw-r--r--
pnglibconf.h
7.39 KB
-rw-r--r--
poll.h
0.021 KB
-rw-r--r--
pr29.h
2.073 KB
-rw-r--r--
printf.h
6.641 KB
-rw-r--r--
proc_service.h
3.395 KB
-rw-r--r--
profile.h
11.869 KB
-rw-r--r--
pthread.h
40.302 KB
-rw-r--r--
pty.h
1.532 KB
-rw-r--r--
punycode.h
9.164 KB
-rw-r--r--
pwd.h
6.014 KB
-rw-r--r--
re_comp.h
0.939 KB
-rw-r--r--
regex.h
24.136 KB
-rw-r--r--
regexp.h
1.413 KB
-rw-r--r--
resolv.h
11.868 KB
-rw-r--r--
sched.h
4.621 KB
-rw-r--r--
search.h
5.101 KB
-rw-r--r--
semaphore.h
2.343 KB
-rw-r--r--
setjmp.h
3.583 KB
-rw-r--r--
sgtty.h
1.312 KB
-rw-r--r--
shadow.h
5.343 KB
-rw-r--r--
signal.h
11.956 KB
-rw-r--r--
slapi-plugin.h
37.452 KB
-rw-r--r--
spawn.h
6.533 KB
-rw-r--r--
stab.h
0.258 KB
-rw-r--r--
stdc-predef.h
2.235 KB
-rw-r--r--
stdint.h
8.271 KB
-rw-r--r--
stdio.h
29.461 KB
-rw-r--r--
stdio_ext.h
2.733 KB
-rw-r--r--
stdlib.h
34.817 KB
-rw-r--r--
string.h
17.175 KB
-rw-r--r--
stringprep.h
8.034 KB
-rw-r--r--
strings.h
4.641 KB
-rw-r--r--
syscall.h
0.024 KB
-rw-r--r--
sysexits.h
5.109 KB
-rw-r--r--
syslog.h
0.023 KB
-rw-r--r--
tar.h
3.696 KB
-rw-r--r--
term.h
40.225 KB
-rw-r--r--
term_entry.h
8.555 KB
-rw-r--r--
termcap.h
3.392 KB
-rw-r--r--
termio.h
0.209 KB
-rw-r--r--
termios.h
3.514 KB
-rw-r--r--
tgmath.h
30.751 KB
-rw-r--r--
thread_db.h
15.647 KB
-rw-r--r--
threads.h
6.499 KB
-rw-r--r--
tic.h
13.318 KB
-rw-r--r--
tiff.h
35.14 KB
-rw-r--r--
tiffconf-64.h
3.349 KB
-rw-r--r--
tiffconf.h
0.244 KB
-rw-r--r--
tiffio.h
22.683 KB
-rw-r--r--
tiffio.hxx
1.662 KB
-rw-r--r--
tiffvers.h
0.4 KB
-rw-r--r--
time.h
10.117 KB
-rw-r--r--
tld.h
4.541 KB
-rw-r--r--
ttyent.h
2.436 KB
-rw-r--r--
uchar.h
1.954 KB
-rw-r--r--
ucontext.h
1.988 KB
-rw-r--r--
ulimit.h
1.546 KB
-rw-r--r--
unctrl.h
3.026 KB
-rw-r--r--
unistd.h
41.736 KB
-rw-r--r--
utime.h
1.466 KB
-rw-r--r--
utmp.h
3.146 KB
-rw-r--r--
utmpx.h
4.003 KB
-rw-r--r--
values.h
1.909 KB
-rw-r--r--
verto-module.h
6.484 KB
-rw-r--r--
verto.h
18.981 KB
-rw-r--r--
wait.h
0.021 KB
-rw-r--r--
wchar.h
30.382 KB
-rw-r--r--
wctype.h
5.418 KB
-rw-r--r--
wordexp.h
2.442 KB
-rw-r--r--
zconf.h
15.881 KB
-rw-r--r--
zlib.h
94.005 KB
-rw-r--r--