20#ifndef SIGNAL_SYSCALLS_H
21#define SIGNAL_SYSCALLS_H
22#include "pedigree/kernel/process/Event.h"
23#include "pedigree/kernel/process/SignalEvent.h"
24#include "pedigree/kernel/processor/Processor.h"
25#include "pedigree/kernel/processor/VirtualAddressSpace.h"
26#include "pedigree/kernel/processor/state.h"
34typedef struct sigaltstack stack_t;
36typedef void (*_sig_func_ptr)(int);
44struct LinuxArmv7KernelSigaction;
45int posix_linux_armv7_sigaction(
int sig,
const LinuxArmv7KernelSigaction* act,
46 LinuxArmv7KernelSigaction* oact);
49int posix_sigaction(
int sig,
const struct sigaction* act,
struct sigaction* oact);
50uintptr_t posix_signal(
int sig,
void* func);
51int posix_raise(
int sig);
52int posix_kill(
int pid,
int sig);
53int posix_tkill(
int tid,
int sig,
bool linuxAbi =
false);
54int posix_tgkill(
int tgid,
int tid,
int sig,
bool linuxAbi =
false);
55int posix_sigprocmask(
int how,
const void* set,
void* oset,
size_t sigsetSize,
bool linuxCompat);
56int posix_rt_sigsuspend(
const uint64_t* signalMask,
size_t signalMaskSize);
57int pedigree_unwind_signal();
59int posix_sigaltstack(
const stack_t* stack, stack_t* oldstack);
61void pedigree_init_sigret();
62void pedigree_reset_signals_for_exec(
Thread* thread);
63uintptr_t pedigree_default_signal_handler(
size_t signal);