linux.h (d5dc757e84d8dc1db987f3a17052e32621d6ea87) | linux.h (ba279bcd6d75aa236bcb9ccf11aeb6f51a2f8514) |
---|---|
1/*- 2 * SPDX-License-Identifier: BSD-3-Clause 3 * 4 * Copyright (c) 2004 Tim J. Robbins 5 * Copyright (c) 2001 Doug Rabson 6 * Copyright (c) 1994-1996 Søren Schmidt 7 * All rights reserved. 8 * --- 415 unchanged lines hidden (view full) --- 424 struct l_fpxreg _fxsr_st[8]; /* reg data is ignored. */ 425 struct l_xmmreg _xmm[8]; 426 u_int32_t padding[56]; 427}; 428 429/* 430 * We make the stack look like Linux expects it when calling a signal 431 * handler, but use the BSD way of calling the handler and sigreturn(). | 1/*- 2 * SPDX-License-Identifier: BSD-3-Clause 3 * 4 * Copyright (c) 2004 Tim J. Robbins 5 * Copyright (c) 2001 Doug Rabson 6 * Copyright (c) 1994-1996 Søren Schmidt 7 * All rights reserved. 8 * --- 415 unchanged lines hidden (view full) --- 424 struct l_fpxreg _fxsr_st[8]; /* reg data is ignored. */ 425 struct l_xmmreg _xmm[8]; 426 u_int32_t padding[56]; 427}; 428 429/* 430 * We make the stack look like Linux expects it when calling a signal 431 * handler, but use the BSD way of calling the handler and sigreturn(). |
432 * This means that we need to pass the pointer to the handler too. 433 * It is appended to the frame to not interfere with the rest of it. | |
434 */ 435struct l_sigframe { 436 l_int sf_sig; 437 struct l_sigcontext sf_sc; 438 struct l_fpstate sf_fpstate; 439 l_uint sf_extramask[1]; | 432 */ 433struct l_sigframe { 434 l_int sf_sig; 435 struct l_sigcontext sf_sc; 436 struct l_fpstate sf_fpstate; 437 l_uint sf_extramask[1]; |
440 l_handler_t sf_handler; | |
441}; 442 443struct l_rt_sigframe { 444 l_int sf_sig; 445 l_uintptr_t sf_siginfo; 446 l_uintptr_t sf_ucontext; 447 l_siginfo_t sf_si; 448 struct l_ucontext sf_sc; | 438}; 439 440struct l_rt_sigframe { 441 l_int sf_sig; 442 l_uintptr_t sf_siginfo; 443 l_uintptr_t sf_ucontext; 444 l_siginfo_t sf_si; 445 struct l_ucontext sf_sc; |
449 l_handler_t sf_handler; | |
450} __packed; 451 452/* 453 * arch specific open/fcntl flags 454 */ 455#define LINUX_F_GETLK64 12 456#define LINUX_F_SETLK64 13 457#define LINUX_F_SETLKW64 14 --- 185 unchanged lines hidden --- | 446} __packed; 447 448/* 449 * arch specific open/fcntl flags 450 */ 451#define LINUX_F_GETLK64 12 452#define LINUX_F_SETLK64 13 453#define LINUX_F_SETLKW64 14 --- 185 unchanged lines hidden --- |