Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/include/setjmp.h

    r82fd245 rbc56f30  
    3131 */
    3232
    33 #ifndef LIBC_SETJMP_H_
    34 #define LIBC_SETJMP_H_
    35 
    36 #ifdef __cplusplus
    37 extern "C" {
    38 #endif
     33#ifndef _LIBC_SETJMP_H_
     34#define _LIBC_SETJMP_H_
    3935
    4036#include <libarch/fibril_context.h>
    4137#include <_bits/__noreturn.h>
     38#include <_bits/decls.h>
    4239
    43 typedef context_t jmp_buf[1];
     40__C_DECLS_BEGIN;
    4441
    45 extern int __setjmp(jmp_buf) __attribute__((returns_twice));
    46 extern __noreturn void __longjmp(jmp_buf, int);
     42typedef __context_t jmp_buf[1];
    4743
    48 #define setjmp __setjmp
     44extern int __context_save(__context_t *) __attribute__((returns_twice));
     45extern __noreturn void __context_restore(__context_t *, int);
     46
    4947extern __noreturn void longjmp(jmp_buf, int);
    5048
    51 #ifdef __cplusplus
    52 }
    53 #endif
     49__C_DECLS_END;
     50
     51#define setjmp __context_save
    5452
    5553#endif
Note: See TracChangeset for help on using the changeset viewer.