cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

ascii85.h (555B)


      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/math.h>
     12#include <linux/types.h>
     13
     14#define ASCII85_BUFSZ 6
     15
     16static inline long
     17ascii85_encode_len(long len)
     18{
     19	return DIV_ROUND_UP(len, 4);
     20}
     21
     22static inline const char *
     23ascii85_encode(u32 in, char *out)
     24{
     25	int i;
     26
     27	if (in == 0)
     28		return "z";
     29
     30	out[5] = '\0';
     31	for (i = 5; i--; ) {
     32		out[i] = '!' + in % 85;
     33		in /= 85;
     34	}
     35
     36	return out;
     37}
     38
     39#endif