Eneboo - Documentación para desarrolladores
Clases | 'defines' | 'typedefs' | Funciones
Referencia del Archivo src/libpq/crypt.c
#include "c.h"
#include <limits.h>
#include <unistd.h>

Clases

union  C_block

'defines'

#define B64   __int64
#define STATIC   static void
#define _PASSWORD_EFMT1   '_'
#define TO_SIX_BIT(rslt, src)
#define ZERO(d, d0, d1)   d0 = 0, d1 = 0
#define LOAD(d, d0, d1, bl)   d0 = (bl).b32.i0, d1 = (bl).b32.i1
#define LOADREG(d, d0, d1, s, s0, s1)   d0 = s0, d1 = s1
#define OR(d, d0, d1, bl)   d0 |= (bl).b32.i0, d1 |= (bl).b32.i1
#define STORE(s, s0, s1, bl)   (bl).b32.i0 = s0, (bl).b32.i1 = s1
#define DCL_BLOCK(d, d0, d1)   int32_t d0, d1
#define LGCHUNKBITS   2
#define CHUNKBITS   (1<<LGCHUNKBITS)
#define PERM6464(d, d0, d1, cpp, p)   { C_block tblk; permute(cpp,&tblk,p,8); LOAD (d,d0,d1,tblk); }
#define PERM3264(d, d0, d1, cpp, p)   { C_block tblk; permute(cpp,&tblk,p,4); LOAD (d,d0,d1,tblk); }
#define KS_SIZE   16
#define SALT   salt
#define SPTAB(t, i)   (*(int32_t *)((unsigned char *)(t) + (i)*(sizeof(int32_t)/4)))
#define DOXOR(x, y, i)   k=B.b[i]; x^=SPTAB(SPE[0][i],k); y^=SPTAB(SPE[1][i],k);
#define CRUNCH(p0, p1, q0, q1)

'typedefs'

typedef int int32_t

Funciones

STATIC init_des (void)
STATIC init_perm (C_block[64/CHUNKBITS][1<< CHUNKBITS], unsigned char[64], int, int)
STATIC permute (unsigned char *, C_block *, C_block *, int)
char * __md5crypt (const char *, const char *)
char * __bcrypt (const char *, const char *)
char * crypt (char *key, const char *setting) const
STATIC init_perm (perm, p, int chars_in, int chars_out)

Documentación de los 'defines'

#define _PASSWORD_EFMT1   '_'
#define B64   __int64
#define CHUNKBITS   (1<<LGCHUNKBITS)
#define CRUNCH (   p0,
  p1,
  q0,
  q1 
)
Valor:
k = ((q0) ^ (q1)) & SALT;                               \
                        B.b32.i0 = k ^ (q0) ^ kp->b32.i0;               \
                        B.b32.i1 = k ^ (q1) ^ kp->b32.i1;               \
                        kp = (C_block *)((char *)kp+ks_inc);    \
                                                        \
                        DOXOR(p0, p1, 0);               \
                        DOXOR(p0, p1, 1);               \
                        DOXOR(p0, p1, 2);               \
                        DOXOR(p0, p1, 3);               \
                        DOXOR(p0, p1, 4);               \
                        DOXOR(p0, p1, 5);               \
                        DOXOR(p0, p1, 6);               \
                        DOXOR(p0, p1, 7);
#define DCL_BLOCK (   d,
  d0,
  d1 
)    int32_t d0, d1
#define DOXOR (   x,
  y,
 
)    k=B.b[i]; x^=SPTAB(SPE[0][i],k); y^=SPTAB(SPE[1][i],k);
#define KS_SIZE   16
#define LGCHUNKBITS   2
#define LOAD (   d,
  d0,
  d1,
  bl 
)    d0 = (bl).b32.i0, d1 = (bl).b32.i1
#define LOADREG (   d,
  d0,
  d1,
  s,
  s0,
  s1 
)    d0 = s0, d1 = s1
#define OR (   d,
  d0,
  d1,
  bl 
)    d0 |= (bl).b32.i0, d1 |= (bl).b32.i1
#define PERM3264 (   d,
  d0,
  d1,
  cpp,
 
)    { C_block tblk; permute(cpp,&tblk,p,4); LOAD (d,d0,d1,tblk); }
#define PERM6464 (   d,
  d0,
  d1,
  cpp,
 
)    { C_block tblk; permute(cpp,&tblk,p,8); LOAD (d,d0,d1,tblk); }
#define SALT   salt
#define SPTAB (   t,
 
)    (*(int32_t *)((unsigned char *)(t) + (i)*(sizeof(int32_t)/4)))
#define STATIC   static void
#define STORE (   s,
  s0,
  s1,
  bl 
)    (bl).b32.i0 = s0, (bl).b32.i1 = s1
#define TO_SIX_BIT (   rslt,
  src 
)
Valor:
{                               \
                C_block cvt;                            \
                cvt.b[0] = src; src >>= 6;              \
                cvt.b[1] = src; src >>= 6;              \
                cvt.b[2] = src; src >>= 6;              \
                cvt.b[3] = src;                         \
                rslt = (cvt.b32.i0 & 0x3f3f3f3fL) << 2; \
        }
#define ZERO (   d,
  d0,
  d1 
)    d0 = 0, d1 = 0

Documentación de los 'typedefs'

typedef int int32_t

Documentación de las funciones

char* __bcrypt ( const char *  ,
const char *   
)
char* __md5crypt ( const char *  ,
const char *   
)
char* crypt ( char *  key,
const char *  setting 
) const
STATIC init_des ( void  )
STATIC init_perm ( perm  ,
,
int  chars_in,
int  chars_out 
)
STATIC init_perm ( C_block  [64/CHUNKBITS][1<< CHUNKBITS],
unsigned  char[64],
int  ,
int   
)
STATIC permute ( unsigned char *  cp,
C_block out,
C_block p,
int  chars_in 
)
 Todo Clases Namespaces Archivos Funciones Variables 'typedefs' Enumeraciones Valores de enumeraciones Propiedades Amigas 'defines'