summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/reader/pe_read_aux_rec_weaksym.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/reader/pe_read_aux_rec_weaksym.c b/src/reader/pe_read_aux_rec_weaksym.c
new file mode 100644
index 0000000..b02c44c
--- /dev/null
+++ b/src/reader/pe_read_aux_rec_weaksym.c
@@ -0,0 +1,28 @@
+/***************************************************************/
+/* perk: PE Resource Kit */
+/* Copyright (C) 2015--2025 SysDeer Technologies, LLC */
+/* Released under GPLv2 and GPLv3; see COPYING.PERK. */
+/***************************************************************/
+
+#include <perk/perk.h>
+#include <perk/perk_consts.h>
+#include <perk/perk_structs.h>
+#include "perk_endian_impl.h"
+#include "perk_reader_impl.h"
+
+int pe_read_aux_rec_weaksym(
+ const struct pe_raw_coff_symbol * p,
+ struct pe_meta_aux_rec_weaksym * m,
+ int idx)
+{
+ const void * addr;
+ const struct pe_raw_aux_rec_weaksym * arec;
+
+ addr = &p[++idx];
+ arec = (struct pe_raw_aux_rec_weaksym *)addr;
+
+ m->aux_tag_index = pe_read_long(arec->aux_tag_index);
+ m->aux_characteristics = pe_read_long(arec->aux_characteristics);
+
+ return 0;
+}