uboot/include/signatures.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: Intel */
   2/*
   3 * Copyright (C) 2013, Intel Corporation
   4 * Copyright (C) 2014, Bin Meng <bmeng.cn@gmail.com>
   5 */
   6
   7#ifndef __SIGNATURES_H__
   8#define __SIGNATURES_H__
   9
  10/**
  11 * Returns a 16-bit signature built from 2 ASCII characters.
  12 *
  13 * This macro returns a 16-bit value built from the two ASCII characters
  14 * specified by A and B.
  15 *
  16 * @A: The first ASCII character.
  17 * @B: The second ASCII character.
  18 *
  19 * @return: A 16-bit value built from the two ASCII characters specified by
  20 *          A and B.
  21 */
  22#define SIGNATURE_16(A, B)      ((A) | (B << 8))
  23
  24/**
  25 * Returns a 32-bit signature built from 4 ASCII characters.
  26 *
  27 * This macro returns a 32-bit value built from the four ASCII characters
  28 * specified by A, B, C, and D.
  29 *
  30 * @A: The first ASCII character.
  31 * @B: The second ASCII character.
  32 * @C: The third ASCII character.
  33 * @D: The fourth ASCII character.
  34 *
  35 * @return: A 32-bit value built from the two ASCII characters specified by
  36 *          A, B, C and D.
  37 */
  38#define SIGNATURE_32(A, B, C, D)        \
  39        (SIGNATURE_16(A, B) | (SIGNATURE_16(C, D) << 16))
  40
  41/**
  42 * Returns a 64-bit signature built from 8 ASCII characters.
  43 *
  44 * This macro returns a 64-bit value built from the eight ASCII characters
  45 * specified by A, B, C, D, E, F, G,and H.
  46 *
  47 * @A: The first ASCII character.
  48 * @B: The second ASCII character.
  49 * @C: The third ASCII character.
  50 * @D: The fourth ASCII character.
  51 * @E: The fifth ASCII character.
  52 * @F: The sixth ASCII character.
  53 * @G: The seventh ASCII character.
  54 * @H: The eighth ASCII character.
  55 *
  56 * @return: A 64-bit value built from the two ASCII characters specified by
  57 *          A, B, C, D, E, F, G and H.
  58 */
  59#define SIGNATURE_64(A, B, C, D, E, F, G, H)    \
  60        (SIGNATURE_32(A, B, C, D) | ((u64)(SIGNATURE_32(E, F, G, H)) << 32))
  61
  62#endif /* __SIGNATURES_H__ */
  63