]> git.proxmox.com Git - mirror_edk2.git/blobdiff - UnixPkg/Library/UnixBaseLib/CheckSum.c
UnixPkg: Remove UnixPkg files (It is replaced by EmulatorPkg)
[mirror_edk2.git] / UnixPkg / Library / UnixBaseLib / CheckSum.c
diff --git a/UnixPkg/Library/UnixBaseLib/CheckSum.c b/UnixPkg/Library/UnixBaseLib/CheckSum.c
deleted file mode 100644 (file)
index 2968829..0000000
+++ /dev/null
@@ -1,337 +0,0 @@
-/** @file\r
-  Utility functions to generate checksum based on 2's complement\r
-  algorithm.\r
-\r
-  Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>\r
-  This program and the accompanying materials\r
-  are licensed and made available under the terms and conditions of the BSD License\r
-  which accompanies this distribution.  The full text of the license may be found at\r
-  http://opensource.org/licenses/bsd-license.php.\r
-\r
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-**/\r
-\r
-#include "BaseLibInternals.h"\r
-\r
-/**\r
-  Returns the sum of all elements in a buffer in unit of UINT8.\r
-  During calculation, the carry bits are dropped.\r
-\r
-  This function calculates the sum of all elements in a buffer\r
-  in unit of UINT8. The carry bits in result of addition are dropped.\r
-  The result is returned as UINT8. If Length is Zero, then Zero is\r
-  returned.\r
-\r
-  If Buffer is NULL, then ASSERT().\r
-  If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().\r
-\r
-  @param  Buffer      The pointer to the buffer to carry out the sum operation.\r
-  @param  Length      The size, in bytes, of Buffer.\r
-\r
-  @return Sum         The sum of Buffer with carry bits dropped during additions.\r
-\r
-**/\r
-UINT8\r
-EFIAPI\r
-CalculateSum8 (\r
-  IN      CONST UINT8              *Buffer,\r
-  IN      UINTN                     Length\r
-  )\r
-{\r
-  UINT8     Sum;\r
-  UINTN     Count;\r
-\r
-  ASSERT (Buffer != NULL);\r
-  ASSERT (Length <= (MAX_ADDRESS - ((UINTN) Buffer) + 1));\r
-\r
-  for (Sum = 0, Count = 0; Count < Length; Count++) {\r
-    Sum = (UINT8) (Sum + *(Buffer + Count));\r
-  }\r
-  \r
-  return Sum;\r
-}\r
-\r
-\r
-/**\r
-  Returns the two's complement checksum of all elements in a buffer\r
-  of 8-bit values.\r
-\r
-  This function first calculates the sum of the 8-bit values in the\r
-  buffer specified by Buffer and Length.  The carry bits in the result\r
-  of addition are dropped. Then, the two's complement of the sum is\r
-  returned.  If Length is 0, then 0 is returned.\r
-\r
-  If Buffer is NULL, then ASSERT().\r
-  If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().\r
-\r
-  @param  Buffer      The pointer to the buffer to carry out the checksum operation.\r
-  @param  Length      The size, in bytes, of Buffer.\r
-\r
-  @return Checksum    The 2's complement checksum of Buffer.\r
-\r
-**/\r
-UINT8\r
-EFIAPI\r
-CalculateCheckSum8 (\r
-  IN      CONST UINT8              *Buffer,\r
-  IN      UINTN                     Length\r
-  )\r
-{\r
-  UINT8     CheckSum;\r
-\r
-  CheckSum = CalculateSum8 (Buffer, Length);\r
-\r
-  //\r
-  // Return the checksum based on 2's complement.\r
-  //\r
-  return (UINT8) (0x100 - CheckSum);\r
-}\r
-\r
-/**\r
-  Returns the sum of all elements in a buffer of 16-bit values.  During\r
-  calculation, the carry bits are dropped.\r
-\r
-  This function calculates the sum of the 16-bit values in the buffer\r
-  specified by Buffer and Length. The carry bits in result of addition are dropped.\r
-  The 16-bit result is returned.  If Length is 0, then 0 is returned.\r
-\r
-  If Buffer is NULL, then ASSERT().\r
-  If Buffer is not aligned on a 16-bit boundary, then ASSERT().\r
-  If Length is not aligned on a 16-bit boundary, then ASSERT().\r
-  If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().\r
-\r
-  @param  Buffer      The pointer to the buffer to carry out the sum operation.\r
-  @param  Length      The size, in bytes, of Buffer.\r
-\r
-  @return Sum         The sum of Buffer with carry bits dropped during additions.\r
-\r
-**/\r
-UINT16\r
-EFIAPI\r
-CalculateSum16 (\r
-  IN      CONST UINT16             *Buffer,\r
-  IN      UINTN                     Length\r
-  )\r
-{\r
-  UINT16    Sum;\r
-  UINTN     Count;\r
-  UINTN     Total;\r
-\r
-  ASSERT (Buffer != NULL);\r
-  ASSERT (((UINTN) Buffer & 0x1) == 0);\r
-  ASSERT ((Length & 0x1) == 0);\r
-  ASSERT (Length <= (MAX_ADDRESS - ((UINTN) Buffer) + 1));\r
-\r
-  Total = Length / sizeof (*Buffer);\r
-  for (Sum = 0, Count = 0; Count < Total; Count++) {\r
-    Sum = (UINT16) (Sum + *(Buffer + Count));\r
-  }\r
-  \r
-  return Sum;\r
-}\r
-\r
-\r
-/**\r
-  Returns the two's complement checksum of all elements in a buffer of\r
-  16-bit values.\r
-\r
-  This function first calculates the sum of the 16-bit values in the buffer\r
-  specified by Buffer and Length.  The carry bits in the result of addition\r
-  are dropped. Then, the two's complement of the sum is returned.  If Length\r
-  is 0, then 0 is returned.\r
-\r
-  If Buffer is NULL, then ASSERT().\r
-  If Buffer is not aligned on a 16-bit boundary, then ASSERT().\r
-  If Length is not aligned on a 16-bit boundary, then ASSERT().\r
-  If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().\r
-\r
-  @param  Buffer      The pointer to the buffer to carry out the checksum operation.\r
-  @param  Length      The size, in bytes, of Buffer.\r
-\r
-  @return Checksum    The 2's complement checksum of Buffer.\r
-\r
-**/\r
-UINT16\r
-EFIAPI\r
-CalculateCheckSum16 (\r
-  IN      CONST UINT16             *Buffer,\r
-  IN      UINTN                     Length\r
-  )\r
-{\r
-  UINT16     CheckSum;\r
-\r
-  CheckSum = CalculateSum16 (Buffer, Length);\r
-\r
-  //\r
-  // Return the checksum based on 2's complement.\r
-  //\r
-  return (UINT16) (0x10000 - CheckSum);\r
-}\r
-\r
-\r
-/**\r
-  Returns the sum of all elements in a buffer of 32-bit values. During\r
-  calculation, the carry bits are dropped.\r
-\r
-  This function calculates the sum of the 32-bit values in the buffer\r
-  specified by Buffer and Length. The carry bits in result of addition are dropped.\r
-  The 32-bit result is returned. If Length is 0, then 0 is returned.\r
-\r
-  If Buffer is NULL, then ASSERT().\r
-  If Buffer is not aligned on a 32-bit boundary, then ASSERT().\r
-  If Length is not aligned on a 32-bit boundary, then ASSERT().\r
-  If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().\r
-\r
-  @param  Buffer      The pointer to the buffer to carry out the sum operation.\r
-  @param  Length      The size, in bytes, of Buffer.\r
-\r
-  @return Sum         The sum of Buffer with carry bits dropped during additions.\r
-\r
-**/\r
-UINT32\r
-EFIAPI\r
-CalculateSum32 (\r
-  IN      CONST UINT32             *Buffer,\r
-  IN      UINTN                     Length\r
-  )\r
-{\r
-  UINT32    Sum;\r
-  UINTN     Count;\r
-  UINTN     Total;\r
-\r
-  ASSERT (Buffer != NULL);\r
-  ASSERT (((UINTN) Buffer & 0x3) == 0);\r
-  ASSERT ((Length & 0x3) == 0);\r
-  ASSERT (Length <= (MAX_ADDRESS - ((UINTN) Buffer) + 1));\r
-\r
-  Total = Length / sizeof (*Buffer);\r
-  for (Sum = 0, Count = 0; Count < Total; Count++) {\r
-    Sum = Sum + *(Buffer + Count);\r
-  }\r
-  \r
-  return Sum;\r
-}\r
-\r
-\r
-/**\r
-  Returns the two's complement checksum of all elements in a buffer of\r
-  32-bit values.\r
-\r
-  This function first calculates the sum of the 32-bit values in the buffer\r
-  specified by Buffer and Length.  The carry bits in the result of addition\r
-  are dropped. Then, the two's complement of the sum is returned.  If Length\r
-  is 0, then 0 is returned.\r
-\r
-  If Buffer is NULL, then ASSERT().\r
-  If Buffer is not aligned on a 32-bit boundary, then ASSERT().\r
-  If Length is not aligned on a 32-bit boundary, then ASSERT().\r
-  If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().\r
-\r
-  @param  Buffer      The pointer to the buffer to carry out the checksum operation.\r
-  @param  Length      The size, in bytes, of Buffer.\r
-\r
-  @return Checksum    The 2's complement checksum of Buffer.\r
-\r
-**/\r
-UINT32\r
-EFIAPI\r
-CalculateCheckSum32 (\r
-  IN      CONST UINT32             *Buffer,\r
-  IN      UINTN                     Length\r
-  )\r
-{\r
-  UINT32     CheckSum;\r
-\r
-  CheckSum = CalculateSum32 (Buffer, Length);\r
-\r
-  //\r
-  // Return the checksum based on 2's complement.\r
-  //\r
-  return (UINT32) ((UINT32)(-1) - CheckSum + 1);\r
-}\r
-\r
-\r
-/**\r
-  Returns the sum of all elements in a buffer of 64-bit values.  During\r
-  calculation, the carry bits are dropped.\r
-\r
-  This function calculates the sum of the 64-bit values in the buffer\r
-  specified by Buffer and Length. The carry bits in result of addition are dropped.\r
-  The 64-bit result is returned.  If Length is 0, then 0 is returned.\r
-\r
-  If Buffer is NULL, then ASSERT().\r
-  If Buffer is not aligned on a 64-bit boundary, then ASSERT().\r
-  If Length is not aligned on a 64-bit boundary, then ASSERT().\r
-  If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().\r
-\r
-  @param  Buffer      The pointer to the buffer to carry out the sum operation.\r
-  @param  Length      The size, in bytes, of Buffer.\r
-\r
-  @return Sum         The sum of Buffer with carry bits dropped during additions.\r
-\r
-**/\r
-UINT64\r
-EFIAPI\r
-CalculateSum64 (\r
-  IN      CONST UINT64             *Buffer,\r
-  IN      UINTN                     Length\r
-  )\r
-{\r
-  UINT64    Sum;\r
-  UINTN     Count;\r
-  UINTN     Total;\r
-\r
-  ASSERT (Buffer != NULL);\r
-  ASSERT (((UINTN) Buffer & 0x7) == 0);\r
-  ASSERT ((Length & 0x7) == 0);\r
-  ASSERT (Length <= (MAX_ADDRESS - ((UINTN) Buffer) + 1));\r
-\r
-  Total = Length / sizeof (*Buffer);\r
-  for (Sum = 0, Count = 0; Count < Total; Count++) {\r
-    Sum = Sum + *(Buffer + Count);\r
-  }\r
-  \r
-  return Sum;\r
-}\r
-\r
-\r
-/**\r
-  Returns the two's complement checksum of all elements in a buffer of\r
-  64-bit values.\r
-\r
-  This function first calculates the sum of the 64-bit values in the buffer\r
-  specified by Buffer and Length.  The carry bits in the result of addition\r
-  are dropped. Then, the two's complement of the sum is returned.  If Length\r
-  is 0, then 0 is returned.\r
-\r
-  If Buffer is NULL, then ASSERT().\r
-  If Buffer is not aligned on a 64-bit boundary, then ASSERT().\r
-  If Length is not aligned on a 64-bit boundary, then ASSERT().\r
-  If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().\r
-\r
-  @param  Buffer      The pointer to the buffer to carry out the checksum operation.\r
-  @param  Length      The size, in bytes, of Buffer.\r
-\r
-  @return Checksum    The 2's complement checksum of Buffer.\r
-\r
-**/\r
-UINT64\r
-EFIAPI\r
-CalculateCheckSum64 (\r
-  IN      CONST UINT64             *Buffer,\r
-  IN      UINTN                     Length\r
-  )\r
-{\r
-  UINT64     CheckSum;\r
-\r
-  CheckSum = CalculateSum64 (Buffer, Length);\r
-\r
-  //\r
-  // Return the checksum based on 2's complement.\r
-  //\r
-  return (UINT64) ((UINT64)(-1) - CheckSum + 1);\r
-}\r
-\r
-\r