Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/contrib/libfido2/src/blob.h
39536 views
1
/*
2
* Copyright (c) 2018 Yubico AB. All rights reserved.
3
* Use of this source code is governed by a BSD-style
4
* license that can be found in the LICENSE file.
5
* SPDX-License-Identifier: BSD-2-Clause
6
*/
7
8
#ifndef _BLOB_H
9
#define _BLOB_H
10
11
#include <cbor.h>
12
#include <stdlib.h>
13
14
#ifdef __cplusplus
15
extern "C" {
16
#endif /* __cplusplus */
17
18
typedef struct fido_blob {
19
unsigned char *ptr;
20
size_t len;
21
} fido_blob_t;
22
23
typedef struct fido_blob_array {
24
fido_blob_t *ptr;
25
size_t len;
26
} fido_blob_array_t;
27
28
cbor_item_t *fido_blob_encode(const fido_blob_t *);
29
fido_blob_t *fido_blob_new(void);
30
int fido_blob_decode(const cbor_item_t *, fido_blob_t *);
31
int fido_blob_is_empty(const fido_blob_t *);
32
int fido_blob_set(fido_blob_t *, const u_char *, size_t);
33
int fido_blob_append(fido_blob_t *, const u_char *, size_t);
34
void fido_blob_free(fido_blob_t **);
35
void fido_blob_reset(fido_blob_t *);
36
void fido_free_blob_array(fido_blob_array_t *);
37
38
#ifdef __cplusplus
39
} /* extern "C" */
40
#endif /* __cplusplus */
41
42
#endif /* !_BLOB_H */
43
44