chiark / gitweb /
tree-wide: drop 'This file is part of systemd' blurb
[elogind.git] / src / basic / hexdecoct.h
1 /* SPDX-License-Identifier: LGPL-2.1+ */
2 #pragma once
3
4 /***
5   Copyright 2010 Lennart Poettering
6 ***/
7
8 #include <stdbool.h>
9 #include <stddef.h>
10 #include <stdio.h>
11 #include <sys/types.h>
12
13 #include "macro.h"
14
15 char octchar(int x) _const_;
16 int unoctchar(char c) _const_;
17
18 char decchar(int x) _const_;
19 int undecchar(char c) _const_;
20
21 char hexchar(int x) _const_;
22 int unhexchar(char c) _const_;
23
24 char *hexmem(const void *p, size_t l);
25 int unhexmem(const char *p, size_t l, void **mem, size_t *len);
26
27 char base32hexchar(int x) _const_;
28 int unbase32hexchar(char c) _const_;
29
30 char base64char(int x) _const_;
31 int unbase64char(char c) _const_;
32
33 char *base32hexmem(const void *p, size_t l, bool padding);
34 int unbase32hexmem(const char *p, size_t l, bool padding, void **mem, size_t *len);
35
36 ssize_t base64mem(const void *p, size_t l, char **out);
37 int base64_append(char **prefix, int plen,
38                   const void *p, size_t l,
39                   int margin, int width);
40 int unbase64mem(const char *p, size_t l, void **mem, size_t *len);
41
42 void hexdump(FILE *f, const void *p, size_t s);