+/*
+ * $Source: /mit/kerberos/src/lib/des/RCS/des_internal.h,v $
+ * $Author: jtkohl $
+ * $Header: des_internal.h,v 4.1 88/11/15 11:09:05 jtkohl Exp $
+ *
+ * Copyright 1987, 1988 by the Massachusetts Institute of Technology.
+ *
+ * For copying and distribution information, please see the file
+ * <mit-copyright.h>.
+ *
+ * Private include file for the Data Encryption Standard library.
+ */
+
+/* only do the whole thing once */
+#ifndef DES_INTERNAL_DEFS
+#define DES_INTERNAL_DEFS
+
+#include "conf.h"
+
+/*
+ * number of iterations of the inner
+ * loop of the DES algorithm. The
+ * standard is 16, but in case that is
+ * too slow, we might do less. Of
+ * course, less also means less
+ * security.
+ */
+#define AUTH_DES_ITER 16
+
+#ifdef BITS32
+/* these are for 32 bit machines */
+
+typedef struct {
+ unsigned b0:6;
+ unsigned b1:6;
+ unsigned b2:6;
+ unsigned b3:6;
+ unsigned b4:6;
+ unsigned b5:2;
+} sbox_in_a;
+
+typedef struct {
+ unsigned b5:4;
+ unsigned b6:6;
+ unsigned b7:6;
+} sbox_in_b;
+
+typedef struct {
+ unsigned b0:4;
+ unsigned b1:4;
+ unsigned b2:4;
+ unsigned b3:4;
+ unsigned b4:4;
+ unsigned b5:4;
+ unsigned b6:4;
+ unsigned b7:4;
+} sbox_out;
+
+#else BITS32
+/* for sixteen bit machines */
+
+typedef struct {
+ unsigned b0:6;
+ unsigned b1:6;
+ unsigned b2:4;
+} sbox_in_16_a;
+
+typedef struct {
+ unsigned b2:2;
+ unsigned b3:6;
+ unsigned b4:6;
+ unsigned b5:2;
+} sbox_in_16_b;
+
+typedef struct {
+ unsigned b5:4;
+ unsigned b6:6;
+ unsigned b7:6;
+} sbox_in_16_c;
+
+typedef struct {
+ unsigned b0:4;
+ unsigned b1:4;
+ unsigned b2:4;
+ unsigned b3:4;
+ unsigned b4:4;
+ unsigned b5:4;
+ unsigned b6:4;
+ unsigned b7:4;
+} sbox_out;
+#endif BITS32
+
+
+#endif DES_INTERNAL_DEFS