iPXE
arch
i386
include
setjmp.h
Go to the documentation of this file.
1
#ifndef _SETJMP_H
2
#define _SETJMP_H
3
4
FILE_LICENCE
( GPL2_OR_LATER_OR_UBDL );
5
6
#include <
stdint.h
>
7
8
/** A jump buffer */
9
typedef
struct
{
10
/** Saved return address */
11
uint32_t
retaddr
;
12
/** Saved stack pointer */
13
uint32_t
stack
;
14
/** Saved %ebx */
15
uint32_t
ebx
;
16
/** Saved %esi */
17
uint32_t
esi
;
18
/** Saved %edi */
19
uint32_t
edi
;
20
/** Saved %ebp */
21
uint32_t
ebp
;
22
}
jmp_buf
[1];
23
24
extern
int
__asmcall
__attribute__
(( returns_twice ))
25
setjmp (
jmp_buf
env );
26
27
extern
void
__asmcall
__attribute__
(( noreturn ))
28
longjmp (
jmp_buf
env,
int
val
);
29
30
#endif
/* _SETJMP_H */
jmp_buf::stack
uint32_t stack
Saved stack pointer.
Definition:
setjmp.h:13
jmp_buf
A jump buffer.
Definition:
setjmp.h:9
__asmcall
#define __asmcall
Declare a function with standard calling conventions.
Definition:
compiler.h:15
jmp_buf::ebp
uint32_t ebp
Saved ebp.
Definition:
setjmp.h:21
FILE_LICENCE
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
jmp_buf::ebx
uint32_t ebx
Saved ebx.
Definition:
setjmp.h:15
uint32_t
unsigned int uint32_t
Definition:
stdint.h:12
val
void __asmcall int val
Definition:
setjmp.h:28
__attribute__
int __asmcall __attribute__((returns_twice)) setjmp(jmp_buf env)
jmp_buf::esi
uint32_t esi
Saved esi.
Definition:
setjmp.h:17
stdint.h
jmp_buf::retaddr
uint32_t retaddr
Saved return address.
Definition:
setjmp.h:11
jmp_buf::edi
uint32_t edi
Saved edi.
Definition:
setjmp.h:19
Generated by
1.8.15