C_block
C_block keyblock;
C_block cblock;
C_block cvt; \
{ C_block tblk; permute(cpp,&tblk,p,8); LOAD (d,d0,d1,tblk); }
{ C_block tblk; permute(cpp,&tblk,p,4); LOAD (d,d0,d1,tblk); }
STATIC init_perm(C_block [64/CHUNKBITS][1<<CHUNKBITS],
STATIC permute(const unsigned char *, C_block *, C_block *, int);
permute(const unsigned char *cp, C_block *out, C_block *p, int chars_in)
C_block *tp;
static C_block PC1ROT[64/CHUNKBITS][1<<CHUNKBITS];
static C_block PC2ROT[2][64/CHUNKBITS][1<<CHUNKBITS];
static C_block IE3264[32/CHUNKBITS][1<<CHUNKBITS];
static C_block CF6464[64/CHUNKBITS][1<<CHUNKBITS];
static C_block constdatablock; /* encryption constant */
C_block keyblock, rsltblock;
static C_block KS[KS_SIZE];
C_block *help, *ptabp;
PERM6464(K,K0,K1,(const unsigned char *)key,(C_block *)PC1ROT);
ptabp = (C_block *)PC2ROT[Rotates[i]-1];
C_block *kp;
C_block B;
LOAD(L,L0,L1,*(const C_block *)in);
PERM3264(L,L0,L1,B.b, (C_block *)IE3264); /* even bits */
PERM3264(R,R0,R1,B.b+4,(C_block *)IE3264); /* odd bits */
kp = (C_block *)((char *)kp+ks_inc); \
kp = (C_block *)((char *)kp-(ks_inc*KS_SIZE));
PERM6464(L,L0,L1,B.b, (C_block *)CF6464);
STORE(L,L0,L1,*(C_block *)out);
init_perm(C_block perm[64/CHUNKBITS][1<<CHUNKBITS], const unsigned char p[64],