libfvalue/0001-Export-libfvalue_value_get_entry.patch

93 lines
3.4 KiB
Diff

From 9829f2df776a28ac373a3235030123bcd902a06f Mon Sep 17 00:00:00 2001
From: Jan Engelhardt <jengelh@inai.de>
Date: Sat, 2 Nov 2024 16:36:19 +0100
Subject: [PATCH] Export libfvalue_value_get_entry
References: https://github.com/libyal/libfvalue/issues/6
References: https://github.com/libyal/libfvalue/pull/7
libesedb_multi_value.c:338:13: error: implicit declaration of function 'libfvalue_value_get_entry'; did you mean 'libfvalue_value_get_data'? [-Wimplicit-function-declaration]
libesedb_multi_value.c:385:13: error: implicit declaration of function 'libfvalue_value_copy_entry_data'; did you mean 'libfvalue_value_set_entry_data'? [-Wimplicit-function-declaration]
libesedb_record.c:3813:29: error: implicit declaration of function 'libfvalue_value_append_entry'; did you mean 'libfvalue_value_append_entry_data'? [-Wimplicit-function-declaration]
libesedb_value_data_handle.c:175:29: error: implicit declaration of function 'libfvalue_data_handle_append_value_entry'; did you mean 'libfvalue_data_handle_append_value_entry_data'? [-Wimplicit-function-declaration]
``libfvalue_value_get_entry`` et al is used externally, by libesedb.
Hence, it needs to be exported for DLLs to work correctly. This patch
corrects that problem.
---
include/libfvalue.h.in | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
Index: libfvalue-20240415/include/libfvalue.h.in
===================================================================
--- libfvalue-20240415.orig/include/libfvalue.h.in
+++ libfvalue-20240415/include/libfvalue.h.in
@@ -28,6 +28,7 @@
#include <libfvalue/extern.h>
#include <libfvalue/features.h>
#include <libfvalue/types.h>
+#include <libcerror/types.h>
#include <stdio.h>
@@ -210,6 +211,14 @@ int libfvalue_data_handle_set_value_entr
int encoding,
libfvalue_error_t **error );
+LIBFVALUE_EXTERN \
+int libfvalue_data_handle_append_value_entry(
+ libfvalue_data_handle_t *data_handle,
+ int *value_entry_index,
+ size_t value_entry_offset,
+ size_t value_entry_size,
+ libcerror_error_t **error );
+
/* Appends a value entry
* Returns if successful or -1 on error
*/
@@ -943,6 +952,14 @@ int libfvalue_value_get_number_of_value_
int *number_of_value_entries,
libfvalue_error_t **error );
+LIBFVALUE_EXTERN \
+int libfvalue_value_get_entry(
+ libfvalue_value_t *value,
+ int value_entry_index,
+ size_t *entry_data_offset,
+ size_t *entry_data_size,
+ libcerror_error_t **error );
+
/* Retrieves the entry data
* Returns 1 if successful, 0 if the value has no data or -1 on error
*/
@@ -967,6 +984,14 @@ int libfvalue_value_set_entry_data(
int encoding,
libfvalue_error_t **error );
+LIBFVALUE_EXTERN \
+int libfvalue_value_append_entry(
+ libfvalue_value_t *value,
+ int *value_entry_index,
+ size_t entry_data_offset,
+ size_t entry_data_size,
+ libcerror_error_t **error );
+
/* Appends the entry data
* Returns 1 if successful or -1 on error
*/
@@ -979,6 +1004,15 @@ int libfvalue_value_append_entry_data(
int encoding,
libfvalue_error_t **error );
+LIBFVALUE_EXTERN \
+int libfvalue_value_copy_entry_data(
+ libfvalue_value_t *value,
+ int value_entry_index,
+ uint8_t *entry_data,
+ size_t entry_data_size,
+ int *encoding,
+ libcerror_error_t **error );
+
/* Copies the value data from a boolean value
* Returns 1 if successful, 0 if value could not be set or -1 on error
*/