(root)/
strace-6.5/
src/
sysctl.c
       1  /*
       2   * Copyright (c) 2022 Dmitry V. Levin <ldv@strace.io>
       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_sysctl_args)
      11  #include <linux/sysctl.h>
      12  typedef struct __sysctl_args struct_sysctl_args;
      13  #include MPERS_DEFS
      14  
      15  SYS_FUNC(sysctl)
      16  {
      17  	struct_sysctl_args info;
      18  
      19  	if (umove_or_printaddr(tcp, tcp->u_arg[0], &info))
      20  		return RVAL_DECODED;
      21  
      22  	tprint_struct_begin();
      23  	PRINT_FIELD_PTR(info, name);
      24  	tprint_struct_next();
      25  	PRINT_FIELD_D(info, nlen);
      26  	tprint_struct_next();
      27  	PRINT_FIELD_PTR(info, oldval);
      28  	tprint_struct_next();
      29  	PRINT_FIELD_PTR(info, oldlenp);
      30  	tprint_struct_next();
      31  	PRINT_FIELD_PTR(info, newval);
      32  	tprint_struct_next();
      33  	PRINT_FIELD_U(info, newlen);
      34  	tprint_struct_end();
      35  
      36  	return RVAL_DECODED;
      37  }