]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/basic/hexdecoct.h
Add SPDX license identifiers to source files under the LGPL
[thirdparty/systemd.git] / src / basic / hexdecoct.h
CommitLineData
53e1b683 1/* SPDX-License-Identifier: LGPL-2.1+ */
e4e73a63
LP
2#pragma once
3
4/***
5 This file is part of systemd.
6
7 Copyright 2010 Lennart Poettering
8
9 systemd is free software; you can redistribute it and/or modify it
10 under the terms of the GNU Lesser General Public License as published by
11 the Free Software Foundation; either version 2.1 of the License, or
12 (at your option) any later version.
13
14 systemd is distributed in the hope that it will be useful, but
15 WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 Lesser General Public License for more details.
18
19 You should have received a copy of the GNU Lesser General Public License
20 along with systemd; If not, see <http://www.gnu.org/licenses/>.
21***/
22
23#include <stdbool.h>
11c3a366 24#include <stddef.h>
e4e73a63
LP
25#include <stdio.h>
26#include <sys/types.h>
27
28#include "macro.h"
29
30char octchar(int x) _const_;
31int unoctchar(char c) _const_;
32
33char decchar(int x) _const_;
34int undecchar(char c) _const_;
35
36char hexchar(int x) _const_;
37int unhexchar(char c) _const_;
38
39char *hexmem(const void *p, size_t l);
40int unhexmem(const char *p, size_t l, void **mem, size_t *len);
41
42char base32hexchar(int x) _const_;
43int unbase32hexchar(char c) _const_;
44
45char base64char(int x) _const_;
46int unbase64char(char c) _const_;
47
48char *base32hexmem(const void *p, size_t l, bool padding);
49int unbase32hexmem(const char *p, size_t l, bool padding, void **mem, size_t *len);
50
d7671a3e
ZJS
51ssize_t base64mem(const void *p, size_t l, char **out);
52int base64_append(char **prefix, int plen,
53 const void *p, size_t l,
54 int margin, int width);
e4e73a63
LP
55int unbase64mem(const char *p, size_t l, void **mem, size_t *len);
56
57void hexdump(FILE *f, const void *p, size_t s);