(root)/
strace-6.5/
src/
gen/
gen_hdio.c
       1  /* Generated by ./maint/gen/generate.sh from ./maint/gen/defs/hdio.def; do not edit. */
       2  
       3  #include <stddef.h>
       4  #include "generated.h"
       5  
       6  typedef kernel_ulong_t kernel_size_t;
       7  
       8  #include <linux/hdreg.h>
       9  #include "xlat/hdio_ide_nice.h"
      10  #include "xlat/hdio_busstates.h"
      11  static int
      12  var_leaf_ioctl_HDIO_DRIVE_RESET(struct tcb *tcp, unsigned int code, kernel_ulong_t arg)
      13  {
      14  	tprint_arg_next();
      15  	/* arg: arg (array *) */
      16  	/* using decoder from defs/common.def:44:1 */
      17  
      18  	{
      19  		uint32_t int_buffer;
      20  		print_array(tcp, (arg), (3), &int_buffer, sizeof(int_buffer),
      21  			    tfetch_mem, print_xint_array_member, 0);
      22  	}
      23  
      24  	return RVAL_IOCTL_DECODED;
      25  }
      26  static int
      27  var_leaf_ioctl_HDIO_GET_32BIT(struct tcb *tcp, unsigned int code, kernel_ulong_t arg)
      28  {
      29  	if (entering(tcp)) {
      30  		tprint_arg_next();
      31  		return 0;
      32  	}
      33  	/* arg: arg (kernel_ulong_t *) */
      34  	kernel_ulong_t tmpvar_arg;
      35  	if (!umove_or_printaddr(tcp, arg, &tmpvar_arg)) {
      36  		tprint_indirect_begin();
      37  		PRINT_VAL_U((kernel_ulong_t) tmpvar_arg);
      38  		tprint_indirect_end();
      39  	}
      40  
      41  	return RVAL_IOCTL_DECODED;
      42  }
      43  static int
      44  var_leaf_ioctl_HDIO_GET_ACOUSTIC(struct tcb *tcp, unsigned int code, kernel_ulong_t arg)
      45  {
      46  	if (entering(tcp)) {
      47  		tprint_arg_next();
      48  		return 0;
      49  	}
      50  	/* arg: arg (kernel_ulong_t *) */
      51  	kernel_ulong_t tmpvar_arg;
      52  	if (!umove_or_printaddr(tcp, arg, &tmpvar_arg)) {
      53  		tprint_indirect_begin();
      54  		PRINT_VAL_U((kernel_ulong_t) tmpvar_arg);
      55  		tprint_indirect_end();
      56  	}
      57  
      58  	return RVAL_IOCTL_DECODED;
      59  }
      60  static int
      61  var_leaf_ioctl_HDIO_GET_ADDRESS(struct tcb *tcp, unsigned int code, kernel_ulong_t arg)
      62  {
      63  	if (entering(tcp)) {
      64  		tprint_arg_next();
      65  		return 0;
      66  	}
      67  	/* arg: arg (kernel_ulong_t *) */
      68  	kernel_ulong_t tmpvar_arg;
      69  	if (!umove_or_printaddr(tcp, arg, &tmpvar_arg)) {
      70  		tprint_indirect_begin();
      71  		PRINT_VAL_U((kernel_ulong_t) tmpvar_arg);
      72  		tprint_indirect_end();
      73  	}
      74  
      75  	return RVAL_IOCTL_DECODED;
      76  }
      77  static int
      78  var_leaf_ioctl_HDIO_GET_BUSSTATE(struct tcb *tcp, unsigned int code, kernel_ulong_t arg)
      79  {
      80  	if (entering(tcp)) {
      81  		tprint_arg_next();
      82  		return 0;
      83  	}
      84  	/* arg: arg (kernel_ulong_t *) */
      85  	kernel_ulong_t tmpvar_arg;
      86  	if (!umove_or_printaddr(tcp, arg, &tmpvar_arg)) {
      87  		tprint_indirect_begin();
      88  		printxval64(hdio_busstates, zero_extend_signed_to_ull(tmpvar_arg), "BUSSTATE_???");
      89  		tprint_indirect_end();
      90  	}
      91  
      92  	return RVAL_IOCTL_DECODED;
      93  }
      94  static int
      95  var_leaf_ioctl_HDIO_GET_DMA(struct tcb *tcp, unsigned int code, kernel_ulong_t arg)
      96  {
      97  	if (entering(tcp)) {
      98  		tprint_arg_next();
      99  		return 0;
     100  	}
     101  	/* arg: arg (kernel_ulong_t *) */
     102  	kernel_ulong_t tmpvar_arg;
     103  	if (!umove_or_printaddr(tcp, arg, &tmpvar_arg)) {
     104  		tprint_indirect_begin();
     105  		PRINT_VAL_U((kernel_ulong_t) tmpvar_arg);
     106  		tprint_indirect_end();
     107  	}
     108  
     109  	return RVAL_IOCTL_DECODED;
     110  }
     111  static int
     112  var_leaf_ioctl_HDIO_GET_IDENTITY(struct tcb *tcp, unsigned int code, kernel_ulong_t arg)
     113  {
     114  	if (entering(tcp)) {
     115  		tprint_arg_next();
     116  		return 0;
     117  	}
     118  	/* arg: identity (stringnoz *) */
     119  	/* using decoder from defs/common.def:13:1 */
     120  
     121  	if (entering(tcp)) {
     122  		printstrn(tcp, (arg), (512));
     123  	} else if (syserror(tcp)) {
     124  		printaddr((arg));
     125  	} else {
     126  		printstrn(tcp, (arg), (512));
     127  	}
     128  
     129  	return RVAL_IOCTL_DECODED;
     130  }
     131  static int
     132  var_leaf_ioctl_HDIO_GET_KEEPSETTINGS(struct tcb *tcp, unsigned int code, kernel_ulong_t arg)
     133  {
     134  	if (entering(tcp)) {
     135  		tprint_arg_next();
     136  		return 0;
     137  	}
     138  	/* arg: keep_settings (kernel_ulong_t *) */
     139  	kernel_ulong_t tmpvar_keep_settings;
     140  	if (!umove_or_printaddr(tcp, arg, &tmpvar_keep_settings)) {
     141  		tprint_indirect_begin();
     142  		PRINT_VAL_U((kernel_ulong_t) tmpvar_keep_settings);
     143  		tprint_indirect_end();
     144  	}
     145  
     146  	return RVAL_IOCTL_DECODED;
     147  }
     148  static int
     149  var_leaf_ioctl_HDIO_GET_MULTCOUNT(struct tcb *tcp, unsigned int code, kernel_ulong_t arg)
     150  {
     151  	if (entering(tcp)) {
     152  		tprint_arg_next();
     153  		return 0;
     154  	}
     155  	/* arg: multcount (kernel_ulong_t *) */
     156  	kernel_ulong_t tmpvar_multcount;
     157  	if (!umove_or_printaddr(tcp, arg, &tmpvar_multcount)) {
     158  		tprint_indirect_begin();
     159  		PRINT_VAL_U((kernel_ulong_t) tmpvar_multcount);
     160  		tprint_indirect_end();
     161  	}
     162  
     163  	return RVAL_IOCTL_DECODED;
     164  }
     165  static int
     166  var_leaf_ioctl_HDIO_GET_NICE(struct tcb *tcp, unsigned int code, kernel_ulong_t arg)
     167  {
     168  	if (entering(tcp)) {
     169  		tprint_arg_next();
     170  		return 0;
     171  	}
     172  	/* arg: arg (kernel_ulong_t *) */
     173  	kernel_ulong_t tmpvar_arg;
     174  	if (!umove_or_printaddr(tcp, arg, &tmpvar_arg)) {
     175  		tprint_indirect_begin();
     176  		printflags64(hdio_ide_nice, zero_extend_signed_to_ull(tmpvar_arg), "IDE_NICE_???");
     177  		tprint_indirect_end();
     178  	}
     179  
     180  	return RVAL_IOCTL_DECODED;
     181  }
     182  static int
     183  var_leaf_ioctl_HDIO_GET_NOWERR(struct tcb *tcp, unsigned int code, kernel_ulong_t arg)
     184  {
     185  	if (entering(tcp)) {
     186  		tprint_arg_next();
     187  		return 0;
     188  	}
     189  	/* arg: arg (kernel_ulong_t *) */
     190  	kernel_ulong_t tmpvar_arg;
     191  	if (!umove_or_printaddr(tcp, arg, &tmpvar_arg)) {
     192  		tprint_indirect_begin();
     193  		PRINT_VAL_U((kernel_ulong_t) tmpvar_arg);
     194  		tprint_indirect_end();
     195  	}
     196  
     197  	return RVAL_IOCTL_DECODED;
     198  }
     199  static int
     200  var_leaf_ioctl_HDIO_GET_UNMASKINTR(struct tcb *tcp, unsigned int code, kernel_ulong_t arg)
     201  {
     202  	if (entering(tcp)) {
     203  		tprint_arg_next();
     204  		return 0;
     205  	}
     206  	/* arg: unmaskintr (kernel_ulong_t *) */
     207  	kernel_ulong_t tmpvar_unmaskintr;
     208  	if (!umove_or_printaddr(tcp, arg, &tmpvar_unmaskintr)) {
     209  		tprint_indirect_begin();
     210  		PRINT_VAL_U((kernel_ulong_t) tmpvar_unmaskintr);
     211  		tprint_indirect_end();
     212  	}
     213  
     214  	return RVAL_IOCTL_DECODED;
     215  }
     216  static int
     217  var_leaf_ioctl_HDIO_GET_WCACHE(struct tcb *tcp, unsigned int code, kernel_ulong_t arg)
     218  {
     219  	if (entering(tcp)) {
     220  		tprint_arg_next();
     221  		return 0;
     222  	}
     223  	/* arg: arg (kernel_ulong_t *) */
     224  	kernel_ulong_t tmpvar_arg;
     225  	if (!umove_or_printaddr(tcp, arg, &tmpvar_arg)) {
     226  		tprint_indirect_begin();
     227  		PRINT_VAL_U((kernel_ulong_t) tmpvar_arg);
     228  		tprint_indirect_end();
     229  	}
     230  
     231  	return RVAL_IOCTL_DECODED;
     232  }
     233  static int
     234  var_leaf_ioctl_HDIO_OBSOLETE_IDENTITY(struct tcb *tcp, unsigned int code, kernel_ulong_t arg)
     235  {
     236  	if (entering(tcp)) {
     237  		tprint_arg_next();
     238  		return 0;
     239  	}
     240  	/* arg: identity (stringnoz *) */
     241  	/* using decoder from defs/common.def:13:1 */
     242  
     243  	if (entering(tcp)) {
     244  		printstrn(tcp, (arg), (142));
     245  	} else if (syserror(tcp)) {
     246  		printaddr((arg));
     247  	} else {
     248  		printstrn(tcp, (arg), (142));
     249  	}
     250  
     251  	return RVAL_IOCTL_DECODED;
     252  }
     253  static int
     254  var_leaf_ioctl_HDIO_SCAN_HWIF(struct tcb *tcp, unsigned int code, kernel_ulong_t arg)
     255  {
     256  	tprint_arg_next();
     257  	/* arg: arg (array *) */
     258  	/* using decoder from defs/common.def:44:1 */
     259  
     260  	{
     261  		uint32_t int_buffer;
     262  		print_array(tcp, (arg), (3), &int_buffer, sizeof(int_buffer),
     263  			    tfetch_mem, print_xint_array_member, 0);
     264  	}
     265  
     266  	return RVAL_IOCTL_DECODED;
     267  }
     268  static int
     269  var_leaf_ioctl_HDIO_SET_32BIT(struct tcb *tcp, unsigned int code, kernel_ulong_t arg)
     270  {
     271  	tprint_arg_next();
     272  	/* arg: arg (kernel_ulong_t) */
     273  	PRINT_VAL_U((kernel_ulong_t) arg);
     274  
     275  	return RVAL_IOCTL_DECODED;
     276  }
     277  static int
     278  var_leaf_ioctl_HDIO_SET_ACOUSTIC(struct tcb *tcp, unsigned int code, kernel_ulong_t arg)
     279  {
     280  	tprint_arg_next();
     281  	/* arg: arg (kernel_ulong_t) */
     282  	PRINT_VAL_U((kernel_ulong_t) arg);
     283  
     284  	return RVAL_IOCTL_DECODED;
     285  }
     286  static int
     287  var_leaf_ioctl_HDIO_SET_ADDRESS(struct tcb *tcp, unsigned int code, kernel_ulong_t arg)
     288  {
     289  	tprint_arg_next();
     290  	/* arg: arg (kernel_ulong_t) */
     291  	PRINT_VAL_U((kernel_ulong_t) arg);
     292  
     293  	return RVAL_IOCTL_DECODED;
     294  }
     295  static int
     296  var_leaf_ioctl_HDIO_SET_BUSSTATE(struct tcb *tcp, unsigned int code, kernel_ulong_t arg)
     297  {
     298  	tprint_arg_next();
     299  	/* arg: arg (kernel_ulong_t) */
     300  	printxval64(hdio_busstates, zero_extend_signed_to_ull(arg), "BUSSTATE_???");
     301  
     302  	return RVAL_IOCTL_DECODED;
     303  }
     304  static int
     305  var_leaf_ioctl_HDIO_SET_DMA(struct tcb *tcp, unsigned int code, kernel_ulong_t arg)
     306  {
     307  	tprint_arg_next();
     308  	/* arg: arg (kernel_ulong_t) */
     309  	PRINT_VAL_U((kernel_ulong_t) arg);
     310  
     311  	return RVAL_IOCTL_DECODED;
     312  }
     313  static int
     314  var_leaf_ioctl_HDIO_SET_KEEPSETTINGS(struct tcb *tcp, unsigned int code, kernel_ulong_t arg)
     315  {
     316  	tprint_arg_next();
     317  	/* arg: keep_settings (kernel_ulong_t) */
     318  	PRINT_VAL_U((kernel_ulong_t) arg);
     319  
     320  	return RVAL_IOCTL_DECODED;
     321  }
     322  static int
     323  var_leaf_ioctl_HDIO_SET_MULTCOUNT(struct tcb *tcp, unsigned int code, kernel_ulong_t arg)
     324  {
     325  	tprint_arg_next();
     326  	/* arg: multcount (kernel_ulong_t) */
     327  	PRINT_VAL_U((kernel_ulong_t) arg);
     328  
     329  	return RVAL_IOCTL_DECODED;
     330  }
     331  static int
     332  var_leaf_ioctl_HDIO_SET_NICE(struct tcb *tcp, unsigned int code, kernel_ulong_t arg)
     333  {
     334  	tprint_arg_next();
     335  	/* arg: arg (kernel_ulong_t) */
     336  	printflags64(hdio_ide_nice, zero_extend_signed_to_ull(arg), "IDE_NICE_???");
     337  
     338  	return RVAL_IOCTL_DECODED;
     339  }
     340  static int
     341  var_leaf_ioctl_HDIO_SET_NOWERR(struct tcb *tcp, unsigned int code, kernel_ulong_t arg)
     342  {
     343  	tprint_arg_next();
     344  	/* arg: arg (kernel_ulong_t) */
     345  	PRINT_VAL_U((kernel_ulong_t) arg);
     346  
     347  	return RVAL_IOCTL_DECODED;
     348  }
     349  static int
     350  var_leaf_ioctl_HDIO_SET_PIO_MODE(struct tcb *tcp, unsigned int code, kernel_ulong_t arg)
     351  {
     352  	tprint_arg_next();
     353  	/* arg: arg (kernel_ulong_t) */
     354  	PRINT_VAL_U((kernel_ulong_t) arg);
     355  
     356  	return RVAL_IOCTL_DECODED;
     357  }
     358  static int
     359  var_leaf_ioctl_HDIO_SET_UNMASKINTR(struct tcb *tcp, unsigned int code, kernel_ulong_t arg)
     360  {
     361  	tprint_arg_next();
     362  	/* arg: unmaskintr (kernel_ulong_t) */
     363  	PRINT_VAL_U((kernel_ulong_t) arg);
     364  
     365  	return RVAL_IOCTL_DECODED;
     366  }
     367  static int
     368  var_leaf_ioctl_HDIO_SET_WCACHE(struct tcb *tcp, unsigned int code, kernel_ulong_t arg)
     369  {
     370  	tprint_arg_next();
     371  	/* arg: arg (kernel_ulong_t) */
     372  	PRINT_VAL_U((kernel_ulong_t) arg);
     373  
     374  	return RVAL_IOCTL_DECODED;
     375  }
     376  static int
     377  var_leaf_ioctl_HDIO_UNREGISTER_HWIF(struct tcb *tcp, unsigned int code, kernel_ulong_t arg)
     378  {
     379  	tprint_arg_next();
     380  	/* arg: arg (kernel_ulong_t) */
     381  	PRINT_VAL_U((kernel_ulong_t) arg);
     382  
     383  	return RVAL_IOCTL_DECODED;
     384  }
     385  static int
     386  var_leaf_ioctl_HDIO(struct tcb *tcp, unsigned int code, kernel_ulong_t arg)
     387  {
     388  	return RVAL_DECODED;
     389  }
     390  int
     391  var_ioctl_HDIO(struct tcb *tcp, unsigned int code, kernel_ulong_t arg)
     392  {
     393  	if ((code) == (HDIO_DRIVE_RESET)) {
     394  		return var_leaf_ioctl_HDIO_DRIVE_RESET(tcp, code, arg);
     395  	} else if ((code) == (HDIO_GET_32BIT)) {
     396  		return var_leaf_ioctl_HDIO_GET_32BIT(tcp, code, arg);
     397  	} else if ((code) == (HDIO_GET_ACOUSTIC)) {
     398  		return var_leaf_ioctl_HDIO_GET_ACOUSTIC(tcp, code, arg);
     399  	} else if ((code) == (HDIO_GET_ADDRESS)) {
     400  		return var_leaf_ioctl_HDIO_GET_ADDRESS(tcp, code, arg);
     401  	} else if ((code) == (HDIO_GET_BUSSTATE)) {
     402  		return var_leaf_ioctl_HDIO_GET_BUSSTATE(tcp, code, arg);
     403  	} else if ((code) == (HDIO_GET_DMA)) {
     404  		return var_leaf_ioctl_HDIO_GET_DMA(tcp, code, arg);
     405  	} else if ((code) == (HDIO_GET_IDENTITY)) {
     406  		return var_leaf_ioctl_HDIO_GET_IDENTITY(tcp, code, arg);
     407  	} else if ((code) == (HDIO_GET_KEEPSETTINGS)) {
     408  		return var_leaf_ioctl_HDIO_GET_KEEPSETTINGS(tcp, code, arg);
     409  	} else if ((code) == (HDIO_GET_MULTCOUNT)) {
     410  		return var_leaf_ioctl_HDIO_GET_MULTCOUNT(tcp, code, arg);
     411  	} else if ((code) == (HDIO_GET_NICE)) {
     412  		return var_leaf_ioctl_HDIO_GET_NICE(tcp, code, arg);
     413  	} else if ((code) == (HDIO_GET_NOWERR)) {
     414  		return var_leaf_ioctl_HDIO_GET_NOWERR(tcp, code, arg);
     415  	} else if ((code) == (HDIO_GET_UNMASKINTR)) {
     416  		return var_leaf_ioctl_HDIO_GET_UNMASKINTR(tcp, code, arg);
     417  	} else if ((code) == (HDIO_GET_WCACHE)) {
     418  		return var_leaf_ioctl_HDIO_GET_WCACHE(tcp, code, arg);
     419  	} else if ((code) == (HDIO_OBSOLETE_IDENTITY)) {
     420  		return var_leaf_ioctl_HDIO_OBSOLETE_IDENTITY(tcp, code, arg);
     421  	} else if ((code) == (HDIO_SCAN_HWIF)) {
     422  		return var_leaf_ioctl_HDIO_SCAN_HWIF(tcp, code, arg);
     423  	} else if ((code) == (HDIO_SET_32BIT)) {
     424  		return var_leaf_ioctl_HDIO_SET_32BIT(tcp, code, arg);
     425  	} else if ((code) == (HDIO_SET_ACOUSTIC)) {
     426  		return var_leaf_ioctl_HDIO_SET_ACOUSTIC(tcp, code, arg);
     427  	} else if ((code) == (HDIO_SET_ADDRESS)) {
     428  		return var_leaf_ioctl_HDIO_SET_ADDRESS(tcp, code, arg);
     429  	} else if ((code) == (HDIO_SET_BUSSTATE)) {
     430  		return var_leaf_ioctl_HDIO_SET_BUSSTATE(tcp, code, arg);
     431  	} else if ((code) == (HDIO_SET_DMA)) {
     432  		return var_leaf_ioctl_HDIO_SET_DMA(tcp, code, arg);
     433  	} else if ((code) == (HDIO_SET_KEEPSETTINGS)) {
     434  		return var_leaf_ioctl_HDIO_SET_KEEPSETTINGS(tcp, code, arg);
     435  	} else if ((code) == (HDIO_SET_MULTCOUNT)) {
     436  		return var_leaf_ioctl_HDIO_SET_MULTCOUNT(tcp, code, arg);
     437  	} else if ((code) == (HDIO_SET_NICE)) {
     438  		return var_leaf_ioctl_HDIO_SET_NICE(tcp, code, arg);
     439  	} else if ((code) == (HDIO_SET_NOWERR)) {
     440  		return var_leaf_ioctl_HDIO_SET_NOWERR(tcp, code, arg);
     441  	} else if ((code) == (HDIO_SET_PIO_MODE)) {
     442  		return var_leaf_ioctl_HDIO_SET_PIO_MODE(tcp, code, arg);
     443  	} else if ((code) == (HDIO_SET_UNMASKINTR)) {
     444  		return var_leaf_ioctl_HDIO_SET_UNMASKINTR(tcp, code, arg);
     445  	} else if ((code) == (HDIO_SET_WCACHE)) {
     446  		return var_leaf_ioctl_HDIO_SET_WCACHE(tcp, code, arg);
     447  	} else if ((code) == (HDIO_UNREGISTER_HWIF)) {
     448  		return var_leaf_ioctl_HDIO_UNREGISTER_HWIF(tcp, code, arg);
     449  	} else {
     450  		return var_leaf_ioctl_HDIO(tcp, code, arg);
     451  	}
     452  }