diff options
author | Dmitry V. Levin <ldv@altlinux.org> | 2016-05-28 10:29:30 +0000 |
---|---|---|
committer | Dmitry V. Levin <ldv@altlinux.org> | 2016-05-28 10:29:30 +0000 |
commit | 5104db4e605996165dee8685459032d760d8ab02 (patch) | |
tree | 04f355d4272d0e063c60ce72673c573e38a81b5e /mtd.c | |
parent | fc0a38612f54b4bcc9e0742e52783b8d24145c5a (diff) | |
download | strace-5104db4e605996165dee8685459032d760d8ab02.tar.gz |
Move parser of UBI_* ioctls to a separate file
* mtd.c (ubi_ioctl): Move to ...
* ubi.c: ... new file.
* Makefile.am (strace_SOURCES): Add it.
Diffstat (limited to 'mtd.c')
-rw-r--r-- | mtd.c | 169 |
1 files changed, 0 insertions, 169 deletions
@@ -35,11 +35,6 @@ #else # include <mtd/mtd-abi.h> #endif -#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 7, 0) -# include "ubi-user.h" -#else -# include <mtd/ubi-user.h> -#endif #include "xlat/mtd_mode_options.h" #include "xlat/mtd_file_mode_options.h" @@ -331,167 +326,3 @@ mtd_ioctl(struct tcb *tcp, const unsigned int code, const long arg) return RVAL_DECODED | 1; } - -#include "xlat/ubi_volume_types.h" -#include "xlat/ubi_volume_props.h" - -int -ubi_ioctl(struct tcb *tcp, const unsigned int code, const long arg) -{ - if (!verbose(tcp)) - return RVAL_DECODED; - - switch (code) { - case UBI_IOCMKVOL: - if (entering(tcp)) { - struct ubi_mkvol_req mkvol; - - tprints(", "); - if (umove_or_printaddr(tcp, arg, &mkvol)) - break; - - tprintf("{vol_id=%" PRIi32 ", alignment=%" PRIi32 - ", bytes=%" PRIi64 ", vol_type=", mkvol.vol_id, - mkvol.alignment, (int64_t)mkvol.bytes); - printxval(ubi_volume_types, - (uint8_t) mkvol.vol_type, "UBI_???_VOLUME"); - tprintf(", name_len=%" PRIi16 ", name=", mkvol.name_len); - if (print_quoted_string(mkvol.name, - CLAMP(mkvol.name_len, 0, UBI_MAX_VOLUME_NAME), - QUOTE_0_TERMINATED) > 0) { - tprints("..."); - } - tprints("}"); - return 1; - } - if (!syserror(tcp)) { - tprints(" => "); - printnum_int(tcp, arg, "%d"); - } - break; - - case UBI_IOCRSVOL: { - struct ubi_rsvol_req rsvol; - - tprints(", "); - if (umove_or_printaddr(tcp, arg, &rsvol)) - break; - - tprintf("{vol_id=%" PRIi32 ", bytes=%" PRIi64 "}", - rsvol.vol_id, (int64_t)rsvol.bytes); - break; - } - - case UBI_IOCRNVOL: { - struct ubi_rnvol_req rnvol; - int c; - - tprints(", "); - if (umove_or_printaddr(tcp, arg, &rnvol)) - break; - - tprintf("{count=%" PRIi32 ", ents=[", rnvol.count); - for (c = 0; c < CLAMP(rnvol.count, 0, UBI_MAX_RNVOL); ++c) { - if (c) - tprints(", "); - tprintf("{vol_id=%" PRIi32 ", name_len=%" PRIi16 - ", name=", rnvol.ents[c].vol_id, - rnvol.ents[c].name_len); - if (print_quoted_string(rnvol.ents[c].name, - CLAMP(rnvol.ents[c].name_len, 0, UBI_MAX_VOLUME_NAME), - QUOTE_0_TERMINATED) > 0) { - tprints("..."); - } - tprints("}"); - } - tprints("]}"); - break; - } - - case UBI_IOCEBCH: { - struct ubi_leb_change_req leb; - - tprints(", "); - if (umove_or_printaddr(tcp, arg, &leb)) - break; - - tprintf("{lnum=%d, bytes=%d}", leb.lnum, leb.bytes); - break; - } - - case UBI_IOCATT: - if (entering(tcp)) { - struct ubi_attach_req attach; - - tprints(", "); - if (umove_or_printaddr(tcp, arg, &attach)) - break; - - tprintf("{ubi_num=%" PRIi32 ", mtd_num=%" PRIi32 - ", vid_hdr_offset=%" PRIi32 - ", max_beb_per1024=%" PRIi16 "}", - attach.ubi_num, attach.mtd_num, - attach.vid_hdr_offset, attach.max_beb_per1024); - return 1; - } - if (!syserror(tcp)) { - tprints(" => "); - printnum_int(tcp, arg, "%d"); - } - break; - - case UBI_IOCEBMAP: { - struct ubi_map_req map; - - tprints(", "); - if (umove_or_printaddr(tcp, arg, &map)) - break; - - tprintf("{lnum=%" PRIi32 ", dtype=%" PRIi8 "}", - map.lnum, map.dtype); - break; - } - - case UBI_IOCSETVOLPROP: { - struct ubi_set_vol_prop_req prop; - - tprints(", "); - if (umove_or_printaddr(tcp, arg, &prop)) - break; - - tprints("{property="); - printxval(ubi_volume_props, prop.property, "UBI_VOL_PROP_???"); - tprintf(", value=%#" PRIx64 "}", (uint64_t)prop.value); - break; - } - - - case UBI_IOCVOLUP: - tprints(", "); - printnum_int64(tcp, arg, "%" PRIi64); - break; - - case UBI_IOCDET: - case UBI_IOCEBER: - case UBI_IOCEBISMAP: - case UBI_IOCEBUNMAP: - case UBI_IOCRMVOL: - tprints(", "); - printnum_int(tcp, arg, "%d"); - break; - -#ifdef UBI_IOCVOLCRBLK - case UBI_IOCVOLCRBLK: -#endif -#ifdef UBI_IOCVOLRMBLK - case UBI_IOCVOLRMBLK: -#endif - /* no arguments */ - break; - - default: - return RVAL_DECODED; - } - - return RVAL_DECODED | 1; -} |