diff --git a/include/slibtool/slibtool_arbits.h b/include/slibtool/slibtool_arbits.h
index 9a5ab4d..7c953be 100644
--- a/include/slibtool/slibtool_arbits.h
+++ b/include/slibtool/slibtool_arbits.h
@@ -118,6 +118,7 @@ struct ar_meta_file_header {
 
 struct ar_meta_member_info {
 	struct ar_meta_file_header      ar_file_header;
+	struct ar_raw_file_header *     ar_member_data;
 	uint32_t                        ar_member_attr;
 	uint32_t                        ar_object_attr;
 	uint64_t                        ar_object_size;
diff --git a/src/arbits/slbt_archive_meta.c b/src/arbits/slbt_archive_meta.c
index a0b5f24..ba6e273 100644
--- a/src/arbits/slbt_archive_meta.c
+++ b/src/arbits/slbt_archive_meta.c
@@ -1068,7 +1068,7 @@ int slbt_get_archive_meta(
 			longnamep++;
 		}
 
-		/* object size, object data */
+		/* member raw header, object size, object data */
 		mark    = arhdr->ar_file_id;
 		mark   += sizeof(*arhdr);
 		namelen = 0;
@@ -1086,6 +1086,7 @@ int slbt_get_archive_meta(
 			mark += namelen;
 		};
 
+		memberp->ar_member_data = arhdr;
 		memberp->ar_object_data = (void *)mark;
 		memberp->ar_object_size = memberp->ar_file_header.ar_file_size - namelen;