Numworks Epsilon
1.4.1
Graphing Calculator Operating System
setjmp.h
Go to the documentation of this file.
1
#ifndef LIBA_SETJMP_H
2
#define LIBA_SETJMP_H
3
4
#include "
private/macros.h
"
5
6
/* We are preseving registers:
7
* - sp & lr -> 2x4 bytes
8
* - General purpose registers: r4-r9, r10 = sl, r11 = fp -> 8x4 bytes
9
* - Floating point registers: s16-s31 -> 8x8 bytes
10
* - VFP status register: fpscr ->1x4 bytes
11
* The buffer size has to include room for setjmp implementation: 4x4 bytes.
12
* (See C Library ABI for the ARM architecture documentation)
13
* The minimum buffer size is then (2+8+16+1+4)xsizeof(int64_t). */
14
15
LIBA_BEGIN_DECLS
16
17
typedef
int
jmp_buf
[31];
18
void
longjmp
(
jmp_buf
env,
int
val);
19
int
setjmp
(
jmp_buf
env);
20
21
LIBA_END_DECLS
22
23
#endif
LIBA_BEGIN_DECLS
#define LIBA_BEGIN_DECLS
Definition:
macros.h:8
setjmp
int setjmp(jmp_buf env)
jmp_buf
LIBA_BEGIN_DECLS typedef int jmp_buf[31]
Definition:
setjmp.h:17
macros.h
longjmp
void longjmp(jmp_buf env, int val)
LIBA_END_DECLS
#define LIBA_END_DECLS
Definition:
macros.h:9
epsilon
liba
include
setjmp.h
Generated by
1.8.14