summaryrefslogtreecommitdiffstats
path: root/src/basic/securebits-util.h
blob: 743dbfe561f079a9ac066e099cf010ce14e2ec21 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/* SPDX-License-Identifier: LGPL-2.1+ */
#pragma once

/***
  Copyright © 2017 Yu Watanabe
***/

#include "securebits.h"

int secure_bits_to_string_alloc(int i, char **s);
int secure_bits_from_string(const char *s);

static inline bool secure_bits_is_valid(int i) {
        return ((SECURE_ALL_BITS | SECURE_ALL_LOCKS) & i) == i;
}

static inline int secure_bits_to_string_alloc_with_check(int n, char **s) {
        if (!secure_bits_is_valid(n))
                return -EINVAL;

        return secure_bits_to_string_alloc(n, s);
}