home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ool_main.zip / ool / include / ufc-crypt.h < prev    next >
C/C++ Source or Header  |  1998-03-07  |  3KB  |  127 lines

  1. /*
  2.  * UFC-crypt: ultra fast crypt(3) implementation
  3.  *
  4.  * Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc.
  5.  *
  6.  * This library is free software; you can redistribute it and/or
  7.  * modify it under the terms of the GNU Library General Public
  8.  * License as published by the Free Software Foundation; either
  9.  * version 2 of the License, or (at your option) any later version.
  10.  *
  11.  * This 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.  * Library General Public License for more details.
  15.  
  16.  * You should have received a copy of the GNU Library General Public
  17.  * License along with this library; if not, write to the Free
  18.  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  19.  *
  20.  * @(#)ufc-crypt.h   1.19 7/29/93
  21.  *
  22.  * Definitions of datatypes
  23.  *
  24.  */
  25.  
  26. /*
  27.  * Requirements for datatypes:
  28.  *
  29.  * A datatype 'ufc_long' of at least 32 bit
  30.  * *and*
  31.  *   A type 'long32' of exactly 32 bits (_UFC_32_)
  32.  *   *or*
  33.  *   A type 'long64' of exactly 64 bits (_UFC_64_)
  34.  *
  35.  * 'int' is assumed to be at least 8 bit
  36.  */
  37.  
  38. /*
  39.  * #ifdef's for various architectures
  40.  */
  41.  
  42. #ifdef cray
  43. /* thanks to <hutton@opus.sdsc.edu> (Tom Hutton)  for testing */
  44. typedef unsigned long ufc_long;
  45. typedef unsigned long long64;
  46. #define _UFC_64_
  47. #endif
  48.  
  49. #if defined(convex) || defined(__convexc__)
  50. /* thanks to pcl@convex.oxford.ac.uk (Paul Leyland) for testing */
  51. typedef unsigned long ufc_long;
  52. typedef long long     long64;
  53. #define _UFC_64_
  54. #endif
  55.  
  56. #ifdef ksr
  57. /*
  58.  * Note - the KSR machine does not define a unique symbol
  59.  * which we can check. So you MUST add '-Dksr' to your Makefile.
  60.  * Thanks to lijewski@theory.tc.cornell.edu (Mike Lijewski) for
  61.  * the patch.
  62.  */
  63. typedef unsigned long ufc_long;
  64. typedef unsigned long long64;
  65. #define _UFC_64_
  66. #endif
  67.  
  68. /*
  69.  * Thanks to <iglesias@draco.acs.uci.edu> (Mike Iglesias)
  70.  */
  71.  
  72. #ifdef __alpha
  73. typedef unsigned long ufc_long;
  74. typedef unsigned long long64;
  75. #define _UFC_64_
  76. #endif
  77.  
  78. /*
  79.  * For debugging 64 bit code etc with 'gcc'
  80.  */
  81.  
  82. #ifdef GCC3232
  83. typedef unsigned long ufc_long;
  84. typedef unsigned long long32;
  85. #define _UFC_32_
  86. #endif
  87.  
  88. #ifdef GCC3264
  89. typedef unsigned long ufc_long;
  90. typedef long long     long64;
  91. #define _UFC_64_
  92. #endif
  93.  
  94. #ifdef GCC6432
  95. typedef long long ufc_long;
  96. typedef unsigned long long32;
  97. #define _UFC_32_
  98. #endif
  99.  
  100. #ifdef GCC6464
  101. typedef long long     ufc_long;
  102. typedef long long     long64;
  103. #define _UFC_64_
  104. #endif
  105.  
  106. /*
  107.  * Catch all for 99.95% of all UNIX machines
  108.  */
  109.  
  110. #ifndef _UFC_64_
  111. #ifndef _UFC_32_
  112. #define _UFC_32_
  113. typedef unsigned long ufc_long;
  114. typedef unsigned long long32;
  115. #endif
  116. #endif
  117.  
  118.  
  119. #if __cplusplus
  120. extern "C" {
  121. #endif
  122.    char *crypt16( char *key, char *salt);
  123. #if __cplusplus
  124. }
  125. #endif
  126.  
  127.