Current Path: > > usr > include
Operation : Linux premium107.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 Software : Apache Server IP : 198.54.126.246 | Your IP: 216.73.216.181 Domains : 1034 Domain(s) Permission : [ 0755 ]
| Name | Type | Size | Last Modified | Actions |
|---|---|---|---|---|
| GL | Directory | - | - | |
| X11 | Directory | - | - | |
| apache2 | Directory | - | - | |
| arpa | Directory | - | - | |
| asm | Directory | - | - | |
| asm-generic | Directory | - | - | |
| bind9 | Directory | - | - | |
| bits | Directory | - | - | |
| bsock | Directory | - | - | |
| c++ | Directory | - | - | |
| criu | Directory | - | - | |
| curl | Directory | - | - | |
| drm | Directory | - | - | |
| e2p | Directory | - | - | |
| et | Directory | - | - | |
| event2 | Directory | - | - | |
| ext2fs | Directory | - | - | |
| finclude | Directory | - | - | |
| fontconfig | Directory | - | - | |
| freetype2 | Directory | - | - | |
| fstrm | Directory | - | - | |
| gdb | Directory | - | - | |
| gdbm | Directory | - | - | |
| gnu | Directory | - | - | |
| Directory | - | - | ||
| gssapi | Directory | - | - | |
| gssrpc | Directory | - | - | |
| jemalloc | Directory | - | - | |
| json-c | Directory | - | - | |
| kadm5 | Directory | - | - | |
| krb5 | Directory | - | - | |
| libdb | Directory | - | - | |
| libexslt | Directory | - | - | |
| libltdl | Directory | - | - | |
| libpng16 | Directory | - | - | |
| libxml2 | Directory | - | - | |
| libxslt | Directory | - | - | |
| linux | Directory | - | - | |
| lua-5.1 | Directory | - | - | |
| lzma | Directory | - | - | |
| misc | Directory | - | - | |
| mtd | Directory | - | - | |
| mysql | Directory | - | - | |
| ncurses | Directory | - | - | |
| ncursesw | Directory | - | - | |
| net | Directory | - | - | |
| netash | Directory | - | - | |
| netatalk | Directory | - | - | |
| netax25 | Directory | - | - | |
| neteconet | Directory | - | - | |
| netinet | Directory | - | - | |
| netipx | Directory | - | - | |
| netiucv | Directory | - | - | |
| netpacket | Directory | - | - | |
| netrom | Directory | - | - | |
| netrose | Directory | - | - | |
| nfs | Directory | - | - | |
| openssl | Directory | - | - | |
| perf | Directory | - | - | |
| protobuf-c | Directory | - | - | |
| protocols | Directory | - | - | |
| python2.7 | Directory | - | - | |
| python3.6m | Directory | - | - | |
| python3.8 | Directory | - | - | |
| rdma | Directory | - | - | |
| rpc | Directory | - | - | |
| sasl | Directory | - | - | |
| scsi | Directory | - | - | |
| security | Directory | - | - | |
| selinux | Directory | - | - | |
| sepol | Directory | - | - | |
| sound | Directory | - | - | |
| sys | Directory | - | - | |
| uuid | Directory | - | - | |
| video | Directory | - | - | |
| webp | Directory | - | - | |
| xcb | Directory | - | - | |
| xen | Directory | - | - | |
| FlexLexer.h | File | 6893 bytes | October 12 2019 12:33:17. | |
| a.out.h | File | 4350 bytes | December 08 2025 09:36:36. | |
| aio.h | File | 7456 bytes | December 08 2025 09:36:48. | |
| aliases.h | File | 2031 bytes | December 08 2025 09:36:49. | |
| alloca.h | File | 1203 bytes | December 08 2025 09:36:34. | |
| ar.h | File | 1730 bytes | December 08 2025 09:36:36. | |
| argp.h | File | 25414 bytes | December 08 2025 09:36:48. | |
| argz.h | File | 6050 bytes | December 08 2025 09:36:35. | |
| assert.h | File | 4561 bytes | December 08 2025 09:36:33. | |
| autosprintf.h | File | 2383 bytes | November 18 2019 17:16:51. | |
| byteswap.h | File | 1404 bytes | December 08 2025 09:36:35. | |
| bzlib.h | File | 6245 bytes | September 10 2010 23:08:42. | |
| com_err.h | File | 2118 bytes | March 21 2020 04:24:04. | |
| complex.h | File | 7163 bytes | December 08 2025 09:36:34. | |
| cpio.h | File | 2267 bytes | December 08 2025 09:36:36. | |
| cpuidle.h | File | 844 bytes | December 10 2025 14:18:41. | |
| crypt.h | File | 9118 bytes | October 09 2021 04:04:04. | |
| ctype.h | File | 10963 bytes | December 08 2025 09:36:33. | |
| curses.h | File | 99625 bytes | October 14 2023 18:54:42. | |
| cursesapp.h | File | 6775 bytes | October 14 2023 18:54:42. | |
| cursesf.h | File | 27849 bytes | October 14 2023 18:54:42. | |
| cursesm.h | File | 19677 bytes | October 14 2023 18:54:42. | |
| cursesp.h | File | 8601 bytes | October 14 2023 18:54:42. | |
| cursesw.h | File | 49719 bytes | October 14 2023 18:54:42. | |
| cursslk.h | File | 7304 bytes | October 14 2023 18:54:42. | |
| db.h | File | 123105 bytes | September 21 2021 16:29:14. | |
| db_185.h | File | 5983 bytes | September 21 2021 16:29:14. | |
| dbm.h | File | 1414 bytes | October 08 2022 13:22:08. | |
| dirent.h | File | 12484 bytes | December 08 2025 09:36:35. | |
| dlfcn.h | File | 7238 bytes | December 08 2025 09:36:34. | |
| elf.h | File | 174828 bytes | December 08 2025 09:36:50. | |
| endian.h | File | 3189 bytes | December 08 2025 09:36:35. | |
| entities.h | File | 4930 bytes | August 30 2017 11:05:54. | |
| envz.h | File | 2866 bytes | December 08 2025 09:36:35. | |
| err.h | File | 2209 bytes | December 08 2025 09:36:36. | |
| errno.h | File | 1678 bytes | December 08 2025 09:36:34. | |
| error.h | File | 2039 bytes | December 08 2025 09:36:36. | |
| eti.h | File | 2891 bytes | October 14 2023 18:54:42. | |
| etip.h | File | 9702 bytes | October 14 2023 18:54:42. | |
| evdns.h | File | 2019 bytes | October 12 2019 00:29:31. | |
| event.h | File | 2744 bytes | October 12 2019 00:29:31. | |
| evhttp.h | File | 2035 bytes | October 12 2019 00:29:31. | |
| evrpc.h | File | 2015 bytes | October 12 2019 00:29:31. | |
| evutil.h | File | 1782 bytes | October 12 2019 00:29:31. | |
| execinfo.h | File | 1522 bytes | December 08 2025 09:36:48. | |
| expat.h | File | 44273 bytes | November 20 2025 07:31:32. | |
| expat_config.h | File | 3910 bytes | November 20 2025 07:31:32. | |
| expat_external.h | File | 6029 bytes | November 20 2025 07:31:32. | |
| fcntl.h | File | 10958 bytes | December 08 2025 09:36:36. | |
| features.h | File | 16062 bytes | December 08 2025 09:36:29. | |
| fenv.h | File | 5857 bytes | December 08 2025 09:36:34. | |
| fmtmsg.h | File | 3239 bytes | December 08 2025 09:36:34. | |
| fnmatch.h | File | 2295 bytes | December 08 2025 09:36:36. | |
| form.h | File | 18601 bytes | October 14 2023 18:54:42. | |
| fpu_control.h | File | 3583 bytes | December 08 2025 09:36:34. | |
| fstab.h | File | 3111 bytes | December 08 2025 09:36:36. | |
| fstrm.h | File | 13017 bytes | March 11 2019 20:58:34. | |
| fts.h | File | 8372 bytes | December 08 2025 09:36:36. | |
| ftw.h | File | 5251 bytes | December 08 2025 09:36:36. | |
| gconv.h | File | 4410 bytes | December 08 2025 09:36:30. | |
| gcrypt.h | File | 70361 bytes | June 28 2022 11:54:07. | |
| gd.h | File | 57777 bytes | August 30 2017 11:05:54. | |
| gd_color_map.h | File | 478 bytes | August 30 2017 11:05:54. | |
| gd_errors.h | File | 1503 bytes | August 30 2017 11:05:54. | |
| gd_io.h | File | 3125 bytes | August 30 2017 11:05:54. | |
| gdbm.h | File | 10345 bytes | October 08 2022 13:22:07. | |
| gdcache.h | File | 2898 bytes | August 30 2017 11:05:54. | |
| gdfontg.h | File | 553 bytes | August 30 2017 11:05:54. | |
| gdfontl.h | File | 551 bytes | August 30 2017 11:05:54. | |
| gdfontmb.h | File | 519 bytes | August 30 2017 11:05:54. | |
| gdfonts.h | File | 515 bytes | August 30 2017 11:05:54. | |
| gdfontt.h | File | 546 bytes | August 30 2017 11:05:54. | |
| gdfx.h | File | 497 bytes | August 30 2017 11:05:54. | |
| gdpp.h | File | 52162 bytes | August 30 2017 11:05:54. | |
| getopt.h | File | 1468 bytes | December 08 2025 09:36:36. | |
| gettext-po.h | File | 15534 bytes | November 18 2019 17:17:03. | |
| glob.h | File | 6614 bytes | December 08 2025 09:36:36. | |
| gnu-versions.h | File | 2342 bytes | December 08 2025 09:36:29. | |
| gnumake.h | File | 2912 bytes | April 18 2022 16:38:33. | |
| gpg-error.h | File | 67879 bytes | October 12 2019 12:20:46. | |
| gpgrt.h | File | 67879 bytes | October 12 2019 12:20:46. | |
| grp.h | File | 6686 bytes | December 08 2025 09:36:35. | |
| gshadow.h | File | 4528 bytes | December 08 2025 09:36:47. | |
| gssapi.h | File | 181 bytes | June 03 2025 02:06:27. | |
| iconv.h | File | 1857 bytes | December 08 2025 09:36:30. | |
| idn-free.h | File | 2472 bytes | October 13 2019 16:55:34. | |
| idn-int.h | File | 20 bytes | October 13 2019 16:55:34. | |
| idna.h | File | 3564 bytes | October 13 2019 16:55:34. | |
| ieee754.h | File | 4910 bytes | December 08 2025 09:36:34. | |
| ifaddrs.h | File | 2840 bytes | December 08 2025 09:36:49. | |
| inttypes.h | File | 11892 bytes | December 08 2025 09:36:34. | |
| jconfig-64.h | File | 2225 bytes | May 14 2025 12:43:01. | |
| jconfig.h | File | 246 bytes | May 14 2025 12:43:01. | |
| jerror.h | File | 15088 bytes | May 14 2025 12:43:01. | |
| jmorecfg.h | File | 15049 bytes | May 14 2025 12:43:01. | |
| jpegint.h | File | 15586 bytes | May 14 2025 12:43:01. | |
| jpeglib.h | File | 49875 bytes | May 14 2025 12:43:01. | |
| kdb.h | File | 69285 bytes | June 03 2025 02:06:27. | |
| keyutils.h | File | 7698 bytes | October 08 2021 13:50:54. | |
| krad.h | File | 8933 bytes | June 03 2025 02:06:27. | |
| krb5.h | File | 402 bytes | June 03 2025 02:06:27. | |
| langinfo.h | File | 17848 bytes | December 08 2025 09:36:30. | |
| lastlog.h | File | 126 bytes | December 08 2025 09:36:50. | |
| lber.h | File | 15311 bytes | March 11 2025 09:44:02. | |
| lber_types.h | File | 1468 bytes | March 11 2025 09:44:02. | |
| ldap.h | File | 65096 bytes | March 11 2025 09:44:02. | |
| ldap_cdefs.h | File | 9466 bytes | March 11 2025 09:44:02. | |
| ldap_features.h | File | 1814 bytes | March 11 2025 09:44:03. | |
| ldap_schema.h | File | 9450 bytes | March 11 2025 09:44:02. | |
| ldap_utf8.h | File | 3468 bytes | March 11 2025 09:44:02. | |
| ldif.h | File | 4692 bytes | March 11 2025 09:44:03. | |
| libaio.h | File | 8937 bytes | November 13 2019 13:59:49. | |
| libgen.h | File | 1385 bytes | December 08 2025 09:36:36. | |
| libintl.h | File | 4579 bytes | December 08 2025 09:36:33. | |
| limits.h | File | 5412 bytes | December 08 2025 09:36:29. | |
| link.h | File | 7218 bytes | December 08 2025 09:36:50. | |
| locale.h | File | 7674 bytes | December 08 2025 09:36:30. | |
| ltdl.h | File | 5709 bytes | October 11 2019 14:55:29. | |
| lzma.h | File | 9817 bytes | April 29 2018 15:10:38. | |
| magic.h | File | 5588 bytes | October 07 2025 06:30:48. | |
| malloc.h | File | 6102 bytes | December 08 2025 09:36:35. | |
| math.h | File | 53318 bytes | December 08 2025 09:36:34. | |
| mcheck.h | File | 2434 bytes | December 08 2025 09:36:35. | |
| memory.h | File | 955 bytes | December 08 2025 09:36:35. | |
| menu.h | File | 12197 bytes | October 14 2023 18:54:42. | |
| mntent.h | File | 3358 bytes | December 08 2025 09:36:36. | |
| monetary.h | File | 1803 bytes | December 08 2025 09:36:34. | |
| mqueue.h | File | 3759 bytes | December 08 2025 09:36:48. | |
| nc_tparm.h | File | 4197 bytes | October 14 2023 18:54:42. | |
| ncurses.h | File | 99625 bytes | October 14 2023 18:54:42. | |
| ncurses_dll.h | File | 4277 bytes | October 14 2023 18:54:42. | |
| ndbm.h | File | 2454 bytes | October 08 2022 13:22:08. | |
| netdb.h | File | 28099 bytes | December 08 2025 09:36:49. | |
| nl_types.h | File | 1752 bytes | December 08 2025 09:36:33. | |
| nss.h | File | 1878 bytes | December 08 2025 09:36:49. | |
| obstack.h | File | 21306 bytes | December 08 2025 09:36:35. | |
| panel.h | File | 4123 bytes | October 14 2023 18:54:42. | |
| paths.h | File | 2977 bytes | December 08 2025 09:36:36. | |
| pcre.h | File | 31718 bytes | October 08 2021 19:17:42. | |
| pcre2.h | File | 44802 bytes | August 02 2022 16:07:28. | |
| pcre2posix.h | File | 5804 bytes | August 02 2022 16:07:28. | |
| pcre_scanner.h | File | 6600 bytes | October 08 2021 19:17:42. | |
| pcre_stringpiece.h | File | 6312 bytes | October 08 2021 19:17:42. | |
| pcrecpp.h | File | 26529 bytes | October 08 2021 19:17:42. | |
| pcrecpparg.h | File | 6783 bytes | October 08 2021 19:17:42. | |
| pcreposix.h | File | 5452 bytes | October 08 2021 19:17:42. | |
| png.h | File | 144149 bytes | January 07 2026 19:42:15. | |
| pngconf.h | File | 22845 bytes | January 07 2026 19:42:15. | |
| pnglibconf.h | File | 7567 bytes | January 07 2026 19:42:15. | |
| poll.h | File | 22 bytes | December 08 2025 09:36:36. | |
| pr29.h | File | 2123 bytes | October 13 2019 16:55:34. | |
| printf.h | File | 6800 bytes | December 08 2025 09:36:34. | |
| proc_service.h | File | 3476 bytes | December 08 2025 09:36:48. | |
| profile.h | File | 12154 bytes | June 03 2025 02:06:27. | |
| pthread.h | File | 41269 bytes | December 08 2025 09:36:35. | |
| pty.h | File | 1569 bytes | December 08 2025 09:36:50. | |
| punycode.h | File | 9384 bytes | October 13 2019 16:55:34. | |
| pwd.h | File | 6158 bytes | December 08 2025 09:36:35. | |
| re_comp.h | File | 962 bytes | December 08 2025 09:36:36. | |
| regex.h | File | 24715 bytes | December 08 2025 09:36:36. | |
| regexp.h | File | 1447 bytes | December 08 2025 09:36:36. | |
| resolv.h | File | 12153 bytes | December 08 2025 09:36:49. | |
| sched.h | File | 4732 bytes | December 08 2025 09:36:36. | |
| search.h | File | 5223 bytes | December 08 2025 09:36:36. | |
| semaphore.h | File | 2399 bytes | December 08 2025 09:36:35. | |
| setjmp.h | File | 3669 bytes | December 08 2025 09:36:34. | |
| sgtty.h | File | 1343 bytes | December 08 2025 09:36:36. | |
| shadow.h | File | 5471 bytes | December 08 2025 09:36:47. | |
| signal.h | File | 12243 bytes | December 08 2025 09:36:34. | |
| slapi-plugin.h | File | 38351 bytes | March 11 2025 09:44:03. | |
| spawn.h | File | 6690 bytes | December 08 2025 09:36:36. | |
| stab.h | File | 264 bytes | December 08 2025 09:36:36. | |
| stdc-predef.h | File | 2289 bytes | December 08 2025 09:36:29. | |
| stdint.h | File | 8469 bytes | December 08 2025 09:36:34. | |
| stdio.h | File | 30168 bytes | December 08 2025 09:36:34. | |
| stdio_ext.h | File | 2799 bytes | December 08 2025 09:36:34. | |
| stdlib.h | File | 35653 bytes | December 08 2025 09:36:34. | |
| string.h | File | 17587 bytes | December 08 2025 09:36:35. | |
| stringprep.h | File | 8227 bytes | October 13 2019 16:55:34. | |
| strings.h | File | 4752 bytes | December 08 2025 09:36:35. | |
| syscall.h | File | 25 bytes | December 08 2025 09:36:36. | |
| sysexits.h | File | 5232 bytes | December 08 2025 09:36:36. | |
| syslog.h | File | 24 bytes | December 08 2025 09:36:36. | |
| tar.h | File | 3785 bytes | December 08 2025 09:36:36. | |
| term.h | File | 41190 bytes | October 14 2023 18:54:42. | |
| term_entry.h | File | 8760 bytes | October 14 2023 18:54:42. | |
| termcap.h | File | 3473 bytes | October 14 2023 18:54:42. | |
| termio.h | File | 214 bytes | December 08 2025 09:36:36. | |
| termios.h | File | 3598 bytes | December 08 2025 09:36:36. | |
| tgmath.h | File | 31489 bytes | December 08 2025 09:36:34. | |
| thread_db.h | File | 16023 bytes | December 08 2025 09:36:48. | |
| threads.h | File | 6655 bytes | December 08 2025 09:36:35. | |
| tic.h | File | 13638 bytes | October 14 2023 18:54:42. | |
| tiff.h | File | 35983 bytes | November 11 2025 10:27:44. | |
| tiffconf-64.h | File | 3429 bytes | November 11 2025 10:27:44. | |
| tiffconf.h | File | 250 bytes | November 11 2025 10:27:46. | |
| tiffio.h | File | 23227 bytes | November 11 2025 10:27:44. | |
| tiffio.hxx | File | 1702 bytes | November 11 2025 10:27:44. | |
| tiffvers.h | File | 410 bytes | November 11 2025 10:27:44. | |
| time.h | File | 10360 bytes | December 08 2025 09:36:35. | |
| tld.h | File | 4650 bytes | October 13 2019 16:55:34. | |
| ttyent.h | File | 2494 bytes | December 08 2025 09:36:36. | |
| uchar.h | File | 2001 bytes | December 08 2025 09:36:35. | |
| ucontext.h | File | 2036 bytes | December 08 2025 09:36:34. | |
| ulimit.h | File | 1583 bytes | December 08 2025 09:36:36. | |
| unctrl.h | File | 3099 bytes | October 14 2023 18:54:42. | |
| unistd.h | File | 42738 bytes | December 08 2025 09:36:36. | |
| utime.h | File | 1501 bytes | December 08 2025 09:36:36. | |
| utmp.h | File | 3222 bytes | December 08 2025 09:36:50. | |
| utmpx.h | File | 4099 bytes | December 08 2025 09:36:50. | |
| values.h | File | 1955 bytes | December 08 2025 09:36:29. | |
| verto-module.h | File | 6640 bytes | October 08 2022 07:49:42. | |
| verto.h | File | 19437 bytes | October 08 2022 07:49:42. | |
| wait.h | File | 22 bytes | December 08 2025 09:36:36. | |
| wchar.h | File | 31111 bytes | December 08 2025 09:36:35. | |
| wctype.h | File | 5548 bytes | December 08 2025 09:36:36. | |
| wordexp.h | File | 2501 bytes | December 08 2025 09:36:36. | |
| zconf.h | File | 16262 bytes | October 11 2023 22:02:25. | |
| zlib.h | File | 96261 bytes | October 11 2023 22:02:25. |
/* 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 */
SILENT KILLER Tool