1 /*
2 * Copyright (c) 2016 Dmitry V. Levin <ldv@strace.io>
3 * Copyright (c) 1999-2022 The strace developers.
4 * All rights reserved.
5 *
6 * SPDX-License-Identifier: LGPL-2.1-or-later
7 */
8
9 #include "defs.h"
10 #include "xlat/ipccalls.h"
11
12 SYS_FUNC(ipc)
13 {
14 unsigned int call = tcp->u_arg[0];
15 unsigned int version = call >> 16;
16 call &= 0xffff;
17
18 tprint_flags_begin();
19 if (version) {
20 tprint_shift_begin();
21 PRINT_VAL_U(version);
22 tprint_shift();
23 PRINT_VAL_U(16);
24 tprint_shift_end();
25 tprint_flags_or();
26 }
27 printxval_u(ipccalls, call, NULL);
28 tprint_flags_end();
29
30 for (unsigned int i = 1; i < n_args(tcp); ++i) {
31 tprint_arg_next();
32 PRINT_VAL_X(tcp->u_arg[i]);
33 }
34
35 return RVAL_DECODED;
36 }