(root)/
strace-6.5/
src/
print_msgbuf.c
       1  /*
       2   * Copyright (c) 1993 Ulrich Pegelow <pegelow@moorea.uni-muenster.de>
       3   * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
       4   * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
       5   * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
       6   * Copyright (c) 2003-2006 Roland McGrath <roland@redhat.com>
       7   * Copyright (c) 2006-2015 Dmitry V. Levin <ldv@strace.io>
       8   * Copyright (c) 2015-2021 The strace developers.
       9   * All rights reserved.
      10   *
      11   * SPDX-License-Identifier: LGPL-2.1-or-later
      12   */
      13  
      14  #include "defs.h"
      15  #include "ipc_defs.h"
      16  
      17  #include MSG_H_PROVIDER
      18  
      19  #include DEF_MPERS_TYPE(msgbuf_t)
      20  typedef struct msgbuf msgbuf_t;
      21  #include MPERS_DEFS
      22  
      23  MPERS_PRINTER_DECL(void, tprint_msgbuf, struct tcb *const tcp,
      24  		   const kernel_ulong_t addr, const kernel_ulong_t count)
      25  {
      26  	msgbuf_t msg;
      27  
      28  	if (!umove_or_printaddr(tcp, addr, &msg)) {
      29  		tprint_struct_begin();
      30  		PRINT_FIELD_D(msg, mtype);
      31  		tprint_struct_next();
      32  		tprints_field_name("mtext");
      33  		printstrn(tcp, addr + sizeof(msg.mtype), count);
      34  		tprint_struct_end();
      35  	}
      36  }