Lines Matching +full:0 +full:- +full:9 +full:a +full:- +full:d
25 * Copyright (c) Andrew Tridgell 1997-1998.
50 x &= 0xFFFFFFFF; in lshift()
51 return ((x << s) & 0xFFFFFFFF) | (x >> (32 - s)); in lshift()
69 #define ROUND1(a,b,c,d,k,s) (a = lshift(a + F(b,c,d) + k, s)) argument
70 #define ROUND2(a,b,c,d,k,s) (a = lshift(a + G(b,c,d) + k + (uint32_t)0x5A827999,s)) argument
71 #define ROUND3(a,b,c,d,k,s) (a = lshift(a + H(b,c,d) + k + (uint32_t)0x6ED9EBA1,s)) argument
76 while (words--) { in le32_to_cpu_array()
84 while (words--) { in cpu_to_le32_array()
92 uint32_t a, b, c, d; in md4_transform() local
94 a = hash[0]; in md4_transform()
97 d = hash[3]; in md4_transform()
99 ROUND1(a, b, c, d, in[0], 3); in md4_transform()
100 ROUND1(d, a, b, c, in[1], 7); in md4_transform()
101 ROUND1(c, d, a, b, in[2], 11); in md4_transform()
102 ROUND1(b, c, d, a, in[3], 19); in md4_transform()
103 ROUND1(a, b, c, d, in[4], 3); in md4_transform()
104 ROUND1(d, a, b, c, in[5], 7); in md4_transform()
105 ROUND1(c, d, a, b, in[6], 11); in md4_transform()
106 ROUND1(b, c, d, a, in[7], 19); in md4_transform()
107 ROUND1(a, b, c, d, in[8], 3); in md4_transform()
108 ROUND1(d, a, b, c, in[9], 7); in md4_transform()
109 ROUND1(c, d, a, b, in[10], 11); in md4_transform()
110 ROUND1(b, c, d, a, in[11], 19); in md4_transform()
111 ROUND1(a, b, c, d, in[12], 3); in md4_transform()
112 ROUND1(d, a, b, c, in[13], 7); in md4_transform()
113 ROUND1(c, d, a, b, in[14], 11); in md4_transform()
114 ROUND1(b, c, d, a, in[15], 19); in md4_transform()
116 ROUND2(a, b, c, d,in[ 0], 3); in md4_transform()
117 ROUND2(d, a, b, c, in[4], 5); in md4_transform()
118 ROUND2(c, d, a, b, in[8], 9); in md4_transform()
119 ROUND2(b, c, d, a, in[12], 13); in md4_transform()
120 ROUND2(a, b, c, d, in[1], 3); in md4_transform()
121 ROUND2(d, a, b, c, in[5], 5); in md4_transform()
122 ROUND2(c, d, a, b, in[9], 9); in md4_transform()
123 ROUND2(b, c, d, a, in[13], 13); in md4_transform()
124 ROUND2(a, b, c, d, in[2], 3); in md4_transform()
125 ROUND2(d, a, b, c, in[6], 5); in md4_transform()
126 ROUND2(c, d, a, b, in[10], 9); in md4_transform()
127 ROUND2(b, c, d, a, in[14], 13); in md4_transform()
128 ROUND2(a, b, c, d, in[3], 3); in md4_transform()
129 ROUND2(d, a, b, c, in[7], 5); in md4_transform()
130 ROUND2(c, d, a, b, in[11], 9); in md4_transform()
131 ROUND2(b, c, d, a, in[15], 13); in md4_transform()
133 ROUND3(a, b, c, d,in[ 0], 3); in md4_transform()
134 ROUND3(d, a, b, c, in[8], 9); in md4_transform()
135 ROUND3(c, d, a, b, in[4], 11); in md4_transform()
136 ROUND3(b, c, d, a, in[12], 15); in md4_transform()
137 ROUND3(a, b, c, d, in[2], 3); in md4_transform()
138 ROUND3(d, a, b, c, in[10], 9); in md4_transform()
139 ROUND3(c, d, a, b, in[6], 11); in md4_transform()
140 ROUND3(b, c, d, a, in[14], 15); in md4_transform()
141 ROUND3(a, b, c, d, in[1], 3); in md4_transform()
142 ROUND3(d, a, b, c, in[9], 9); in md4_transform()
143 ROUND3(c, d, a, b, in[5], 11); in md4_transform()
144 ROUND3(b, c, d, a, in[13], 15); in md4_transform()
145 ROUND3(a, b, c, d, in[3], 3); in md4_transform()
146 ROUND3(d, a, b, c, in[11], 9); in md4_transform()
147 ROUND3(c, d, a, b, in[7], 11); in md4_transform()
148 ROUND3(b, c, d, a, in[15], 15); in md4_transform()
150 hash[0] += a; in md4_transform()
153 hash[3] += d; in md4_transform()
158 le32_to_cpu_array(ctx->block, ARRAY_SIZE(ctx->block)); in md4_transform_helper()
159 md4_transform(ctx->hash, ctx->block); in md4_transform_helper()
164 mctx->hash[0] = 0x67452301; in md4_init()
165 mctx->hash[1] = 0xefcdab89; in md4_init()
166 mctx->hash[2] = 0x98badcfe; in md4_init()
167 mctx->hash[3] = 0x10325476; in md4_init()
168 mctx->byte_count = 0; in md4_init()
174 const uint32_t avail = sizeof(mctx->block) - (mctx->byte_count & 0x3f); in md4_update()
176 mctx->byte_count += len; in md4_update()
179 memcpy((char *)mctx->block + (sizeof(mctx->block) - avail), in md4_update()
184 memcpy((char *)mctx->block + (sizeof(mctx->block) - avail), in md4_update()
189 len -= avail; in md4_update()
191 while (len >= sizeof(mctx->block)) { in md4_update()
192 memcpy(mctx->block, data, sizeof(mctx->block)); in md4_update()
194 data += sizeof(mctx->block); in md4_update()
195 len -= sizeof(mctx->block); in md4_update()
198 memcpy(mctx->block, data, len); in md4_update()
203 const unsigned int offset = mctx->byte_count & 0x3f; in md4_final_ascii()
204 char *p = (char *)mctx->block + offset; in md4_final_ascii()
205 int padding = 56 - (offset + 1); in md4_final_ascii()
207 *p++ = 0x80; in md4_final_ascii()
208 if (padding < 0) { in md4_final_ascii()
209 memset(p, 0x00, padding + sizeof (uint64_t)); in md4_final_ascii()
211 p = (char *)mctx->block; in md4_final_ascii()
215 memset(p, 0, padding); in md4_final_ascii()
216 mctx->block[14] = mctx->byte_count << 3; in md4_final_ascii()
217 mctx->block[15] = mctx->byte_count >> 29; in md4_final_ascii()
218 le32_to_cpu_array(mctx->block, (sizeof(mctx->block) - in md4_final_ascii()
220 md4_transform(mctx->hash, mctx->block); in md4_final_ascii()
221 cpu_to_le32_array(mctx->hash, ARRAY_SIZE(mctx->hash)); in md4_final_ascii()
224 mctx->hash[0], mctx->hash[1], mctx->hash[2], mctx->hash[3]); in md4_final_ascii()
237 add_char(file[0], md); in parse_string()
240 if (file[i] == '"' && file[i-1] != '\\') in parse_string()
251 if (file[i-1] == '*' && file[i] == '/') in parse_comment()
257 /* FIXME: Handle .s files differently (eg. # starts comments) --RR */
266 for (i = 0; i < len; i++) { in parse_file()
279 i += parse_string(file+i, len - i, md); in parse_file()
285 i += parse_comment(file+i, len - i); in parse_file()
294 /* Check whether the file is a static library or not */
299 return objfile[len - 2] == '.' && objfile[len - 1] == 'a'; in is_static_library()
308 int dirlen, ret = 0, check_files = 0; in parse_source_files()
315 dirlen = base - objfile; in parse_source_files()
318 dirlen = 0; in parse_source_files()
323 dir[dirlen] = '\0'; in parse_source_files()
338 if (strncmp(line, "source_", sizeof("source_")-1) == 0) { in parse_source_files()
352 if (strncmp(line, "deps_", sizeof("deps_")-1) == 0) { in parse_source_files()
360 if ( *(p + strlen(p)-1) != '\\') in parse_source_files()
365 *p = '\0'; in parse_source_files()
372 if ((strstr(line, dir)+strlen(dir)-1) == strrchr(line, '/')) { in parse_source_files()
400 /* objects for a module are listed in the first line of *.mod file. */ in get_src_version()