]> git.proxmox.com Git - mirror_edk2.git/blob - EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/BaseLib/SwapBytes32.c
Update the copyright notice format
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Library / EdkIIGlueLib / Library / BaseLib / SwapBytes32.c
1 /*++
2
3 Copyright (c) 2004 - 2006, Intel Corporation. All rights reserved.<BR>
4 This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
8
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11
12
13 Module Name:
14
15 SwapBytes32.c
16
17 Abstract:
18
19 Math worker functions.
20
21 --*/
22
23 #include "BaseLibInternals.h"
24
25 /**
26 Switches the endianess of a 32-bit integer.
27
28 This function swaps the bytes in a 32-bit unsigned value to switch the value
29 from little endian to big endian or vice versa. The byte swapped value is
30 returned.
31
32 @param Operand A 32-bit unsigned value.
33
34 @return The byte swaped Operand.
35
36 **/
37 UINT32
38 EFIAPI
39 SwapBytes32 (
40 IN UINT32 Operand
41 )
42 {
43 UINT32 LowerBytes;
44 UINT32 HigherBytes;
45
46 LowerBytes = (UINT32) SwapBytes16 ((UINT16) Operand);
47 HigherBytes = (UINT32) SwapBytes16 ((UINT16) (Operand >> 16));
48
49 return (LowerBytes << 16 | HigherBytes);
50 }