postgres_extension/
setjmp.rs

1use libc::*;
2
3#[repr(C)]
4pub struct jmp_buf {
5    __jmpbuf: [i64; 8],
6    __mask_was_saved: c_int,
7    __saved_mask: sigset_t,
8}
9
10#[repr(C)]
11pub struct sigjmp_buf {
12    __jmpbuf: [i64; 9],
13    __mask_was_saved: c_int,
14    __saved_mask: sigset_t,
15}
16
17extern "C" {
18    #[link_name="setjmp"]
19    pub fn setjmp(env: *mut jmp_buf) -> c_int;
20    #[link_name="__sigsetjmp"]
21    pub fn sigsetjmp(env: *mut sigjmp_buf, savesigs: c_int) -> c_int;
22    pub fn longjmp(env: *mut jmp_buf, val: c_int) -> c_void;
23    pub fn siglongjmp(env: *mut sigjmp_buf, val: c_int) -> c_void;
24}