(root)/
glibc-2.38/
crypt/
crypt-private.h
       1  /*
       2   * UFC-crypt: ultra fast crypt(3) implementation
       3   *
       4   * Copyright (C) 1991-2023 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   * <https://www.gnu.org/licenses/>.
      19   *
      20   * @(#)crypt-private.h	1.4 12/20/96
      21   */
      22  
      23  /* Prototypes for local functions in libcrypt.a.  */
      24  
      25  #ifndef CRYPT_PRIVATE_H
      26  #define CRYPT_PRIVATE_H	1
      27  
      28  #include <features.h>
      29  #include <stdbool.h>
      30  
      31  #ifndef DOS
      32  #include "ufc-crypt.h"
      33  #else
      34  /*
      35   * Thanks to greg%wind@plains.NoDak.edu (Greg W. Wettstein)
      36   * for DOS patches
      37   */
      38  #include "pl.h"
      39  #include "ufc.h"
      40  #endif
      41  #include "crypt.h"
      42  
      43  /* crypt.c */
      44  extern void _ufc_doit_r (ufc_long itr, struct crypt_data * __restrict __data,
      45  			 ufc_long *res);
      46  
      47  
      48  /* crypt_util.c */
      49  extern void __init_des_r (struct crypt_data * __restrict __data);
      50  extern void __init_des (void);
      51  
      52  extern bool _ufc_setup_salt_r (const char *s,
      53  			       struct crypt_data * __restrict __data);
      54  extern void _ufc_mk_keytab_r (const char *key,
      55  			      struct crypt_data * __restrict __data);
      56  extern void _ufc_dofinalperm_r (ufc_long *res,
      57  				struct crypt_data * __restrict __data);
      58  extern void _ufc_output_conversion_r (ufc_long v1, ufc_long v2,
      59  				      const char *salt,
      60  				      struct crypt_data * __restrict __data);
      61  
      62  extern void __setkey_r (const char *__key,
      63  			     struct crypt_data * __restrict __data);
      64  extern void __encrypt_r (char * __restrict __block, int __edflag,
      65  			      struct crypt_data * __restrict __data);
      66  
      67  /* crypt-entry.c */
      68  extern char *__crypt_r (const char *__key, const char *__salt,
      69  			     struct crypt_data * __restrict __data);
      70  extern char *fcrypt (const char *key, const char *salt);
      71  
      72  extern void __b64_from_24bit (char **cp, int *buflen,
      73  			      unsigned int b2, unsigned int b1, unsigned int b0,
      74  			      int n);
      75  
      76  #endif  /* crypt-private.h */