diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2024-08-31 11:39:55 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2024-08-31 11:39:55 +0200 |
| commit | 6d6739ccea802354cdba614190d1e87ab8ed0072 (patch) | |
| tree | 45ed795f5ff61af9a4fbbc9c335e2c5c7340f635 /src/include/signals.h | |
| parent | d2511e66fbf2be2d633a7a97687a2f102d10ffe7 (diff) | |
| download | box64-6d6739ccea802354cdba614190d1e87ab8ed0072.tar.gz box64-6d6739ccea802354cdba614190d1e87ab8ed0072.zip | |
[BOX32] More 32bits wrapped functions
Diffstat (limited to 'src/include/signals.h')
| -rw-r--r-- | src/include/signals.h | 23 |
1 files changed, 23 insertions, 0 deletions
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); |