xref: /plan9-contrib/sys/include/ape/setjmp.h (revision 3e12c5d1bb89fc02707907988834ef147769ddaf)
1*3e12c5d1SDavid du Colombier #ifndef __SETJMP_H
2*3e12c5d1SDavid du Colombier #define __SETJMP_H
3*3e12c5d1SDavid du Colombier #pragma lib "/$M/lib/ape/libap.a"
4*3e12c5d1SDavid du Colombier 
5*3e12c5d1SDavid du Colombier typedef int jmp_buf[10];
6*3e12c5d1SDavid du Colombier #ifdef _POSIX_SOURCE
7*3e12c5d1SDavid du Colombier typedef int sigjmp_buf[10];
8*3e12c5d1SDavid du Colombier #endif
9*3e12c5d1SDavid du Colombier 
10*3e12c5d1SDavid du Colombier #ifdef __cplusplus
11*3e12c5d1SDavid du Colombier extern "C" {
12*3e12c5d1SDavid du Colombier #endif
13*3e12c5d1SDavid du Colombier 
14*3e12c5d1SDavid du Colombier extern int setjmp(jmp_buf);
15*3e12c5d1SDavid du Colombier extern void longjmp(jmp_buf, int);
16*3e12c5d1SDavid du Colombier 
17*3e12c5d1SDavid du Colombier #ifdef _POSIX_SOURCE
18*3e12c5d1SDavid du Colombier extern int sigsetjmp(sigjmp_buf, int);
19*3e12c5d1SDavid du Colombier extern void siglongjmp(sigjmp_buf, int);
20*3e12c5d1SDavid du Colombier #endif
21*3e12c5d1SDavid du Colombier 
22*3e12c5d1SDavid du Colombier #ifdef __cplusplus
23*3e12c5d1SDavid du Colombier }
24*3e12c5d1SDavid du Colombier #endif
25*3e12c5d1SDavid du Colombier 
26*3e12c5d1SDavid du Colombier #endif /* __SETJMP_H */
27