|
|
1.1 root 1: /* (-lgl
2: * COHERENT Version 4.0
3: * Copyright (c) 1983, 1992 by Mark Williams Company.
4: * All rights reserved. May not be copied without permission.
5: -lgl) */
6: /*
7: * setjmp.h
8: * Structure for a setjmp environment.
9: * i8086 SMALL model: saves 3 words (SP, BP, return PC).
10: * i8086 LARGE model: saves 4 words (SP, BP, return PC segment:offset).
11: * i386: saves 6 dwords (EBP, ESP, return PC, ESI, EDI, EBX).
12: */
13:
14: #ifndef __SETJMP_H__
15: #define __SETJMP_H__
16:
17: #include <common/feature.h>
18: #include <common/ccompat.h>
19:
20: #if _SYSV4
21:
22: #define _SIGJBLEN 128
23: #define _JBLEN 10
24:
25: #elif _SYSV3 || _I386
26:
27: #define _SIGJBLEN 8
28: #define _JBLEN 6
29:
30: #else
31:
32: #define _JBLEN 4
33:
34: #endif
35:
36: typedef int jmp_buf [_JBLEN];
37:
38: #if _SIGJBLEN
39: typedef int sigjmp_buf [_SIGJBLEN];
40: #endif
41:
42: __EXTERN_C_BEGIN__
43:
44: int setjmp __PROTO ((jmp_buf _env));
45: __NO_RETURN__ void
46: longjmp __PROTO ((jmp_buf _env, int _val));
47:
48: #if ! _STDC_SOURCE && _SIGJBLEN
49:
50: int sigsetjmp __PROTO ((sigjmp_buf _env, int _savemask));
51: __NO_RETURN__ int
52: siglongjmp __PROTO ((sigjmp_buf _env, int _val));
53:
54: #endif
55:
56: __EXTERN_C_END__
57:
58: #endif /* ! defined (__SETJMP_H__) */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.