linux/include/linux/ascii85.h
<<
>>
Prefs
   1/*
   2 * SPDX-License-Identifier: GPL-2.0
   3 *
   4 * Copyright (c) 2008 Intel Corporation
   5 * Copyright (c) 2018 The Linux Foundation. All rights reserved.
   6 */
   7
   8#ifndef _ASCII85_H_
   9#define _ASCII85_H_
  10
  11#include <linux/kernel.h>
  12
  13#define ASCII85_BUFSZ 6
  14
  15static inline long
  16ascii85_encode_len(long len)
  17{
  18        return DIV_ROUND_UP(len, 4);
  19}
  20
  21static inline const char *
  22ascii85_encode(u32 in, char *out)
  23{
  24        int i;
  25
  26        if (in == 0)
  27                return "z";
  28
  29        out[5] = '\0';
  30        for (i = 5; i--; ) {
  31                out[i] = '!' + in % 85;
  32                in /= 85;
  33        }
  34
  35        return out;
  36}
  37
  38#endif
  39