crypt-private.h 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. /*
  2. * UFC-crypt: ultra fast crypt(3) implementation
  3. *
  4. * Copyright (C) 1991-2019 Free Software Foundation, Inc.
  5. *
  6. * The GNU C Library is free software; you can redistribute it and/or
  7. * modify it under the terms of the GNU Lesser General Public
  8. * License as published by the Free Software Foundation; either
  9. * version 2.1 of the License, or (at your option) any later version.
  10. *
  11. * The GNU C Library is distributed in the hope that it will be useful,
  12. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  14. * Lesser General Public License for more details.
  15. *
  16. * You should have received a copy of the GNU Lesser General Public
  17. * License along with the GNU C Library; if not, see
  18. * <http://www.gnu.org/licenses/>.
  19. *
  20. * @(#)crypt-private.h 1.4 12/20/96
  21. */
  22. /* Prototypes for local functions in libcrypt.a. */
  23. #ifndef CRYPT_PRIVATE_H
  24. #define CRYPT_PRIVATE_H 1
  25. #include <features.h>
  26. #include <stdbool.h>
  27. #ifndef DOS
  28. #include "ufc-crypt.h"
  29. #else
  30. /*
  31. * Thanks to greg%wind@plains.NoDak.edu (Greg W. Wettstein)
  32. * for DOS patches
  33. */
  34. #include "pl.h"
  35. #include "ufc.h"
  36. #endif
  37. #include "crypt.h"
  38. /* crypt.c */
  39. extern void _ufc_doit_r (ufc_long itr, struct crypt_data * __restrict __data,
  40. ufc_long *res);
  41. /* crypt_util.c */
  42. extern void __init_des_r (struct crypt_data * __restrict __data);
  43. extern void __init_des (void);
  44. extern bool _ufc_setup_salt_r (const char *s,
  45. struct crypt_data * __restrict __data);
  46. extern void _ufc_mk_keytab_r (const char *key,
  47. struct crypt_data * __restrict __data);
  48. extern void _ufc_dofinalperm_r (ufc_long *res,
  49. struct crypt_data * __restrict __data);
  50. extern void _ufc_output_conversion_r (ufc_long v1, ufc_long v2,
  51. const char *salt,
  52. struct crypt_data * __restrict __data);
  53. extern void __setkey_r (const char *__key,
  54. struct crypt_data * __restrict __data);
  55. extern void __encrypt_r (char * __restrict __block, int __edflag,
  56. struct crypt_data * __restrict __data);
  57. /* crypt-entry.c */
  58. extern char *__crypt_r (const char *__key, const char *__salt,
  59. struct crypt_data * __restrict __data);
  60. extern char *fcrypt (const char *key, const char *salt);
  61. extern void __b64_from_24bit (char **cp, int *buflen,
  62. unsigned int b2, unsigned int b1, unsigned int b0,
  63. int n);
  64. #endif /* crypt-private.h */