1 /*
2 * Copyright (c) 2018-2021 The strace developers.
3 * All rights reserved.
4 *
5 * SPDX-License-Identifier: LGPL-2.1-or-later
6 */
7
8 #include "defs.h"
9
10 #include DEF_MPERS_TYPE(struct_sigset_addr_size)
11
12 typedef struct {
13 sigset_t *sigmask;
14 size_t sigsetsize;
15 } struct_sigset_addr_size;
16
17 #include MPERS_DEFS
18
19 MPERS_PRINTER_DECL(void, print_kernel_sigset, struct tcb *tcp,
20 const kernel_ulong_t addr)
21 {
22 struct_sigset_addr_size sas;
23
24 if (!umove_or_printaddr(tcp, addr, &sas)) {
25 tprint_struct_begin();
26 tprints_field_name("sigmask");
27 print_sigset_addr_len(tcp, (uintptr_t) sas.sigmask,
28 sas.sigsetsize);
29 tprint_struct_next();
30 PRINT_FIELD_U(sas, sigsetsize);
31 tprint_struct_end();
32 }
33 }