| /* |
| * UFC-crypt: ultra fast crypt(3) implementation |
| * |
| * Copyright (C) 1991-2018 Free Software Foundation, Inc. |
| * |
| * The GNU C 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. |
| * |
| * The GNU C 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 the GNU C Library; if not, see |
| * <http://www.gnu.org/licenses/>. |
| * |
| * @(#)crypt-private.h 1.4 12/20/96 |
| */ |
| |
| /* Prototypes for local functions in libcrypt.a. */ |
| |
| #ifndef CRYPT_PRIVATE_H |
| #define CRYPT_PRIVATE_H 1 |
| |
| #include <features.h> |
| #include <stdbool.h> |
| |
| #ifndef DOS |
| #include "ufc-crypt.h" |
| #else |
| /* |
| * Thanks to greg%wind@plains.NoDak.edu (Greg W. Wettstein) |
| * for DOS patches |
| */ |
| #include "pl.h" |
| #include "ufc.h" |
| #endif |
| #include "crypt.h" |
| |
| /* crypt.c */ |
| extern void _ufc_doit_r (ufc_long itr, struct crypt_data * __restrict __data, |
| ufc_long *res); |
| |
| |
| /* crypt_util.c */ |
| extern void __init_des_r (struct crypt_data * __restrict __data); |
| extern void __init_des (void); |
| |
| extern bool _ufc_setup_salt_r (const char *s, |
| struct crypt_data * __restrict __data); |
| extern void _ufc_mk_keytab_r (const char *key, |
| struct crypt_data * __restrict __data); |
| extern void _ufc_dofinalperm_r (ufc_long *res, |
| struct crypt_data * __restrict __data); |
| extern void _ufc_output_conversion_r (ufc_long v1, ufc_long v2, |
| const char *salt, |
| struct crypt_data * __restrict __data); |
| |
| extern void __setkey_r (const char *__key, |
| struct crypt_data * __restrict __data); |
| extern void __encrypt_r (char * __restrict __block, int __edflag, |
| struct crypt_data * __restrict __data); |
| |
| /* crypt-entry.c */ |
| extern char *__crypt_r (const char *__key, const char *__salt, |
| struct crypt_data * __restrict __data); |
| extern char *fcrypt (const char *key, const char *salt); |
| |
| extern void __b64_from_24bit (char **cp, int *buflen, |
| unsigned int b2, unsigned int b1, unsigned int b0, |
| int n); |
| |
| #endif /* crypt-private.h */ |