Deleted Added
full compact
ucontext.h (104460) ucontext.h (105950)
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/amd64/include/ucontext.h 104460 2002-10-04 14:50:55Z deischen $
28 * $FreeBSD: head/sys/amd64/include/ucontext.h 105950 2002-10-25 19:10:58Z peter $
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

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

68#define _MC_FPOWNED_PCB 0x20002 /* 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];
73} mcontext_t;
74
75#ifdef _KERNEL
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

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

68#define _MC_FPOWNED_PCB 0x20002 /* 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];
73} mcontext_t;
74
75#ifdef _KERNEL
76#ifdef COMPAT_FREEBSD4
77/* For 4.x binaries */
78struct mcontext4 {
79 int mc_onstack; /* XXX - sigcontext compat. */
80 int mc_gs;
81 int mc_fs;
82 int mc_es;
83 int mc_ds;
84 int mc_edi;
85 int mc_esi;
86 int mc_ebp;
87 int mc_isp;
88 int mc_ebx;
89 int mc_edx;
90 int mc_ecx;
91 int mc_eax;
92 int mc_trapno;
93 int mc_err;
94 int mc_eip;
95 int mc_cs;
96 int mc_eflags;
97 int mc_esp; /* machine state */
98 int mc_ss;
99 int mc_fpregs[28]; /* env87 + fpacc87 + u_long */
100 int __spare__[17];
101};
102#endif
103
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
82#endif /* !_MACHINE_UCONTEXT_H_ */
104struct thread;
105
106void get_mcontext(struct thread *td, mcontext_t *mcp);
107int set_mcontext(struct thread *td, const mcontext_t *mcp);
108#endif
109
110#endif /* !_MACHINE_UCONTEXT_H_ */