(root)/
strace-6.5/
src/
ipc.c
       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  }