/* * Copyright (c) 2018-2020, Andreas Kling * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include #include __BEGIN_DECLS struct __jmp_buf { #ifdef __i386__ uint32_t regs[6]; #elif __x86_64__ uint64_t regs[8]; #else # error #endif bool did_save_signal_mask; sigset_t saved_signal_mask; }; typedef struct __jmp_buf jmp_buf[1]; typedef struct __jmp_buf sigjmp_buf[1]; int setjmp(jmp_buf); void longjmp(jmp_buf, int val); int sigsetjmp(sigjmp_buf, int savesigs); void siglongjmp(sigjmp_buf, int val); __END_DECLS