github.com/afumu/libc@v0.0.6/musl/include/setjmp.h (about)

     1  #ifndef	_SETJMP_H
     2  #define	_SETJMP_H
     3  
     4  #ifdef __cplusplus
     5  extern "C" {
     6  #endif
     7  
     8  #include <features.h>
     9  
    10  #include <bits/setjmp.h>
    11  
    12  typedef struct __jmp_buf_tag {
    13  	__jmp_buf __jb;
    14  	unsigned long __fl;
    15  	unsigned long __ss[128/sizeof(long)];
    16  } jmp_buf[1];
    17  
    18  #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
    19   || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \
    20   || defined(_BSD_SOURCE)
    21  typedef jmp_buf sigjmp_buf;
    22  int sigsetjmp (sigjmp_buf, int);
    23  _Noreturn void siglongjmp (sigjmp_buf, int);
    24  #endif
    25  
    26  #if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \
    27   || defined(_BSD_SOURCE)
    28  int _setjmp (jmp_buf);
    29  _Noreturn void _longjmp (jmp_buf, int);
    30  #endif
    31  
    32  int setjmp (jmp_buf);
    33  _Noreturn void longjmp (jmp_buf, int);
    34  
    35  #define setjmp setjmp
    36  
    37  #ifdef __cplusplus
    38  }
    39  #endif
    40  
    41  #endif