1 /* 2 * crypt(3) implementation for uClibc 3 * 4 * The uClibc Library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Lesser General Public 6 * License as published by the Free Software Foundation; either 7 * version 2.1 of the License, or (at your option) any later version. 8 * 9 * The GNU C Library is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * Lesser General Public License for more details. 13 * 14 * You should have received a copy of the GNU Lesser General Public 15 * License along with the GNU C Library; see the file COPYING.LIB. If 16 * not, see <http://www.gnu.org/licenses/>. 17 */ 18 19 #ifndef _CRYPT_H 20 #define _CRYPT_H 1 21 22 #include <features.h> 23 24 __BEGIN_DECLS 25 26 /* Encrypt characters from KEY using salt to perturb the encryption method. 27 * If salt begins with "$1$", MD5 hashing is used instead of DES. */ 28 extern char *crypt (const char *__key, const char *__salt) 29 __THROW __nonnull ((1, 2)); 30 31 /* Setup DES tables according KEY. */ 32 extern void setkey (const char *__key) __THROW __nonnull ((1)); 33 34 /* Encrypt data in BLOCK in place if EDFLAG is zero; otherwise decrypt 35 block in place. */ 36 extern void encrypt (char *__block, int __edflag) __THROW __nonnull ((1)); 37 38 __END_DECLS 39 40 #endif /* crypt.h */ 41