]> git.ipfire.org Git - thirdparty/glibc.git/blame - include/setjmp.h
posix/glob.c: update from gnulib
[thirdparty/glibc.git] / include / setjmp.h
CommitLineData
6796bc80 1#ifndef _SETJMP_H
28f540f4 2#include <setjmp/setjmp.h>
bdbf022d 3
31341567 4#ifndef _ISOMAC
bdbf022d
UD
5/* Now define the internal interfaces. */
6
7/* Internal machine-dependent function to restore context sans signal mask. */
aaa8d85c 8extern void __longjmp (__jmp_buf __env, int __val)
661462d5 9 __attribute__ ((__noreturn__)) attribute_hidden;
bdbf022d 10
94e6ba15
L
11extern void ____longjmp_chk (__jmp_buf __env, int __val)
12 __attribute__ ((__noreturn__)) attribute_hidden;
13
bdbf022d
UD
14/* Internal function to possibly save the current mask of blocked signals
15 in ENV, and always set the flag saying whether or not it was saved.
16 This is used by the machine-dependent definition of `__sigsetjmp'.
17 Always returns zero, for convenience. */
aaa8d85c 18extern int __sigjmp_save (jmp_buf __env, int __savemask);
48896b9d
AJ
19
20extern void _longjmp_unwind (jmp_buf env, int val);
21
92d70263 22extern void __libc_siglongjmp (sigjmp_buf env, int val)
1d95b035 23 __attribute__ ((noreturn)) attribute_hidden;
92d70263 24extern void __libc_longjmp (sigjmp_buf env, int val)
1d95b035 25 __attribute__ ((noreturn)) attribute_hidden;
784d802e 26
9b4289aa 27libc_hidden_proto (_setjmp)
cd2fbe58 28libc_hidden_proto (__sigsetjmp)
661462d5 29
3d3316b1 30# if IS_IN (rtld)
661462d5
L
31extern __typeof (__sigsetjmp) __sigsetjmp attribute_hidden;
32# endif
8cb5295d 33
31341567 34#endif
9b4289aa 35
6796bc80 36#endif