Deleted Added
full compact
ucontext.h (89175) ucontext.h (103408)
1/*-
2 * Copyright (c) 1999 Marcel Moolenaar
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 11 unchanged lines hidden (view full) ---

20 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 *
1/*-
2 * Copyright (c) 1999 Marcel Moolenaar
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 11 unchanged lines hidden (view full) ---

20 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 *
28 * $FreeBSD: head/sys/i386/include/ucontext.h 89175 2002-01-10 02:32:30Z deischen $
28 * $FreeBSD: head/sys/i386/include/ucontext.h 103408 2002-09-16 19:25:41Z mini $
29 */
30
31#ifndef _MACHINE_UCONTEXT_H_
32#define _MACHINE_UCONTEXT_H_
33
34typedef struct __mcontext {
35 /*
36 * The first 20 fields must match the definition of

--- 16 unchanged lines hidden (view full) ---

53 int mc_trapno;
54 int mc_err;
55 int mc_eip;
56 int mc_cs;
57 int mc_eflags;
58 int mc_esp; /* machine state */
59 int mc_ss;
60
29 */
30
31#ifndef _MACHINE_UCONTEXT_H_
32#define _MACHINE_UCONTEXT_H_
33
34typedef struct __mcontext {
35 /*
36 * The first 20 fields must match the definition of

--- 16 unchanged lines hidden (view full) ---

53 int mc_trapno;
54 int mc_err;
55 int mc_eip;
56 int mc_cs;
57 int mc_eflags;
58 int mc_esp; /* machine state */
59 int mc_ss;
60
61 int mc_fpregs[28]; /* env87 + fpacc87 + u_long */
62#define __UC_MC_VALID 0x0001 /* mcontext register state is valid */
63#define __UC_FP_VALID 0x0002 /* FP registers have been saved */
64 int mc_flags;
65 int __spare__[16];
61 int mc_len; /* sizeof(mcontext_t) */
62#define _MC_FPFMT_NODEV 0 /* device not present or configured */
63#define _MC_FPFMT_387 1
64#define _MC_FPFMT_XMM 2
65 int mc_fpformat;
66#define _MC_FPOWNED_NONE 0 /* FP state not used */
67#define _MC_FPOWNED_FPU 1 /* FP state came from FPU */
68#define _MC_FPOWNED_PCB 2 /* FP state came from PCB */
69 int mc_ownedfp;
70 int mc_spare1[1]; /* align next field to 16 bytes */
71 int mc_fpstate[128]; /* must be multiple of 16 bytes */
72 int mc_spare2[8];
66} mcontext_t;
67
73} mcontext_t;
74
75#ifdef _KERNEL
76struct thread;
77
78void get_mcontext(struct thread *td, mcontext_t *mcp);
79int set_mcontext(struct thread *td, const mcontext_t *mcp);
80#endif
81
68#endif /* !_MACHINE_UCONTEXT_H_ */
82#endif /* !_MACHINE_UCONTEXT_H_ */