about summary refs log tree commit diff stats
path: root/src/include
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2024-12-20 11:04:13 +0100
committerptitSeb <sebastien.chev@gmail.com>2024-12-20 11:04:28 +0100
commite2ce483e0de62484f762e4e85b194fc4f228de44 (patch)
tree67dcb0b27192a6fc0d403bd33ab5a3db06555658 /src/include
parent41b31dc58d035e20b00fbc62977ec67277f2ef34 (diff)
downloadbox64-e2ce483e0de62484f762e4e85b194fc4f228de44.tar.gz
box64-e2ce483e0de62484f762e4e85b194fc4f228de44.zip
[BOX32][WRAPPER] Improved obstack handling
Diffstat (limited to 'src/include')
-rwxr-xr-xsrc/include/myalign32.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/include/myalign32.h b/src/include/myalign32.h
index 9ae11ecb..08b9d3ad 100755
--- a/src/include/myalign32.h
+++ b/src/include/myalign32.h
@@ -626,4 +626,35 @@ typedef	struct my_ns_rr_32_s {
 	ptr_t	      rdata;  //const unsigned char *
 } my_ns_rr_32_t;
 
+struct my_obstack_chunk_32_t
+{
+  ptr_t  limit; //char *
+  ptr_t  prev;  //struct _obstack_chunk *
+  char contents[4];
+};
+
+struct my_obstack_32_t
+{
+  long_t chunk_size;
+  ptr_t  chunk; //struct _obstack_chunk *
+  ptr_t  object_base; //char*
+  ptr_t  next_free; //char*
+  ptr_t  chunk_limit; //char*
+  union
+  {
+    int tempint;
+    ptr_t tempptr;  //void*
+  } temp;
+  int alignment_mask;
+  ptr_t chunkfun; //struct _obstack_chunk *(*chunkfun) (void *, long);
+  ptr_t freefun; //void (*freefun) (void *, struct _obstack_chunk *);
+  ptr_t extra_arg;//void *
+  unsigned use_extra_arg : 1;
+  unsigned maybe_empty_object : 1;
+  unsigned alloc_failed : 1;
+};
+
+void convert_obstack_to_32(void* d, void* s);
+void convert_obstack_to_64(void* d, void* s);
+
 #endif//__MY_ALIGN32__H_
\ No newline at end of file