rdesktop/crypto/conf.h

97 lines
2.2 KiB
C
Raw Normal View History

/*******************************************************************************
* *
* Copyright (c) Martin Nicolay, 22. Nov. 1988 *
* *
* Wenn diese (oder sinngemaess uebersetzte) Copyright-Angabe enthalten *
* bleibt, darf diese Source fuer jeden nichtkomerziellen Zweck weiter *
* verwendet werden. *
* *
* martin@trillian.megalon.de *
* *
*******************************************************************************/
#ifndef _conf_h_
#define _conf_h_
typedef unsigned short INT; /* muss MAXINT fassen */
typedef unsigned long LONG; /* muss (MAXINT+1)^2 -1 fassen */
#if defined( M_XENIX )
#define P(x) x /* Funktions Prototypen an */
#else
#define P(x) () /* Funktions Prototypen aus */
#endif
/*
* (MAXINT+1)-adic Zahlen
*/
/*
* MAXINT Maximale Zahl pro Elemenmt (muss int sein)
* MAXBIT Maximales Bit von MAXINT
* LOWBITS Anzahl der consekutiven low Bits von MAXINT
* HIGHBIT Hoechsten Bit von MAXINT
* TOINT muss (INT)( (x) % MAXINT) ergeben
* MAXLEN Laenge der INT Array in jeder NUMBER
*/
#define MAXINT 0xFFFF
#if MAXINT == 99
#define MAXBIT 7
#define LOWBITS 2
#endif
#if MAXINT == 9
#define MAXBIT 4
#define LOWBITS 1
#endif
#if MAXINT == 1
#define MAXBIT 1
#endif
#if MAXINT == 0xFF
#define MAXBIT 8
#define TOINT(x) ((INT)(x)) /* ACHTUNG !!!!! */
#endif
#if MAXINT == 0xFFFF
#define MAXBIT 16
#define TOINT(x) ((INT)(x)) /* ACHTUNG !!!!! */
#endif
#ifndef MAXBIT
#include "<< ERROR: MAXBIT must be defined >>"
#endif
#ifndef LOWBITS
#if MAXINT == (1 << MAXBIT) - 1
#define LOWBITS MAXBIT
#else
#include "<< ERROR: LOWBITS must be defined >>"
#endif
#endif
#define MAXLEN (300*8/(MAXBIT + 1))
#define STRLEN (MAXLEN*MAXBIT/4)
#define HIGHBIT (1 << (MAXBIT-1) )
#if LOWBITS == MAXBIT
#define DIVMAX1(x) ((x) >> MAXBIT)
#define MODMAX1(x) ((x) & MAXINT)
#define MULMAX1(x) ((x) << MAXBIT)
#else
#define DIVMAX1(x) ((x) / (MAXINT+1))
#define MODMAX1(x) ((x) % (MAXINT+1))
#define MULMAX1(x) ((x) * (unsigned)(MAXINT+1))
#endif
#ifndef TOINT
#define TOINT(x) ((INT)MODMAX1(x))
#endif
typedef struct {
int n_len; /* Hoechster benutzter Index */
INT n_part[MAXLEN];
} NUMBER;
#define NUM0P ((NUMBER *)0) /* Abkuerzung */
#endif