xref: /aosp_15_r20/external/coreboot/util/cbfstool/cbfs_glue.h (revision b9411a12aaaa7e1e6a6fb7c5e057f44ee179a49c)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #ifndef _CBFS_GLUE_H_
4 #define _CBFS_GLUE_H_
5 
6 #include "cbfs_image.h"
7 
8 #define CBFS_ENABLE_HASHING 1
9 #define CBFS_HASH_HWCRYPTO 0
10 
11 typedef const struct cbfs_image *cbfs_dev_t;
12 
cbfs_dev_read(cbfs_dev_t dev,void * buffer,size_t offset,size_t size)13 static inline ssize_t cbfs_dev_read(cbfs_dev_t dev, void *buffer, size_t offset, size_t size)
14 {
15 	if (buffer_size(&dev->buffer) < offset ||
16 	    buffer_size(&dev->buffer) - offset < size)
17 		return -1;
18 
19 	memcpy(buffer, buffer_get(&dev->buffer) + offset, size);
20 	return size;
21 }
22 
cbfs_dev_size(cbfs_dev_t dev)23 static inline size_t cbfs_dev_size(cbfs_dev_t dev)
24 {
25 	return buffer_size(&dev->buffer);
26 }
27 
28 #endif	/* _CBFS_GLUE_H_ */
29