diff --git a/src/bin/strace/Jamfile b/src/bin/strace/Jamfile index be11bdbabc..b4af61ed27 100644 --- a/src/bin/strace/Jamfile +++ b/src/bin/strace/Jamfile @@ -1,6 +1,8 @@ SubDir HAIKU_TOP src bin strace ; UseArchHeaders $(TARGET_ARCH) ; +UsePrivateHeaders device ; +UsePrivateHeaders drivers ; UsePrivateHeaders kernel ; UsePrivateHeaders shared ; UsePrivateHeaders net ; diff --git a/src/bin/strace/ioctl.cpp b/src/bin/strace/ioctl.cpp index 24041bc89d..895016abce 100644 --- a/src/bin/strace/ioctl.cpp +++ b/src/bin/strace/ioctl.cpp @@ -8,6 +8,9 @@ #include #include +#include +#include +#include #include "strace.h" #include "Syscall.h" @@ -26,6 +29,40 @@ struct ioctl_info { { name, #name, TypeHandlerFactory::Create() } static const ioctl_info kIOCtls[] = { + // + IOCTL_INFO_ENTRY_TYPE(B_GET_DEVICE_SIZE, size_t *), + IOCTL_INFO_ENTRY_TYPE(B_SET_DEVICE_SIZE, size_t *), + IOCTL_INFO_ENTRY(B_SET_NONBLOCKING_IO), + IOCTL_INFO_ENTRY(B_SET_BLOCKING_IO), + IOCTL_INFO_ENTRY(B_GET_READ_STATUS), + IOCTL_INFO_ENTRY(B_GET_WRITE_STATUS), + IOCTL_INFO_ENTRY(B_GET_GEOMETRY), + IOCTL_INFO_ENTRY(B_GET_DRIVER_FOR_DEVICE), + IOCTL_INFO_ENTRY(B_GET_PARTITION_INFO), + IOCTL_INFO_ENTRY(B_SET_PARTITION), + IOCTL_INFO_ENTRY(B_FORMAT_DEVICE), + IOCTL_INFO_ENTRY(B_EJECT_DEVICE), + IOCTL_INFO_ENTRY(B_GET_ICON), + IOCTL_INFO_ENTRY(B_GET_BIOS_GEOMETRY), + IOCTL_INFO_ENTRY(B_GET_MEDIA_STATUS), + IOCTL_INFO_ENTRY(B_LOAD_MEDIA), + IOCTL_INFO_ENTRY(B_GET_BIOS_DRIVE_ID), + IOCTL_INFO_ENTRY(B_SET_UNINTERRUPTABLE_IO), + IOCTL_INFO_ENTRY(B_SET_INTERRUPTABLE_IO), + IOCTL_INFO_ENTRY(B_FLUSH_DRIVE_CACHE), + IOCTL_INFO_ENTRY(B_GET_PATH_FOR_DEVICE), + IOCTL_INFO_ENTRY(B_GET_NEXT_OPEN_DEVICE), + IOCTL_INFO_ENTRY(B_ADD_FIXED_DRIVER), + IOCTL_INFO_ENTRY(B_REMOVE_FIXED_DRIVER), + + /* + IOCTL_INFO_ENTRY(B_AUDIO_DRIVER_BASE), // conflicts + IOCTL_INFO_ENTRY(B_MIDI_DRIVER_BASE), + IOCTL_INFO_ENTRY(B_JOYSTICK_DRIVER_BASE), + IOCTL_INFO_ENTRY(B_GRAPHIC_DRIVER_BASE), + IOCTL_INFO_ENTRY(B_DEVICE_OP_CODES_END), + */ + // IOCTL_INFO_ENTRY(SIOCADDRT), IOCTL_INFO_ENTRY(SIOCDELRT), @@ -85,6 +122,29 @@ static const ioctl_info kIOCtls[] = { IOCTL_INFO_ENTRY(TCVTIME), IOCTL_INFO_ENTRY(TIOCGPGRP), IOCTL_INFO_ENTRY(TIOCSPGRP), + // private termios + IOCTL_INFO_ENTRY(B_IOCTL_GET_TTY_INDEX), + IOCTL_INFO_ENTRY(B_IOCTL_GRANT_TTY), + + // scsi ioctls + IOCTL_INFO_ENTRY(B_SCSI_SCAN_FOR_DEVICES), + IOCTL_INFO_ENTRY(B_SCSI_ENABLE_PROFILING), + IOCTL_INFO_ENTRY(B_SCSI_INQUIRY), + IOCTL_INFO_ENTRY(B_SCSI_EJECT), + IOCTL_INFO_ENTRY(B_SCSI_PREVENT_ALLOW), + IOCTL_INFO_ENTRY(B_RAW_DEVICE_COMMAND), + IOCTL_INFO_ENTRY(B_SCSI_GET_TOC), + IOCTL_INFO_ENTRY(B_SCSI_PLAY_TRACK), + IOCTL_INFO_ENTRY(B_SCSI_PLAY_POSITION), + IOCTL_INFO_ENTRY(B_SCSI_STOP_AUDIO), + IOCTL_INFO_ENTRY(B_SCSI_PAUSE_AUDIO), + IOCTL_INFO_ENTRY(B_SCSI_RESUME_AUDIO), + IOCTL_INFO_ENTRY(B_SCSI_GET_POSITION), + IOCTL_INFO_ENTRY(B_SCSI_SET_VOLUME), + IOCTL_INFO_ENTRY(B_SCSI_GET_VOLUME), + IOCTL_INFO_ENTRY(B_SCSI_READ_CD), + IOCTL_INFO_ENTRY(B_SCSI_SCAN), + IOCTL_INFO_ENTRY(B_SCSI_DATA_MODE), { -1, NULL, NULL } };