From 6d6739ccea802354cdba614190d1e87ab8ed0072 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Sat, 31 Aug 2024 11:39:55 +0200 Subject: [BOX32] More 32bits wrapped functions --- src/include/myalign32.h | 7 +++++++ src/include/signals.h | 23 +++++++++++++++++++++++ 2 files changed, 30 insertions(+) (limited to 'src/include') diff --git a/src/include/myalign32.h b/src/include/myalign32.h index 7e9c3a6c..2638bf5d 100755 --- a/src/include/myalign32.h +++ b/src/include/myalign32.h @@ -439,5 +439,12 @@ struct i386_addrinfo ptr_t ai_next; // struct addrinfo * } __attribute__((packed)); +struct i386_hostent { + ptr_t h_name; // char * + ptr_t h_aliases; // char ** + int h_addrtype; + int h_length; + ptr_t h_addr_list;// char ** +} __attribute__((packed)); #endif//__MY_ALIGN32__H_ \ No newline at end of file diff --git a/src/include/signals.h b/src/include/signals.h index deda21f7..71d6dafc 100644 --- a/src/include/signals.h +++ b/src/include/signals.h @@ -24,6 +24,29 @@ typedef struct x64_sigaction_restorer_s { sigset_t sa_mask; } x64_sigaction_restorer_t; +#ifdef BOX32 +typedef struct i386_sigaction_s { + union { + ptr_t _sa_handler; // sighandler_t + ptr_t _sa_sigaction; //void (*_sa_sigaction)(int, siginfo_t *, void *); + } _u; + sigset_t sa_mask; + uint32_t sa_flags; + ptr_t sa_restorer; //void (*sa_restorer)(void); +} i386_sigaction_t; + +typedef struct i386_sigaction_restorer_s { + union { + ptr_t _sa_handler; //sighandler_t + ptr_t _sa_sigaction; //void (*_sa_sigaction)(int, siginfo_t *, void *); + } _u; + uint32_t sa_flags; + ptr_t sa_restorer; //void (*sa_restorer)(void); + sigset_t sa_mask; +} i386_sigaction_restorer_t; + +#endif + sighandler_t my_signal(x64emu_t* emu, int signum, sighandler_t handler); sighandler_t my___sysv_signal(x64emu_t* emu, int signum, sighandler_t handler); sighandler_t my_sysv_signal(x64emu_t* emu, int signum, sighandler_t handler); -- cgit 1.4.1