Annotation of truecrypt/common/endian.c, revision 1.1.1.6

1.1.1.6 ! root        1: /* Legal Notice: The source code contained in this file has been derived from
        !             2:    the source code of Encryption for the Masses 2.02a, which is Copyright (c)
        !             3:    1998-99 Paul Le Roux and which is covered by the 'License Agreement for
        !             4:    Encryption for the Masses'. Modifications and additions to that source code
        !             5:    contained in this file are Copyright (c) 2004-2005 TrueCrypt Foundation and
        !             6:    Copyright (c) 2004 TrueCrypt Team, and are covered by TrueCrypt License 2.0
        !             7:    the full text of which is contained in the file License.txt included in
        !             8:    TrueCrypt binary and source code distribution archives.  */
        !             9: 
        !            10: #include "Tcdefs.h"
        !            11: #include "Endian.h"
        !            12: 
        !            13: 
        !            14: unsigned __int32 MirrorBytes32 (unsigned __int32 x)
        !            15: {
        !            16:        unsigned __int32 n = (unsigned __int8) x;
        !            17:        n <<= 8; n |= (unsigned __int8) (x >> 8);
        !            18:        n <<= 8; n |= (unsigned __int8) (x >> 16);
        !            19:        return (n << 8) | (unsigned __int8) (x >> 24);
        !            20: }
        !            21: 
        !            22: 
        !            23: unsigned __int64 MirrorBytes64 (unsigned __int64 x)
        !            24: {
        !            25:        unsigned __int64 n = (unsigned __int8) x;
        !            26:        n <<= 8; n |= (unsigned __int8) (x >> 8);
        !            27:        n <<= 8; n |= (unsigned __int8) (x >> 16);
        !            28:        n <<= 8; n |= (unsigned __int8) (x >> 24);
        !            29:        n <<= 8; n |= (unsigned __int8) (x >> 32);
        !            30:        n <<= 8; n |= (unsigned __int8) (x >> 40);
        !            31:        n <<= 8; n |= (unsigned __int8) (x >> 48);
        !            32:        return (n << 8) | (unsigned __int8) (x >> 56);
        !            33: }
1.1       root       34: 
                     35: 
                     36: void
1.1.1.6 ! root       37: LongReverse (unsigned __int32 *buffer, unsigned byteCount)
1.1       root       38: {
1.1.1.6 ! root       39:        unsigned __int32 value;
1.1       root       40: 
1.1.1.6 ! root       41:        byteCount /= sizeof (unsigned __int32);
1.1       root       42:        while (byteCount--)
                     43:        {
                     44:                value = *buffer;
                     45:                value = ((value & 0xFF00FF00L) >> 8) | \
                     46:                    ((value & 0x00FF00FFL) << 8);
                     47:                *buffer++ = (value << 16) | (value >> 16);
                     48:        }
                     49: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.