1d75efeb7Sdjm /*
2d75efeb7Sdjm * Copyright (c) 2018 Yubico AB. All rights reserved.
3d75efeb7Sdjm * Use of this source code is governed by a BSD-style
4d75efeb7Sdjm * license that can be found in the LICENSE file.
5d75efeb7Sdjm */
6d75efeb7Sdjm
7d75efeb7Sdjm #include "fido.h"
8d75efeb7Sdjm
9d75efeb7Sdjm int
fido_buf_read(const unsigned char ** buf,size_t * len,void * dst,size_t count)10*32a20e26Sdjm fido_buf_read(const unsigned char **buf, size_t *len, void *dst, size_t count)
11d75efeb7Sdjm {
12d75efeb7Sdjm if (count > *len)
13d75efeb7Sdjm return (-1);
14d75efeb7Sdjm
15d75efeb7Sdjm memcpy(dst, *buf, count);
16d75efeb7Sdjm *buf += count;
17d75efeb7Sdjm *len -= count;
18d75efeb7Sdjm
19d75efeb7Sdjm return (0);
20d75efeb7Sdjm }
21d75efeb7Sdjm
22d75efeb7Sdjm int
fido_buf_write(unsigned char ** buf,size_t * len,const void * src,size_t count)23*32a20e26Sdjm fido_buf_write(unsigned char **buf, size_t *len, const void *src, size_t count)
24d75efeb7Sdjm {
25d75efeb7Sdjm if (count > *len)
26d75efeb7Sdjm return (-1);
27d75efeb7Sdjm
28d75efeb7Sdjm memcpy(*buf, src, count);
29d75efeb7Sdjm *buf += count;
30d75efeb7Sdjm *len -= count;
31d75efeb7Sdjm
32d75efeb7Sdjm return (0);
33d75efeb7Sdjm }
34