28# if __BYTE_ORDER == __BIG_ENDIAN 
   32#define byteReverse(buf, len)    
   44        t = (uint32_t) ((
unsigned) 
buf[3] << 8 | 
buf[2]) << 16 |
 
   45            ((
unsigned) 
buf[1] << 8 | 
buf[0]);
 
   46        *(uint32_t *) 
buf = t;
 
 
   59    ctx->
buf[0] = 0x67452301;
 
   60    ctx->
buf[1] = 0xefcdab89;
 
   61    ctx->
buf[2] = 0x98badcfe;
 
   62    ctx->
buf[3] = 0x10325476;
 
 
   79    if ((ctx->
bits[0] = t + ((uint32_t) 
len << 3)) < t)
 
   88        unsigned char *p = (
unsigned char *) ctx->
in + t;
 
  104        memcpy(ctx->
in, 
buf, 64);
 
 
  127    count = (ctx->
bits[0] >> 3) & 0x3F;
 
  135    count = 64 - 1 - count;
 
  145        memset(ctx->
in, 0, 56);
 
  148        memset(p, 0, count - 8);
 
  153    in_buf = (uint32_t *) ctx->
in;
 
  154    in_buf[14] = ctx->
bits[0];
 
  155    in_buf[15] = ctx->
bits[1];
 
  159    memcpy(digest, ctx->
buf, 16);
 
  160    memset(ctx, 0, 
sizeof(*ctx));   
 
 
  168#define F1(x, y, z) (z ^ (x & (y ^ z))) 
  169#define F2(x, y, z) F1(z, x, y) 
  170#define F3(x, y, z) (x ^ y ^ z) 
  171#define F4(x, y, z) (y ^ (x | ~z)) 
  174#define MD5STEP(f, w, x, y, z, data, s) \ 
  175    ( w += f(x, y, z) + data,  w = w<<s | w>>(32-s),  w += x ) 
 
  184    register uint32_t 
a, 
b, 
c, 
d;
 
 
Asterisk main include file. File version handling, generic pbx functions.
Asterisk architecture endianess compatibility definitions.
static int len(struct ast_channel *chan, const char *cmd, char *data, char *buf, size_t buflen)
#define MD5STEP(f, w, x, y, z, data, s)
void MD5Transform(uint32_t buf[4], uint32_t const in[16])
void byteReverse(unsigned char *buf, unsigned longs)
void MD5Init(struct MD5Context *ctx)
void MD5Update(struct MD5Context *ctx, unsigned char const *buf, unsigned len)
void MD5Final(unsigned char digest[MD5_DIGEST_LENGTH], struct MD5Context *ctx)
#define MD5_DIGEST_LENGTH