diff options
Diffstat (limited to 'usr/src/lib/libsum/common/sum-ast4.c')
-rw-r--r-- | usr/src/lib/libsum/common/sum-ast4.c | 120 |
1 files changed, 0 insertions, 120 deletions
diff --git a/usr/src/lib/libsum/common/sum-ast4.c b/usr/src/lib/libsum/common/sum-ast4.c deleted file mode 100644 index 1285b765de..0000000000 --- a/usr/src/lib/libsum/common/sum-ast4.c +++ /dev/null @@ -1,120 +0,0 @@ -/*********************************************************************** -* * -* This software is part of the ast package * -* Copyright (c) 1996-2010 AT&T Intellectual Property * -* and is licensed under the * -* Common Public License, Version 1.0 * -* by AT&T Intellectual Property * -* * -* A copy of the License is available at * -* http://www.opensource.org/licenses/cpl1.0.txt * -* (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) * -* * -* Information and Software Systems Research * -* AT&T Research * -* Florham Park NJ * -* * -* Glenn Fowler <gsf@research.att.com> * -* * -***********************************************************************/ -#pragma prototyped - -/* - * ast4 - */ - -#define ast4_description \ - "The \bast\b 128 bit PRNG hash generated by catenating 4 separate 32 \ - bit PNRG hashes. The block count is not printed." -#define ast4_options 0 -#define ast4_match "ast4|32x4|tw" -#define ast4_done long_done -#define ast4_scale 0 - -typedef struct Ast4_sum_s -{ - uint32_t sum0; - uint32_t sum1; - uint32_t sum2; - uint32_t sum3; -} Ast4_sum_t; - -typedef struct Ast4_s -{ - _SUM_PUBLIC_ - _SUM_PRIVATE_ - Ast4_sum_t cur; - Ast4_sum_t tot; - unsigned char buf[sizeof(Ast4_sum_t)]; -} Ast4_t; - -static int -ast4_init(Sum_t* p) -{ - register Ast4_t* a = (Ast4_t*)p; - - a->tot.sum0 ^= a->cur.sum0; - a->cur.sum0 = 0; - a->tot.sum1 ^= a->cur.sum1; - a->cur.sum1 = 0; - a->tot.sum2 ^= a->cur.sum2; - a->cur.sum2 = 0; - a->tot.sum3 ^= a->cur.sum3; - a->cur.sum3 = 0; - return 0; -} - -static Sum_t* -ast4_open(const Method_t* method, const char* name) -{ - Ast4_t* p; - - if (p = newof(0, Ast4_t, 1, 0)) - { - p->method = (Method_t*)method; - p->name = name; - } - return (Sum_t*)p; -} - -static int -ast4_block(Sum_t* p, const void* s, size_t n) -{ - register Ast4_sum_t* a = &((Ast4_t*)p)->cur; - register unsigned char* b = (unsigned char*)s; - register unsigned char* e = b + n; - register int c; - - while (b < e) - { - c = *b++; - a->sum0 = a->sum0 * 0x63c63cd9 + 0x9c39c33d + c; - a->sum1 = a->sum1 * 0x00000011 + 0x00017cfb + c; - a->sum2 = a->sum2 * 0x12345679 + 0x3ade68b1 + c; - a->sum3 = a->sum3 * 0xf1eac01d + 0xcafe10af + c; - } - return 0; -} - -static int -ast4_print(Sum_t* p, Sfio_t* sp, int flags, size_t scale) -{ - register Ast4_sum_t* a; - - a = (flags & SUM_TOTAL) ? &((Ast4_t*)p)->tot : &((Ast4_t*)p)->cur; - sfprintf(sp, "%06..64u%06..64u%06..64u%06..64u", a->sum0, a->sum1, a->sum2, a->sum3); - return 0; -} - -static int -ast4_data(Sum_t* p, Sumdata_t* data) -{ - data->size = sizeof(((Ast4_t*)p)->cur); - data->num = 0; -#if _ast_intswap - swapmem(_ast_intswap, data->buf = ((Ast4_t*)p)->buf, &((Ast4_t*)p)->cur, sizeof(((Ast4_t*)p)->cur)); -#else - data->buf = &((Ast4_t*)p)->cur; -#endif - return 0; -} |