40 lines · c
1/*2 * SPDX-License-Identifier: GPL-2.03 *4 * Copyright (c) 2008 Intel Corporation5 * 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 615 16static inline long17ascii85_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#endif40