diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2024-12-20 11:04:13 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2024-12-20 11:04:28 +0100 |
| commit | e2ce483e0de62484f762e4e85b194fc4f228de44 (patch) | |
| tree | 67dcb0b27192a6fc0d403bd33ab5a3db06555658 /src/include | |
| parent | 41b31dc58d035e20b00fbc62977ec67277f2ef34 (diff) | |
| download | box64-e2ce483e0de62484f762e4e85b194fc4f228de44.tar.gz box64-e2ce483e0de62484f762e4e85b194fc4f228de44.zip | |
[BOX32][WRAPPER] Improved obstack handling
Diffstat (limited to 'src/include')
| -rwxr-xr-x | src/include/myalign32.h | 31 |
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 |