home *** CD-ROM | disk | FTP | other *** search
/ Freesoft 1997 May / Freesoft_1997-05_cd.bin / nerecenz / programers / CRYPT / XCRYPT / ufc-crypt.h < prev    next >
C/C++ Source or Header  |  1997-03-31  |  2KB  |  102 lines

  1. /*
  2.  * UFC-crypt: ultra fast crypt(3) implementation
  3.  *
  4.  * Copyright (C) 1991, 1992, Michael Glad, email: glad@daimi.aau.dk
  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.11 01/20/92
  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. /* Cray: all integer flavoured
  44.    datatypes are 64 bit wide.
  45.  
  46.    Not tested -- please notify me
  47.    if you are able to test it.
  48. */
  49. typedef unsigned long ufc_long;
  50. typedef unsigned long long64;
  51. #define _UFC_64_
  52. #endif
  53.  
  54. #ifdef convex
  55. /* thanks to pcl@convex.oxford.ac.uk (Paul Leyland) for testing */
  56. typedef unsigned long ufc_long;
  57. typedef long long     long64;
  58. #define _UFC_64_
  59. #endif
  60.  
  61. /*
  62.  * For debugging 64 bit code etc with 'gcc'
  63.  */
  64.  
  65. #ifdef GCC3232
  66. typedef unsigned long ufc_long;
  67. typedef unsigned long long32;
  68. #define _UFC_32_
  69. #endif
  70.  
  71. #ifdef GCC3264
  72. typedef unsigned long ufc_long;
  73. typedef long long     long64;
  74. #define _UFC_64_
  75. #endif
  76.  
  77. #ifdef GCC6432
  78. typedef long long ufc_long;
  79. typedef unsigned long long32;
  80. #define _UFC_32_
  81. #endif
  82.  
  83. #ifdef GCC6464
  84. typedef long long     ufc_long;
  85. typedef long long     long64;
  86. #define _UFC_64_
  87. #endif
  88.  
  89. /*
  90.  * Catch all for 99.95% of all UNIX machines
  91.  */
  92.  
  93. #ifndef _UFC_64_
  94. #ifndef _UFC_32_
  95. #define _UFC_32_
  96. typedef unsigned      ufc_long;
  97. typedef unsigned long long32;
  98. #endif
  99. #endif
  100.  
  101.  
  102.