Branch data Line data Source code
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 : : 15 : : static inline long 16 : 0 : ascii85_encode_len(long len) 17 : : { 18 : 0 : return DIV_ROUND_UP(len, 4); 19 : : } 20 : : 21 : : static inline const char * 22 : 0 : ascii85_encode(u32 in, char *out) 23 : : { 24 : 0 : int i; 25 : : 26 [ # # ]: 0 : if (in == 0) 27 : : return "z"; 28 : : 29 : 0 : out[5] = '\0'; 30 [ # # ]: 0 : for (i = 5; i--; ) { 31 : 0 : out[i] = '!' + in % 85; 32 : 0 : in /= 85; 33 : : } 34 : : 35 : : return out; 36 : : } 37 : : 38 : : #endif