summaryrefslogtreecommitdiff
path: root/src/kd_ioctl.c
Commit message (Collapse)AuthorAgeFilesLines
* src: rename tprintf to tprintf_stringFabrice Le Fessant2022-12-201-2/+2
| | | | Co-authored-by: Dmitry V. Levin <ldv@strace.io>
* src: introduce tprint_flags_begin and tprint_flags_end helpersFabrice Le Fessant2022-12-171-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/print_fields.h (tprint_flags_begin, tprint_flags_end): New functions. (PRINT_FIELD_FLAGS_VERBOSE): Use them. * src/bpf_filter.c (print_bpf_filter_code): Likewise. * src/bpf_seccomp_filter.c (print_seccomp_filter_k): Likewise. * src/capability.c (print_cap_bits): Likewise. * src/clone.c (SYS_FUNC(clone), SYS_FUNC(clone3)): Likewise. * src/fanotify.c (SYS_FUNC(fanotify_init)): Likewise. * src/futex.c (do_futex): Likewise. * src/ioctl.c (ioctl_print_code): Likewise. * src/ipc.c (SYS_FUNC(ipc)): Likewise. * src/ipc_defs.h (PRINTCTL): Likewise. * src/ipc_msg.c (SYS_FUNC(msgget)): Likewise. * src/ipc_sem.c (SYS_FUNC(semget)): Likewise. * src/ipc_shm.c (SYS_FUNC(shmget)): Likewise. * src/kd_ioctl.c (kd_mk_tone): Likewise. * src/kexec.c (SYS_FUNC(kexec_load)): Likewise. * src/mem.c (print_mmap_flags): Likewise. * src/memfd_create.c (SYS_FUNC(memfd_create)): Likewise. * src/mount.c (SYS_FUNC(mount)): Likewise. * src/net.c (tprint_sock_type): Likewise. * src/netlink.c (decode_nlmsg_type_netfilter, decode_nlmsg_flags): Likewise. * src/nlattr.c (print_nlattr, decode_nla_flags): Likewise. * src/numa.c (print_mode): Likewise. * src/perf.c (print_perf_event_attr): Likewise. * src/personality.c (SYS_FUNC(personality)): Likewise. * src/sched.c (SYS_FUNC(sched_getattr)): Likewise. * src/scsi.c (scsi_ioctl): Likewise. * src/statx.c (SYS_FUNC(statx)): Likewise. * src/swapon.c (SYS_FUNC(swapon)): Likewise. * src/tee.c (tee_print_param_fn): Likewise. * src/term.c (decode_oflag, decode_cflag): Likewise. * src/v4l2.c (print_v4l2_buffer_flags, print_v4l2_cid): Likewise. * src/wait.c (printstatus): Likewise. Co-authored-by: Dmitry V. Levin <ldv@strace.io>
* src: introduce tprint_shift_begin and tprint_shift_end helpersFabrice Le Fessant2022-12-161-0/+2
| | | | | | | | | | | | | | | | | | * src/print_fields.h (tprint_shift_begin, tprint_shift_end): New functions. * src/futex.c (do_futex): Use them. * src/ipc.c (SYS_FUNC(ipc)): Likewise. * src/ipc_shm.c (SYS_FUNC(shmget)): Likewise. * src/kd_ioctl.c (kd_mk_tone): Likewise. * src/mem.c (print_mmap_flags): Likewise. * src/memfd_create.c (SYS_FUNC(memfd_create)): Likewise. * src/netlink.c (decode_nlmsg_type_netfilter): Likewise. * src/perf.c (print_perf_event_attr): Likewise. * src/term.c (decode_cflag): Likewise. * src/util.c (print_abnormal_hi): Likewise. * src/wait.c (printstatus): Likewise. Co-authored-by: Dmitry V. Levin <ldv@strace.io>
* src: rename tprint_or to tprint_flags_orFabrice Le Fessant2022-12-141-1/+1
| | | | Co-authored-by: Dmitry V. Levin <ldv@strace.io>
* Update copyright headersDmitry V. Levin2022-12-121-0/+1
| | | | | Headers updated automatically using maint/update_copyright_years.sh script.
* src: use tprint_shift() helper from print_fields.hDmitry V. Levin2022-11-011-4/+4
|
* src: use tprint_or() helper from print_fields.hDmitry V. Levin2022-10-311-3/+6
|
* ioctl: implement KD* ioctl decodingEugene Syromyatnikov2021-11-071-0/+836
* configure.ac (AC_CHECK_TYPES): Check for struct kbdiacruc and struct kbdiacrsuc. * src/kd_ioctl.c: New file. * src/kd_mpers_ioctl.c: Likewise. * src/Makefile.am (strace_SOURCES): Add them. * src/defs.h (DECL_IOCTL(kd)): New declaration. * src/ioctl.c (ioctl_decode) <case 'K'>: Call kd_ioctl. * src/xlat/kd_default_led_flags.in: New file. * src/xlat/kd_font_flags.in: Likewise. * src/xlat/kd_font_ops.in: Likewise. * src/xlat/kd_ioctl_cmds.in: Likewise. * src/xlat/kd_kbd_modes.in: Likewise. * src/xlat/kd_kbd_types.in: Likewise. * src/xlat/kd_key_ascii_keys.in: Likewise. * src/xlat/kd_key_brl_keys.in: Likewise. * src/xlat/kd_key_cur_keys.in: Likewise. * src/xlat/kd_key_dead_keys.in: Likewise. * src/xlat/kd_key_fn_key_vals.in: Likewise. * src/xlat/kd_key_fn_keys.in: Likewise. * src/xlat/kd_key_lock_keys.in: Likewise. * src/xlat/kd_key_pad_keys.in: Likewise. * src/xlat/kd_key_shift_keys.in: Likewise. * src/xlat/kd_key_slock_keys.in: Likewise. * src/xlat/kd_key_spec_keys.in: Likewise. * src/xlat/kd_key_tables.in: Likewise. * src/xlat/kd_key_types.in: Likewise. * src/xlat/kd_keymap_flags.in: Likewise. * src/xlat/kd_led_flags.in: Likewise. * src/xlat/kd_meta_vals.in: Likewise. * src/xlat/kd_modes.in: Likewise. * tests/.gitignore: Add ioctl_kd, ioctl_kd-Xabbrev, ioctl_kd-Xraw, ioctl_kd-Xverbose, ioctl_kd-success, ioctl_kd-success-Xabbrev, ioctl_kd-success-Xraw, ioctl_kd-success-Xverbose, ioctl_kd-success-s1024, ioctl_kd-success-s1024-Xabbrev, ioctl_kd-success-s1024-Xraw, and ioctl_kd-success-s1024-Xverbose. * tests/pure_executables.list: Add ioctl_kd, ioctl_kd-Xabbrev, ioctl_kd-Xraw, and ioctl_kd-Xverbose. * tests/Makefile.am: Add ioctl_kd-success, ioctl_kd-success-Xabbrev, ioctl_kd-success-Xraw, ioctl_kd-success-Xverbose, ioctl_kd-success-s1024, ioctl_kd-success-s1024-Xabbrev, ioctl_kd-success-s1024-Xraw, and ioctl_kd-success-s1024-Xverbose. * tests/gen_tests.in (ioctl_kd, ioctl_kd-Xabbrev, ioctl_kd-Xraw, ioctl_kd-Xverbose, ioctl_kd-success, ioctl_kd-success-Xabbrev, ioctl_kd-success-Xraw, ioctl_kd-success-Xverbose, ioctl_kd-success-s1024, ioctl_kd-success-s1024-Xabbrev, ioctl_kd-success-s1024-Xraw, ioctl_kd-success-s1024-Xverbose): New tests. * tests/ioctl_kd-Xabbrev.c: New file. * tests/ioctl_kd-Xraw.c: Likewise. * tests/ioctl_kd-Xverbose.c: Likewise. * tests/ioctl_kd-success-Xabbrev.c: Likewise. * tests/ioctl_kd-success-Xraw.c: Likewise. * tests/ioctl_kd-success-Xverbose.c: Likewise. * tests/ioctl_kd-success-s1024-Xabbrev.c: Likewise. * tests/ioctl_kd-success-s1024-Xraw.c: Likewise. * tests/ioctl_kd-success-s1024-Xverbose.c: Likewise. * tests/ioctl_kd-success-s1024.c: Likewise. * tests/ioctl_kd-success.c: Likewise. * tests/ioctl_kd.c: Likewise. * NEWS: Mention it.